JPS6136264B2 - - Google Patents

Info

Publication number
JPS6136264B2
JPS6136264B2 JP53136217A JP13621778A JPS6136264B2 JP S6136264 B2 JPS6136264 B2 JP S6136264B2 JP 53136217 A JP53136217 A JP 53136217A JP 13621778 A JP13621778 A JP 13621778A JP S6136264 B2 JPS6136264 B2 JP S6136264B2
Authority
JP
Japan
Prior art keywords
segment
address
field
virtual address
subsegment
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
JP53136217A
Other languages
English (en)
Other versions
JPS5474636A (en
Inventor
Rosurando Kaaruson Ruisu
Chaaruzu Gasuman Denisu
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.)
ABERCOM AFRICA Ltd
Original Assignee
ABERCOM AFRICA Ltd
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 ABERCOM AFRICA Ltd filed Critical ABERCOM AFRICA Ltd
Publication of JPS5474636A publication Critical patent/JPS5474636A/ja
Publication of JPS6136264B2 publication Critical patent/JPS6136264B2/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/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 説明の概要 計算機システムにおける機構は、計算機システ
ムの蓄積のセグメントのバイトのような少なくと
も1部分の実アドレスにプログラム発生される仮
想アドレスを変換する。その変換機構は、実蓄積
アドレスを形成するために2つのモードの何れか
において作動できる。変換機構の動作の何れかの
モードにおいて、仮想アドレスの第1部分は、第
1フイールド部分および第2フイールド部分を
各々が有する複数のセグメント・デイスクリプタ
のうち予定された1つを選択するために利用され
る。選択されたセグメント・デイスクリプタの第
1フイールド部分は、蓄積セグメントの構成が隣
接ブロツクか又は蓄積の非隣接サブセグメントか
ら成るかどうかを示し、そして、それに対応し
て、選択されたセグメント・デイスクリプタの第
2フイールド部分および仮想アドレスの他の部分
から実アドレスが形成される第1モードにおいて
又は選択されたセグメント・デイスクリプタの第
2フイールド部分によつて選択されたサブセグメ
ント・デイスクリプタのフイールド部分および仮
想アドレスの他の部分から実アドレスが形成され
る第2モードにおいてその機構を動作させる。
本発明の背景 本発明の分野 本発明は、広くいえば計算機システムにおける
実(リアル)蓄積のアドレツシングに関係し、特
に、蓄積の隣接または非隣接セグメントの少なく
とも1部分の実蓄積アドレスを形成するための仮
想アドレス変換方法および機構に関する。
従来技術の説明 現代の計算機システムは、しばしば多数のユー
ザー、プログラムおよび指令プロセツサにアクセ
ス可能であり、このような場合に、それらは、そ
のシステムの蓄積またはメモリに蓄積される多重
プログラムに基づいて多重プロセツシング/多重
プログラミングの周囲状況において作動する。
個々のユーザーは、あたかも彼のプログラムがそ
れ自体によつて実行されるべきであるかのよう
に、彼のプログラムを書く。計算機システムは、
そのプログラムを支えるために必要なサービスを
与え、そして、それを動作中他のプログラムおよ
びシステムのハードウエア素子と共に調整的に働
かせる。このシステムにおける物理的ハードウエ
アは、プログラムが書かれるもつと強力なハード
ウエアマシーンをシミユレートするために実行プ
ログラムと結合される。多重プロセツシング周囲
状況のこの型において、各ユーザーに対して彼は
自身のゆだねられた計算機システムを有すると思
われる。
しかしながら、多重プロセツシング/多重プロ
グラミングの周囲状況において計算機システムの
動作は、蓄積アドレツシング問題をもたらす。1
つのプログラムにおける実(リアル)または物理
的蓄積アドレスは、他のプログラムにおける実蓄
積アドレスと衝突してはならない。それゆえ、普
通の物理的アドレツシング概念は、多重プロセツ
シング・システムにおいてみたすのは難かしい。
従つて、現代の多重プロセツシング計算機シス
テムは、仮想アドレツシングの或る型を通常利用
する。仮想アドレツシングでは、ユーザーは、あ
たかもプログラムがその自体の又は仮想マシーン
においてそれ自体によつて実行されるべきである
かのように、彼のプログラムを書く。数個のプロ
グラムは、同じ仮想アドレスを参照することがで
きるが、しかし、これらは、異なる実(リアル)
蓄積アドレスに対応する。従つて、マルチプロセ
ツシング計算機システムは、仮想アドレスを実ア
ドレスに変換もしくはトランスレートするための
或る手段を含まねばならない。更に、1つのプロ
グラムのみにおける仮想アドレスがその対応する
実アドレスを参照し、他のプログラムにおける同
じ仮想アドレスに対応する他の実アドレスを参照
しないように、変換が正しくなされることは確実
にするための手段をこのシステムは含まねばなら
ない。
仮想アドレツシングの任意の形を有する多重プ
ロセツシングの周囲状況における計算機システム
の動作は、蓄積スペース割当て及び利用の問題を
生じる。従来技術のシステムは、多種の蓄積割当
および利用計画を使用した。これらの計画は、3
つのカテゴリーすなわちセグメンテーシヨン、ペ
ーシングまたは両方の結合に主としてわかれる。
与えられた計算機システムに対する最適の計画を
案出する場合に、多くのフアクタの間での妥協ま
たは思い切りが頭に浮ばねばならない。
本発明の要約 本発明は、蓄積配置、蓄積アドレス伸長および
アクセス防護の有効なハードウエア機械化を容易
にする計算機システムにおける独特な仮想アドレ
スを実アドレスに変換する方法を提供する。この
能力は、データ通信機能を遂行する計算機システ
ム(それに限定されないが)に対して特に有用で
ある。何故ならば、通常のソフトウエア蓄積マネ
ージメント技術は、リアル・タイム周囲状況にお
いてシステム能力の消費において非能率になろう
とするからである。
本発明の変換方法は、各ユーザーの小さい仮想
アドレス・スペースが、セグメント基盤上の蓄積
の配置を通してシステムの蓄積の大きな実アドレ
ス・スペースを通して任意の個所にマツプされる
セグメンテーシヨンによつて最も良く特徴づけら
れ、それによつて予定の最大サイズを有する蓄積
の隣接セグメントへのマツピングを許すが、この
方法はまた、セグメント・ページング技術を使用
する。このセグメント・ページング技術は、小さ
い予定の最大サイズを有する蓄積の非隣接サブセ
グメント中に仮想アドレス・スペースのマツピン
グを許す。換言すると、遂行される変換方法は、
2つのモード、すなわち隣接セグメント・モード
および非隣接サブセグメント・モードにおいて動
作できる。このような遂行は、蓄積配置において
細かい微小体を与えるが、さらに必要時に高速蓄
積参照を許す。細かい微小体の利点が利用される
サブセグメント・モードにおけるアドレス形成と
或る付加的な総経費が関連するが、これは、フレ
キシブルな蓄積方法に対して支払うべき正当な価
格と思われる。
従つて、本発明は、計算機システムの蓄積のセ
グメントのバイトのような少なくとも1部の実ア
ドレスにプログラム発生仮想アドレスを変換する
ための計算機システムにおける方法および機構を
与える。アドレス変換は、実蓄積アドレスを形成
するために2つのモードの何れかによつて遂行さ
れ得る。動作の何れかのモードにおいて、仮想ア
ドレスの第1部分は、第1フイールド部分および
第2フイールド部分を各々が有する複数のセグメ
ント・デイスクリプタのうちの予定の1つを選択
するために利用される。選択されたセグメント・
デイスクリプタの第1のフイールド部分は、蓄積
セグメントの構成が、蓄積の隣接セグメントを形
成する隣接ブロツクから成るか、又は蓄積の非隣
接セグメントを形成する非隣接サブセグメントか
ら成るかを示し、それに対応して、アドレス変換
を第1モードまたは第2モードにて進行させる。
第1モードにおいて、実アドレスは、選択され
たセグメント・デイスクリプタの第2フイールド
部分および仮想アドレスの他の部分から形成され
る。特に、仮想アドレスの第2部分は、選択され
たセグメント・デイスクリプタの第2フイールド
部分に加えられ、その和を形成し、仮想アドレス
の第3部分はその和に連結されて、実アドレスを
形成する。
第2モードにおいて、実アドレスは、仮想アド
レスの他の部分および選択されたセグメント・デ
イスクリプタの第2フイールド部分によつて選択
されたサブセグメント・デイスクリプタのフイー
ルド部分から形成される。特に、仮想アドレスの
第2部分は、複数のサブセグメント・デイスクリ
プタのうちの予定の1つを選択するために、選択
されたセグメント・デイスクリプタの第2フイー
ルド部分に連結される。それから、仮想アドレス
の第3部分は、選択されたサブセグメント・デイ
スクリプタのフイールド部分に連結されて実アド
レスを形成する。
変換機構のハードウエア素子において、複数の
セグメント・デイスクリプタから成るテーブルを
含むための手段が与えられる。また、その機構
は、仮想アドレスを実アドレス蓄積に変換するた
めにその機構が進むべき動作の2つのモードのう
ちの1つを指定するために、選択されたセグメン
ト・デイスクリプタの第1フイールド部分に応答
する制御手段を含む。サブセグメント・デイスク
リプタは、そのシステムの蓄積に蓄積されるテー
ブルに含まれる。それゆえ、その機構が第2もし
くわサブセグメントモードにおいて動作している
時、サブセグメント・デイスクリプタの1つを選
択し且つ取つて来るために特別のサイクルをつく
ることが必要である。
前述のように、セグメント・デイスクリプタの
第1および第2フイールド部分のほかに、デイス
クリプタはまた他のフイールド部分を含む。この
他のフイールド部分は、どんな特定の機能アクセ
スがセグメントに対してなされ得るか及びセグメ
ントの長さはいくらであるかについて、セグメン
トが存在するかどうかを指定する。サブセグメン
ト・デイスクリプタはまた、サブセグメントが存
在するかどうかを指定するための他のフイールド
を含む。
本発明の詳しい説明 序 論 本発明は、よく知られた計算機回路および装置
の新規な構成的結合および動作の方法に主として
存在し、その特別の詳細な構成に存在しないの
で、これらよく知られた回路および装置の構成、
制御および配置は、本発明に適切な特定の詳細の
みを示す容易に理解可能なブロツク表示および略
線図の使用によつて図面に例示される。これは、
こゝの説明が専門家に容易にわかる構成の詳細に
よつて説明をかえつて不鮮明にしないためであ
る。また、これらのシステムの種々の部分は、適
当に統合され、本発明に適切なそれらの部分を強
調するために簡略にされる。
次の本発明の実施例の説明において、最初に、
仮想アドレス、セグメント・デイスクリプタおよ
びサブセグメント・デイスクリプタの好ましい構
成は、第1図を参照して説明される。その後に続
いて、仮想アドレスから実アドレスへの変換機構
およびその動作ステツプは、第1図ないし第5図
を参照して詳細に説明される。しかしながら、仮
想アドレスと、実アドレスの形成において使用さ
れるセグメントおよびサブセグメント・デイスク
リプタの説明に続く前に、本発明の簡単な全面的
な観察をまず行なうことは価値がある。
アドレス変換の概説 本発明の仮想アドレスから実アドレスへの変換
機構は、一般目的計算機システムのプロセツサ・
ハードウエアの1部であるのが好ましい。それ
は、局部(ローカル)蓄積に蓄積されたプログラ
ムにおける多重プロセツシング周囲状況における
プロセツサの動作を便利にする。その機構は、プ
ログラム・ソフトウエアに対して既知の仮想アド
レスを、蓄積ハードウエアに対して既知の実アド
レスに変換する。変換機構それ自体は、プログラ
ム・ソフトウエアに対して目に見えない。
実施例において、17ビツト仮想アドレスから24
ビツト実蓄積アドレスを導出する場合に、変換機
構は、ユーザーの128K(131072)バイト仮想ア
ドレス・スペースを計算機システムの蓄積の16M
(16772216)バイト物理的または実アドレス・ス
ペースにマツピングできる。その機構によつて使
用されるマツピング技術は、ユーザーに対して隣
接する仮想アドレス・スペースの128Kバイト
が、16Mバイト実蓄積の任意の所で4K(4096)
バイトの32個の隣接および非隣接セグメントの結
合された総計から実際に構成され得る点において
独特である。蓄積のセグメントは、128バイトの
インクリメントにおいてデータの4Kバイトを含
む。したがつて、隣接セグメントは、各々が128
バイトの32個の隣接ブロツクから構成され得る
が、非隣接セグメントは、各々が128バイトの32
個の非隣接サブセグメントから構成されうる。そ
れゆえ、隣接および非隣接セグメントの各々は、
同じ微小体を有する。1つの微小体は、隣接蓄積
の128バイトである。結果として、ユーザープロ
グラムによつてアクセス可能な仮想アドレス・ス
ペースは、128バイトの最小微小体を有する実蓄
積を通してから128Kバイトから成る。更に、仮
想スペースは、隣接セグメント(高速アクセス
4Kバイト微小体)および非隣接セグメント(低
速アクセス、128バイト微小体)の任意の結合か
ら構成されうる。
データの隣接セグメントの実蓄積アドレスは、
高速アクセスのために変換機構のハードウエア・
レジスタに存在する32個のセグメント・デイスク
リプタのテーブルに含まれるセグメント・デイス
クリプタから直接発生される。データの非隣接セ
グメントの実蓄積アドレスは、蓄積にある32個の
サブセグメント・デイスクリプタのテーブルから
選択され且つセグメント・デイスクリプタによつ
て指定されるサブセグメント・デイスクリプタ、
すなわちセグメント・デイスクリプタから直接発
生される。
ユーザーの仮想アドレス・スペースと実蓄積ア
ドレス・スペースの間の通信リンクを与えるセグ
メントおよびサブセグメント・デイスクリプタ・
テーブルは、計算機システムにおける実行プログ
ラムによつて設定され、ユーザーの適用プログラ
ムによつて変形のためにアクセスできない。
仮想アドレス 第1図の流れ図において、仮想(バーチユア
ル)アドレスの好ましい型が示される。数個のプ
ログラム指令のうちの任意の1つから通常の方法
において形成される仮想アドレスは、セグメン
ト・フイールドSEG(ビツト0―4)、セグメン
ト・フイールドSUB(ビツト5―9)およびデ
イスプレースメント・フイールドDISPL(ビツト
10―16)から成る17ビツト・バイト・アドレスで
ある。説明的に、詳しい説明を通して、例えば、
16ビツト語または32ビツト語の最高位ビツトをビ
ツト0として表わし且つ最低位ビツトをそれぞれ
ビツト15またはビツト16として表わすビツト・ナ
ンバリング計画が使用されることが指摘されねば
ならない。
それゆえ、仮想アドレスの5つの高位ビツト
(セグメント・フイールドのビツト0―4であ
る)アドレス変換(トランスレーシヨン)方法に
おいて使用されるべきセグメント・デイスクリプ
タのテーブル・エントリ・アドレスを指定する。
仮想アドレスの7つの低位ビツト(デイスプレー
スメント・フイールドのビツト10―16である)
は、変化を受けることなしに直接に、実(リア
ル)アドレスの7つの低位ビツトを与える。仮想
アドレスを中間の5つのビツト5―9から成る特
定の使用は、変換(トランスレーシヨン)機構が
動作のセグメントまたはサブセグメント・モード
を通して実(リアル)アドレスを発生すべきかど
うかに依存する。これらのモードは、第2図およ
び第4図そして第3図および第5A―5C図にそ
れぞれ別々に例示されており、後に詳しく説明す
る。現在の目的のためには、動作のセグメント・
モードが指定されるならば、仮想アドレスの中間
の5つのビツトは、実アドレスを計算するのに使
用されることを指摘すれば十分である。他方、も
し動作のサブセグメント・モードが指定されるな
らば、中間の5つのビツトは、サブセグメント・
デイスクリプタのテーブル・エントリーアドレス
を形成する場合に使用される。
セグメント・デイスクリプタ 第1図において、セグメント・デイスクリプタ
(SD)の好ましい型が示される。セグメント・デ
イスクリプタは、アクセス・キーフイールドK
(ビツト0―7)、ベース・アドレス・フイールド
BA(ビツト8―24)および長さフイールドL
(ビツト27―31)から成る32ビツト語である。ビ
ツト25および26は、使用されない、そして2進0
に両方ともセツトされる。
Kフイールドのビツトは、数種の事を定める。
第1に、SPと表示されるビツト0は、セグメン
トが局部的な蓄積に存在するかどうかを定める。
もしビツト0が2進1にセツトされるならば、セ
グメントは現在、蓄積に存在する。ビツト0が2
進0にセツトされるならば、セグメントは存在せ
ず、この場合におけるセグメント参照(リフアレ
ンス)の開始は、中断(インターラプト)の発生
を生じる。次に、SSと表示されるKフイールド
のビツト1は、セグメント構成、すなわち、それ
が隣接か又は非隣接かどうかを指定する。もしビ
ツト1が2進1にセツトされるならば、セグメン
トは、各々が128バイトを含む蓄積の32個の隣接
ブロツクもしくは隣接蓄積の4K(4096)バイト
から成ると定められる。もしビツト1が2進0に
セツトされるならば、セグメントは、各々が128
バイトを含む蓄積の32個の非隣接セグメントもし
くわ非隣接蓄積モジユーロ128の4Kバイトから成
ると定められる。したがつて、セグメント・デイ
スクリプタのKフイールドにおけるSSビツト1
は、実(リアル)アドレスを発生する場合に変換
(トランスレーシヨン)機構によつて使用される
べき特定型式の技術(セグメントまたはサブセグ
メント・モード)を指定する。Kフイールドにお
ける残りのビツトのうちの或るものは、実行、読
取、書込等のような各種の機能に対して、セグメ
ントの中味が使用され得るかどうかを指定する。
しかしながら、これらのビツトは本発明の理解に
適切でないから、それらについてこれ以上説明す
ることは必要ない。
セグメント・デイスクリプタの基本アドレス・
フイールドを形成する次の17ビツト(8―24)
は、セグメント・モードまたはサブセグメント・
モードが実アドレス型式に対して使用されるべき
であることをKフイールドのSSビツト1が指定
したかどうかに依存して、2つの事のうちの1つ
の事を表わす。もしセグメント・モードが指定
(SSビツト=1)されるならば、BAフイールド
における17ビツトは、32個の隣接ブロツクから成
るセグメントが始まる局部(ローカル)蓄積にお
ける実アドレスを表わす。換言すると、BAフイ
ールドは、特定の隣接セグメントの32個の128バ
イト微小体の第1のものを指している。もしサブ
セグメント・モードが指定(SSビツト=0)さ
れるならば、BAフイールドにおける17ビツト
は、32個の非隣接サブセグメントから成るセグメ
ントを規定するサブセグメント・デイスクリプ
タ・テーブルのスタートの局部(ローカル)蓄積
における実アドレスを表わす。
最後に、Lフイールドにおける5ビツト(27―
31)もまた2つの事のうちの1つを表わす。変換
(トランスレーシヨン)のセグメント・モードに
おいて、それらは、セグメントの長さを指定する
2進数の5つの最高位ビツトを表わす。それらの
5つのビツトは、128バイトまたは1微小体(2
進級00000によつて表わされる)の最小セグメン
ト長さ及び4K(4096)バイトまたは32微小体
(2進数11111によつて表わされる)の最大長さを
与える。変換のサブセグメント・モードにおい
て、Lフイールドのこれらの5ビツトは、サブセ
グメント・デイスクリプタ・テーブルにおける最
終の確実なエントリの数を定める。
サブセグメント・デイスクリプタ 第1図において、サブセグメント・デイスクリ
プタ(SSD)の好ましい型が示されている。サブ
セグメント・デイスクリプタは、サブセグメント
表示フイールドP(ビツト0)およびベース・ア
ドレス・フイールドBA(ビツト8―24)によつ
て構成される32ビツト語である。ビツト1―7お
よび25―31は使用されないで、すべて2進0にセ
ツトされる。
Pフイールド・ビツト0(サブセグメント・デ
イスクリプタの第1ビツト)は、非隣接セグメン
トにおける特定セグメントが局部(ローカル)蓄
積に存在するかどうかを定めるために使用され
る。ビツト0が2進1にセツトされるならば、サ
ブセグメントは現在蓄積にある。ビツト0が2進
0にセツトされるならば、サブセグメントは、ど
んな理由であつても、アドレス計算において使用
され得ないので、この場合におけるサブセグメン
ト参照(リフアレンス)の開始は、中断(インタ
ーラプト)の発生を生じる。したがつて、Pフイ
ールドから成るこの第1ビツトは、非隣接セグメ
ントの長さを制御するために、前述のセグメン
ト・デイスクリプタにおけるLフイールドに対し
て、別の手段を与える。
サブセグメント・デイスクリプタのBAフイー
ルドの17ビツト(8―24)は、32個の非隣接サブ
セグメントから成るセグメントの個々のサブセグ
メントの局部(ローカル)蓄積における実(リア
ル)アドレスを表わす。換言すると、サブセグメ
ント・デイスクリプタは、128個のバイト境界
(バウンダリイ)における蓄積の何処かに位置さ
れうる32個の128バイト微小体のうちの特定の1
つを指している。
仮想アドレスから実アドレスへの変換 セグメント・モード 第2図および第4図を参照すると、動作のセグ
メント・モードにおいて、仮想アドレスから実ア
ドレスへの変換ステツプおよび機構がそれぞれ示
されている。セグメント・モードは、サブセグメ
ント・モードと共に第1図に示される。
第4図は、蓄積10、プロセツサ/蓄積インタ
ーフエース・フアイル12、およびフアイル・マ
ルチプレクサ14を示し、残りの部分は、プロセ
ツサ・ハードウエアの1部を形成するアドレス変
換機構16から成る。
プロセツサ/蓄積インターフエース・フアイル
12におけるメモリ・アドレス・レジスタ
(MAR)の中味(ビツト15―31)が、プログラム
された指令に応答して適当なプロセツサ制御ハー
ドウエア(図示せず)によつて選択される時、何
れかのモードにおけるアドレス変換動作が開始さ
れる。MARの中味は、前述の組成を有する17ビ
ツト仮想アドレス(VA)から成る。
選択されたVAのSEGフイールドから成る5つ
の最高位ビツト0―4は、複数のビツト線路18を
経て導かれ、一連のレジスタ20にマルチプレク
サ(MUX)19によつて供給される。一連のレ
ジスタ20は、32個のセグメント・デイスクリプ
タ(SD)エントリから成るセグメント・デイス
クリプタ・テーブルを含む。VAの最初の5ビツ
トを形成する(可能な32個からの)2進1および
0の与えられた組合わせ(コンビネーシヨン)
は、マルチプレクサ19をして第1図,第2図お
よび第4図に示されるテーブルにおけるSDエン
トリのうちの特定の1つを選択せしめる。
特定のSDの選択にあたり、変換(トランスレ
ーシヨン)動作が継続できるかどうかを決定する
ために、数種のチエツクが第1図に示す且つ第4
図に部分的に示すSDに対して遂行される。前述
のように、各々のSDは、KフイールドおよびL
フイールドを有する。Kフイールドは、セグメン
ト表示(SP)または常駐ビツト0およびセグメ
ント構成(SS)ビツト1を含む。SPビツト0は
回路22(第1図)に供給される。もしビツト0
か2進1に等しいならば、回路22は中断(イン
ターラプト)信号を発生する。この中断信号は、
セグメントが蓄積にないこと及び従つて変換動作
が継続できないことを示す。SSビツト1は制御
回路24(第1図および第4図)に供給される。
ビツト1が2進1に等しいならば、制御回路24
は、制御信号を発生する。制御信号は、アドレス
変換動作がセグメント・モードにおいて継続する
ことを定める。Lフイールドは、VA(ビツト5
―9)のSUBフイールドと共にコンパレータ回
路26(第1図)に供給されるSDのビツト27―
31を含み、そして、SUB>Lならば中断信号を
発生し、セグメントのレンジがクロスされたこ
と、したがつて変換動作が継続できないことを示
す。
SPビツト0が、セグメントが蓄積10にある
ことを示す2進0に等しいと仮定し、SSビツト
1が、変換がセグメント・モードにおいて進むこ
とを示す2進1に等しいと仮定し、VAのSUBフ
イールドがSDのLフイールドよりも大きくない
と仮定し、且つ簡単に前述したKフイールドの他
の特性チエツクが中断信号の発生を生じないと仮
定すると、セグメント・ベース・アドレス・フイ
ールド(BA)から成る選択されたSDのビツト8
―24は、それぞれビツト線路34および32の複数を
経て変換機構16のマルチプレクサ(MUX)3
0およびアダー回路28に同時に供給される。
簡単に前述したように、動作のセグメント・モ
ードにおいて、SDのBAフイールドにおける17ビ
ツトは、32個の隣接ブロツクから成る特定セグメ
ントが開始する局部(ローカル)蓄積10におけ
る実(リアル)アドレスを表わす。換言すると、
BAフイールドは、特定の隣接セグメントの32個
の128バイト微小体のうちの第1のものを指して
いる。
レジスタ20における32個のSDのうちの選択
された1つを取つて来るのと及びSDの選択され
た1つのセグメントBAのアダー回路28及びマ
ルチプレクサ30への供給と同時に、VAのSUB
フイールドから成るビツト5―9は、他の複数の
ビツト線路36及び38を経てそれぞれアダー回
路28およびマルチプレクサ30に供給される。
また、VAのDISPLフイールドから成る7つの最
下位ビツト10―16は、同時に更に他の複数のビツ
ト線路40を経てマルチプレクサ30に供給され
る。
VAのSUBフイールド(ビツト5―9)は、線
路36からアダー回路28に供給される時、選択
されたSDのセグメントBAフイールドのビツト8
―24に加算され、和はビツト線路42を経てマル
チプレクサ30に供給される。第4図において、
SD〔BA〕+VA59と表示されるその和は、選択
されたセグメントの32個の隣接ブロツクのうちの
特定の1ブロツクを開始する局部蓄積10にける
実(リアル)アドレスを表わす。換言すると、
VAのSUBフイールドは、セグメントBAフイール
ドに加算される場合に、セグメントBAによつて
識別される特定の隣接セグメントの特定の1つの
128バイト微小体を指す。
最後に、セグメントBAによつて識別される特
定の隣接セグメント(または4Kバイトのうちの
1つ)における特定バイトの実アドレスは、マル
チプレクサ30の動作によつて形成される。この
マルチプレクサ30は、セグメントBAとVAの
SUBフイールドの和にVAのDISPLフイールドの
ビツト10―16を取つけ又は連結させる。したがつ
て、VAのビツト10―16は、前記和のSD〔BA〕+
VA5-9によつて識別される特定の1つの128バイ
ト微小体内の特定バイトの蓄積10における実ア
ドレスを表わす。動作状態(SD〔SS〕1=1)の
セグメント・モードにある制御回路24は、
MUX30をして線路34および38を経てそれ
に供給されるビツト信号を無視せしめる。24ビツ
ト実バイト・アドレスは、MUX30からビツト
線路44に出力され、線路44中のドライバ回路
46を経て局部蓄積10に送られる。従つて、セ
グメント・モードにおける変換動作の完了によつ
て、局部蓄積10のハードウエアに知られる実ア
ドレスは、24ビツト・バイト・アドレスの型にお
いて発生される。この24ビツト・バイト・アドレ
スは、蓄積10におけるデータのリクエストされ
るバイトの物理的位置を指定する。そのように参
照されるデータは、処理動作を遂行するために通
常の方法においてプロセツサの他のエリアに蓄積
10から供給される。
サブセグメント・モード 第3図および第5A―5C図を参照すると、仮
想アドレスから実アドレスへの変換(トランスレ
ーシヨン)ステツプおよび機構がそれぞれ動作の
サブセグメント・モードにおいて示される。
サブセグメント・モードにおいて、レジスタ2
0における32個のセグメント・デイスクリプタの
特定の1つは、セグメント・モードについて説明
したのと同一の方法にて、与えられたVAの第1
の5ビツト0―4によつて選択され、取つて来ら
れる。しかしながら、この時、選択されるSDの
SSビツトは2進0である。この2進0は、制御
回路24に供給される時、制御信号を生じる。制
御信号は、アドレス変換動作がサブセグメント・
モードにて継続することを決定する。
32個のサブセグメント・デイスクリプタ
(SSD)を含むサブセグメント・デイスクリプ
タ・テーブルは、局部(ローカル)蓄積10にあ
るので、蓄積10におけるサブセグメント・デイ
スクリプタのうちの所望の1つの実アドレスは、
リクエストされるデータの蓄積における位置の実
アドレスが変換機構16によつて最終的に発生さ
れ得る前に、選択されたサブセグメント・デイス
クリプタを取つて来るために遂行される特別蓄積
サイクルおよび変換機構16によつてまず形成さ
れねばならない。
結果として、制御回路24の動作状態(SD
〔SS〕1=0)のサブセグメント・モードに応答し
て、マルチプレクサ30は、線路40および42
を経てそれに供給されるビツト信号を無視し、線
路38を経て受取られるVAのSUBフイールド
(ビツト5―9)を線路34を経て、選択された
セグメント・デイスクリプタのBAフイールドに
取つける。MUX30からの線路44上の出力
(VAのSUBフイールドの最下位ビツトに追従す
る2つの含まれた2進0を有する)は、蓄積10
に存在するサブセグメント・デイスクリプタ・テ
ーブルにおける特定のエントリの局部蓄積10の
24ビツト実アドレスを表わす。特に、17ビツト
BAフイールドは、蓄積10のサブセグメント・
デイスクリプタ・テーブルのスタートの実アドレ
スを表わすが、(2つの含まれた後続の2進0を
有する)BAに連結されるVAのビツト5―9は、
テーブル内の32個のサブセグメント・デイスクリ
プタの選択された1つの蓄積10における実アド
レスを表わす。換言すると、24ビツト実アドレス
は、局部蓄積10に存在する特定のサブセグメン
ト・デイスクリプタを指す。各サブセグメント・
デイスクリプタは32ビツト語であり且つ32個のサ
ブセグメント・デイスクリプタはテーブルを形成
するので、後者は蓄積の1微小体(128バイト)
に適合することを此処で指摘せねばならない。従
つて、テーブルにおける個々のエントリが、非隣
接蓄積位置において見出される可能性はない。
第5A図からわかるように、セグメント・デイ
スクリプタ・テーブル・エントリ実アドレスは、
ドライバ回路46によつて局部蓄積に送られ、そ
のアドレスに位置されるサブセグメント・デイス
クリプタは、蓄積10からブス48上をフアイ
ル・マルチプレクサ14を経てインターフエー
ス・フアイル12に送られ、そこからデータ移送
線路52上をレジスタ20に送られ、そこでそれ
はマルチプレクサ19によつて選択される(第5
B図参照)。
選択されたサブセグメント・デイスクリプタの
Pフイールド(ビツト0)は、回路50(第1
図)に供給される。もしビツト0が2進0に等し
いならば、回路50は中断(インターラプト)信
号を発生する。この中断信号は、非隣接セグメン
トの特定サブセグメントが、アドレス変換におい
て使用され得ないこと及びしたがつて、変換動作
は継続できないことを示す。ビツト0が2進1
(サブセグメントは蓄積に現在あることを示す)
であると仮定すれば、変換動作は、線路32およ
び34を経てそれぞれアダー28およびマルチプ
レクサ30にサブセグメント・ベース・アドレス
BA(SSDのビツト8―24)を供給することによ
つて、継続する。
簡単に説明したように、SSDのBAフイールド
の17ビツトは、32個の非隣接サブセグメント成る
セグメントの特定サブセグメントの局部蓄積10
における実アドレスを表わす。換言すると、BA
フイールドは、128バイト境界(バウンダリ)上
の蓄積の何処かに位置され得る32個の128バイト
微小体の特定の1つを指している。
特定の選択された1つのサブセグメント(また
は可能な128バイトのうちの1つ)における特定
のバイトの実アドレスは、マルチプレクサ30の
動作によつて形成される。マルチプレクサ30
は、線路40からVAのDISPLフイールドのビツ
ト10―16をサブセグメント・デイスクリプタの17
ビツトBAフイールドに連結する。したがつて、
VAのビツト10―16は、SSDのBAフイールドによ
つて識別される特定の1つの128バイト微小体内
の特定バイトの蓄積10における実アドレスを表
わす。動作状態のサブセグメント・モードにある
制御回路24は、MUX30をして線路38およ
び42上をそれに供給されるビツト信号を無視さ
せる。24ビツト実バイト・アドレスは、MUX3
0からビツト線路44に出力され、ドライバ回路
46を経て局部蓄積10に送られる。それゆえ、
サブセグメント・モードにおける変換動作の完了
によつて、局部蓄積10のハードウエアに知られ
る実アドレスは、24ビツト・バイト・アドレスの
型において発生される。その24ビツト・バイト・
アドレスは、蓄積10におけるデータのリクエス
トされるバイトの物理的位置を指定する。それか
ら、そのように参照されるデータは、処理動作を
遂行するために通常の方法にてプロセツサの他の
エリアに蓄積10から送られる。
【図面の簡単な説明】
第1図は、本発明の基礎をなす仮想アドレスか
ら実アドレスへの変換技術の流れ図であり、動作
のセグメント・モードおよびサブセグメント・モ
ードと、これらのそれぞれのモードの間遂行され
る各種の特性チエツクとを例示し、第2図は動作
のセグメント・モードにおける仮想アドレスから
実アドレスへの変換のステツプを示し、第3図は
動作のサブセグメント・モードにおける仮想アド
レスから実アドレスへの変換のステツプを示し、
第4図は変換機構によつて動作のセグメント・モ
ードにおいて遂行されるステツプの更に詳細なブ
ロツク図、第5A〜第5C図は変換機構によつて
動作のサブセグメント・モードにおいて遂行され
るステツプの更に詳細なブロツク図。 符号の説明、10…蓄積、12…プロセツサ蓄
積インターフエース・フアイル、14…フアイ
ル・マルチプレクサ、16…アドレス変換機構、
18…線路、19…マルチプレクサ、20…レジ
スタ、22…回路、24…制御回路、26…コン
パレータ回路、28…アダー、30…マルチプレ
クサ、32,34,36,38,40,42,4
4…線路、46…ドライバ回路、48,52…線
路、50…中断信号発生回路。

Claims (1)

  1. 【特許請求の範囲】 1 仮想アドレスを保持するレジスタ、 仮想アドレスの第1の位置に従つてセグメント
    デイスクリプタテーブルの入口をアドレス指定す
    るアドレス手段、 セグメントデイスクリプタテーブルの入口のデ
    ジツトの値に従つて選択的に、 a セグメントデイスクリプタテーブル入口に収
    納されたベースアドレスに仮想アドレスの第2
    部分を加えて実アドレスを得るか、または b セグメントデイスクリプタテーブル入口のア
    ドレス部分に応じてサブセグメントデイスクリ
    プタテーブルを選択し、かつ仮想アドレスの第
    2部分に応じてサブセグメントデイスクリプタ
    テーブルの入口をアドレス指定し、実アドレス
    を得る手段、 およびいずれの場合にもこのようにして得られ
    たデイスプレースメントを表す仮想アドレスの第
    3部分を連結する手段 を有することを特徴とする、デジタルコンピユ
    ータにおける仮想アドレスから実アドレスへの変
    換装置。 2 セグメントデイスクリプタテーブルのそれぞ
    れの入口と、サブセグメントデイスクリプタテー
    ブルのそれぞれの入口は、プレゼンスビツトのセ
    ツトされていない入口を指定した場合、割り込み
    を生じる手段が設けられている、特許請求の範囲
    第1項記載の装置。 3 それぞれのセグメントデイスクリプタテーブ
    ルのそれぞれの入口が、場合に応じてセグメント
    またはサブセグメントの長さを表す長さフイール
    ドを有し、かつ実アドレスの第2部分と長さフイ
    ールドの内容を比較して、第2部分が長さフイー
    ドの内容を越えた場合、割り込みを生じる比較手
    段が設けられている、特許請求の範囲第1または
    2項記載の装置。 4 実アドレスに応答する第1の記憶手段、仮想
    アドレスを記憶する第2の記憶手段、および仮想
    アドレスを実アドレスの形に変換する変換手段が
    設けられており、前記仮想アドレスが、第1,第
    2のおよび第3の部分を有するコンピユータシス
    テムにおいて、 複数のセグメントデイスクリプタから成るテー
    ブルを記憶する第1のテーブル記憶手段が設けら
    れており、それぞれのセグメントデイスクリプタ
    は、第1フイールド部分と第2フイールド部分を
    有し、 複数のサブセグメントデイスクリプタから成る
    テーブルを記憶する第2のテーブル記憶手段が設
    けられており、それぞれのサブセグメントデイス
    クリプタは、フイールド部分を有し、 前記第2記憶手段に記憶された仮想アドレスの
    第1部分の内容に従つて、前記第1のテーブル記
    憶手段に記憶されたテーブルから複数のセグメン
    トデイスクリプタのうち所定の1つを選択する選
    択手段が設けられており、 選ばれたセグメントデイスクリプタの第1フイ
    ールド部分の内容に従つて変換手段を制御し、第
    1または第2の動作モードで動作させ、仮想アド
    レスを実アドレスに変換する制御手段が設けられ
    ており、 制御手段に従つて仮想アドレスの前記第2部分
    を前記選ばれたセグメントデイスクリプタの前記
    第2フイールド部分に加算し、前記第1モードで
    動作するように前記変換手段を制御した際に和を
    形成する加算手段が設けられており、 制御手段に従つて仮想アドレスの前記第3部分
    を前記和に連結し、前記第1モードで動作するよ
    うに前記変換手段を制御した際に実アドレスを形
    成し、また制御手段に従つて仮想アドレスの前記
    第2部分を前記選ばれたセグメントデイスクリプ
    タの前記第2フイールド部分に連結し、前記第2
    モードで動作するように前記変換手段を制御した
    際に複数のサブセグメントデイスクリプタのうち
    所定の1つを選択する連結手段が設けられてお
    り、かつ それから仮想アドレスの前記第3部分を前記選
    ばれたサブセグメントデイスクリプタのフイール
    ド部分に連結し、前記第2の動作モードの際に実
    アドレスを形成する手段が設けられていることを
    特徴とする、仮想アドレスから実アドレスへの変
    換装置。 5 実アドレスは、第1モードで形成された場
    合、メモリのセグメントをなす複数の隣接ブロツ
    クのうち1つの部分を特定し、かつ第2モードで
    形成された場合、メモリのセグメントをなす複数
    の非隣接ブロツクのうち1つの部分を特定する、
    特許請求の範囲第4項記載の装置。 6 第1の記憶手段と第2のテーブル記憶手段
    が、それぞれコンピユータシステム内に単一記憶
    手段の部分を有する、特許請求の範囲第5項記載
    の装置。
JP13621778A 1977-11-04 1978-11-04 Method of and device for converting virtual address to real address Granted JPS5474636A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US84853577A 1977-11-04 1977-11-04

Publications (2)

Publication Number Publication Date
JPS5474636A JPS5474636A (en) 1979-06-14
JPS6136264B2 true JPS6136264B2 (ja) 1986-08-18

Family

ID=25303555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13621778A Granted JPS5474636A (en) 1977-11-04 1978-11-04 Method of and device for converting virtual address to real address

Country Status (6)

Country Link
JP (1) JPS5474636A (ja)
CA (1) CA1119313A (ja)
DE (1) DE2847737C2 (ja)
FR (1) FR2408176A1 (ja)
GB (1) GB2008821B (ja)
IT (1) IT1100062B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6017130B2 (ja) * 1980-06-06 1985-05-01 日本電気株式会社 アドレス制御装置
JPS5734251A (en) * 1980-08-07 1982-02-24 Toshiba Corp Address conversion and generating system
US4532586A (en) * 1981-05-22 1985-07-30 Data General Corporation Digital data processing system with tripartite description-based addressing multi-level microcode control, and multi-level stacks
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US4545016A (en) * 1983-01-07 1985-10-01 Tandy Corporation Memory management system
GB8405491D0 (en) * 1984-03-02 1984-04-04 Hemdal G Computers
JP2522248B2 (ja) * 1986-05-24 1996-08-07 株式会社日立製作所 記憶装置アクセス機構

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE756243A (fr) * 1969-09-17 1971-03-01 Burroughs Corp Procede et appareil pour effectuer et desaffecter de petits espaces d'une memoire a un programme de calculateur.
US3764996A (en) * 1971-12-23 1973-10-09 Ibm Storage control and address translation
FR122199A (ja) * 1973-12-17
US3938100A (en) * 1974-06-07 1976-02-10 Control Data Corporation Virtual addressing apparatus for addressing the memory of a computer utilizing associative addressing techniques
FR2315744A1 (fr) * 1975-06-27 1977-01-21 Telemecanique Electrique Dispositif auxiliaire d'adressage virtuel

Also Published As

Publication number Publication date
IT1100062B (it) 1985-09-28
IT7829424A0 (it) 1978-11-03
CA1119313A (en) 1982-03-02
GB2008821B (en) 1982-01-13
JPS5474636A (en) 1979-06-14
DE2847737A1 (de) 1979-05-17
FR2408176B1 (ja) 1982-06-25
DE2847737C2 (de) 1982-08-05
FR2408176A1 (fr) 1979-06-01
GB2008821A (en) 1979-06-06

Similar Documents

Publication Publication Date Title
US4285040A (en) Dual mode virtual-to-real address translation mechanism
US5247639A (en) Microprocessor having cache bypass signal terminal
US8799621B2 (en) Translation table control
JP2635058B2 (ja) アドレス変換方式
JP2833062B2 (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US6125430A (en) Virtual memory allocation in a virtual address space having an inaccessible gap
US4376297A (en) Virtual memory addressing device
US5043870A (en) Computer with automatic mapping of memory contents into machine registers during program execution
US5991757A (en) Method and system for searching an array for an array value
US9934155B2 (en) Method, system, and apparatus for page sizing extension
JP4608484B2 (ja) ストレージの無効化、バッファ・エントリの消去
US6061773A (en) Virtual memory system with page table space separating a private space and a shared space in a virtual memory
US5873127A (en) Universal PTE backlinks for page table accesses
US5835961A (en) System for non-current page table structure access
US5956751A (en) Computer memory management system using physical segmentation space allocation
JPH05257803A (ja) 仮想記憶空間管理方法及びアドレス計算装置
JPH0816479A (ja) メモリ・アドレス空間管理
JPH0652511B2 (ja) 情報処理装置のアドレス変換方式
JP3439167B2 (ja) コンピュータ・システムにおいてディレクトリ構造を含むメイン・メモリの内容にアドレスするための方法および装置
JP3045952B2 (ja) フルアソシアティブ・アドレス変換器
US5873120A (en) Variable split virtual address space allocation with multi-system compatibility
US5509131A (en) System for pointer updating across paged memory
JP2990195B2 (ja) レガシ指令のエミュレ―ション装置及び方法
JPS6136264B2 (ja)
JP4312952B2 (ja) メモリ属性パレット