[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH01125640A - アドレス変換方式 - Google Patents

アドレス変換方式

Info

Publication number
JPH01125640A
JPH01125640A JP62283279A JP28327987A JPH01125640A JP H01125640 A JPH01125640 A JP H01125640A JP 62283279 A JP62283279 A JP 62283279A JP 28327987 A JP28327987 A JP 28327987A JP H01125640 A JPH01125640 A JP H01125640A
Authority
JP
Japan
Prior art keywords
address
address translation
size
conversion
entry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP62283279A
Other languages
English (en)
Other versions
JP2635058B2 (ja
Inventor
Yasuhiro Inagami
稲上 泰弘
Yoshiko Tamaoki
玉置 由子
Shigeo Nagashima
長島 重夫
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62283279A priority Critical patent/JP2635058B2/ja
Priority to US07/269,058 priority patent/US4992936A/en
Publication of JPH01125640A publication Critical patent/JPH01125640A/ja
Application granted granted Critical
Publication of JP2635058B2 publication Critical patent/JP2635058B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control

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)
  • Memory System (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ディジタル計算機システムに係り、主記憶の
有効利用をはかるアドレス変換方式に関する。
[従来の技術] 計算機システムにおいては、機能・性能・使い勝手のよ
い主記憶システムの実現のために仮想記記憶の手法が広
く取り入れられ、−膜化している。
仮想記憶においては、プログラムで指定される主記憶の
アドレスは論理アドレスであり、この論理アドレスは計
算機システムが用意するアドレス変換機構によりアドレ
ス変換が行われる。アドレス変換された結果は実アドレ
スとして、実際に主記憶をアクセスする際に使用される
。アドレス変換の方式は、セグメンテーシゴンやページ
ングなど様々であり、計算機システムごとにそれぞれの
システムに適した形で実現されている。
仮想記憶方式の概念や具体例は種々の教科書や文献に示
されている。例えば、岩波書店発行岩波板想記憶のアド
レス変換の中には、日本出願特許特開昭62−7334
7にあるような、pswにアドレス変換サイズを示すビ
ットがあって、プログラム対応にアドレス変換サイズが
変更できるようにしたものもある。
[発明が解決しようとする問題点] 従来の計算機システムのアドレス変換では、アドレス変
換のサイズ(ゼクメントサイズやページサイズなどと呼
換されることが多く、その大きさは4キロバイトとか1
メガバイトといったものが採用されている)がそのシス
テムで一定であった。
また、仮に複数のサイズを選択できても、それはプログ
ラム単位で固定的である。
昨今の半導体技術の進歩などから計算機システムに多く
の機能を持たせることができるようになり、科学技術計
算指向のスーパーコンピュータなど特定の応用分野を指
向した計算機システムが開発されている。このような特
定応用分野指向の計算機システムにおいても、ユーザに
とって使い易いシステム使用環境を提供することが重要
であり、TSSやその他汎用計算機システムで実現され
ているようなシステム制御機能が要求される。
汎用的な、しかも特定応用分野で威力を発揮する計算機
システムにおいては、システム制御に係わるタスクを特
定応用分野の処理のタスクとが同居することになるが、
それぞれのタスクの処理に最適の制御を行うために要求
される機能が異なる場合が多い。
このような計算機システムの主記憶制御方式について考
えてみると、例えば科学技術計算指向の計算機システム
の場合には、システム制御に係わるタスクにおいては比
較的小規模容量の記憶単位でアドレス変換を行い、大規
模行列データを扱うことが多い技術計算では比較的大規
模容量の記憶単位でアドレス変換を行った方が、主記憶
の有効活用が図られるだけでなく、アドレス変換に必要
な変換テーブル量を削減できる(変換テーブル量はアド
レス変換サイズに逆比例するため)など記憶制御の簡素
化にもつながる。しかしながら、従来のようにアドレス
変換サイズが1つのプログラム内で動的に変更できない
方式においては上述のようなきめ細かな主記憶管理が実
現できないという問題があった。
本発明の目的は、性質を異にするいくつかの要求を処理
する計算機システムなどにおいて、それぞれの処理要求
に適したアドレス変換サイズを動的に変更できる手段を
設けることによって、効率のよい主記憶管理を可能とす
るところにある。さらに、1個のプログラムやタスクの
中に性質の異なるモジュールが存在するときには、それ
らのモジュールごとにアドレス変換サイズを対応させる
、言いかえれば、1個のプログラムやタスクの中で論理
アドレス対応にアドレス変換サイズが変更できるように
するところにある。
[問題点を解決するための手段] 上記の目的は、複数のアドレス変換サイズが選択できる
ようにし、各アドレス変換サイズに対応してアドレス変
換テーブルを用意し、アドレス変換テーブルには、論理
アドレスには、論理アドレス対応する実アドレスを格納
するフィールドを用意するだけでなく、どのアドレス変
換サイズが有効かを表示する手段を対応するアドレス変
換テーブルのエントリ内に設け、さらにそれらの表示手
段をプログラムで変更できる手段を設けることにより達
成される。
[作用] 上記の手段が以下のように機能することにより前述の目
的が達成される。
アドレス変換テーブルには、主記憶管理を司るオペレー
ティング・システム等が主記憶の使用状況に従って内容
を設定する。すなわち、論理アドレスと実アドレスの対
応を登録すると共に、仮想記憶空間上に割付けられる各
種タスクの性質に従って決定されるアドレス変換サイズ
に対応して有効アドレス変換サイズ表示手段を設定する
。これらの処理はタスクの生成、消滅に呼応して動的に
行なわれていく。
プログラムで指定される論理アドレスから各アドレス変
換サイズに応じて決まるビットを抽出して、これらを各
アドレス変換サイズに対応するアドレス変換テーブルの
エントリ指定情報として各アドレス変換テーブルのエン
トリを同定する。次に、各アドレス変換サイズ毎に同定
されたエントリの内容を調べ、その中から有効アドレス
変換サイズ表示手段が有効を表示しているエントリを選
択し、そのエントリに登録されている情報により論理ア
ドレスから実アドレスへのアドレス変換を行う。
以上により、個々の処理要求(タクス)に適したアドレ
ス変換サイズを動的に管理し、アドレス変換処理を行う
ことができる。
[実施例] 以下、実施例により本発明の詳細な説明する。
最初に1本実施例における主記憶アドレスの指定方式に
ついて説明する。第2図は本実施例における(論理)ア
ドレスのフォーマットを示している。アドレスは32ビ
ツト長で指定される。バイト単位のアドレス付けとする
と、4ギガバイト(1ギガバイトは232バイト、以下
OBと略す)のアドレス空間を構成する。32ビツト長
のアドレスはアドレス変換に関連して4つの部分から構
成される。第2図に示すように、32ビツト長のアドレ
スのビット0〜7の8ビツトがコンバートメントインデ
クス(CXと略す)、ビット8〜11の4ビツトがセグ
メントインデクス(SXと略す)、ビット12〜19の
8ビツトがページインデクス(PXと略す)、ビット2
0〜31の12ビツトがバイトインデクス(BXと略す
)を示す。すなわち、コンパートメントは16メガバイ
ト(1メガバイトは224バイト、以下MBと略す)単
位の区画、セグメントはIMB (=220バイト)の
区画、ページは4キロバイト(1キロバイトは210バ
イト、以下KBと略す)の区画である。本実施例の主記
憶では、4GBの総アドレス空間は、256個のコンパ
ートメント、1個のコンパートメントの中は8個のセグ
メント、1個のセグメントは256個のページという形
で構成されることになる。
本実施例の主記憶においては、アドレス変換サイズとし
て上記のコンパートメント、セグメント、ページのいず
れかを論理アドレスに対応して選択することができる。
次に第1図により本実施例におけるアドレス変換テーブ
ルの構成およびアドレス変換方式を説明する。
本実施例においては、アドレス変換テーブルは 。
アドレス変換サイズ対応に設ける。すなわち、コンパー
トメントに対応するコンパートメント変換テーブル、セ
グメントに対応するセグメント変換テーブル、ページに
対応するページ変換テーブルがある。これら変換テーブ
ルの各エントリには、論理アドレスに対応する実アドレ
スあるいは他アドレス変換テーブルの所在を示すアドレ
スおよびそのエントリの有効性等を示す情報が格納され
る。
変換テーブルエントリの実施例を第3図に示す。
実施例においては変換テーブルエントリは32ビツト長
であり、ビットO〜29の30ビツトが実アドレスまた
は他アドレス変換テーブル先頭アドレスを格納するフィ
ールド、ビット30がアドレス変換サイズ有効ビットT
、ビット31がインバリッドビットエである6次にこれ
ら情報のもつ意味について説明する。アドレス変換サイ
ズ有効ビットTはアドレス変換サイズを制御するのに用
いられるビットである。本ビットが1のときは、そのエ
ントリに対応するアドレス変換サイズ、例えばセグメン
ト変換テーブルのエントリであればセグメント、がアド
レス変換サイズにあることを示す。このときには、その
エントリのビット0〜19の20ビツトを論理アドレス
のビットO〜19(CX部、SX部、BX部)に対応す
る実アドレスのビットO〜19として、これに論理アド
レスのビット20〜31(BX部)を連結した32ビツ
トを実アドレスとする。アドレス変換サイズ有効ビット
TがOのときは、そのエントリに対応するアドレス変換
サイズ以外のアドレス変換サイズによりアドレス変換が
行われることを示す。このときには、エントリのビット
O〜19の情報は論理アドレスに対する実アドレスの情
報ではなく、そのエントリに対応するアドレス変換サイ
ズよりも下位のアドレス変換サイズ(コンパートメント
ならセグメント、セグメントならページ)に対応するア
ドレス変換テーブルの先頭アドレスを保持する。すなわ
ち、そのエントリに対応するアドレス変換サイズ以外の
アドレス変換サイズでアドレス変換が行われることを示
し、かつアドレス変換情報を別のアドレス変換テーブル
に求めるきっかけとして、下位のアドレス変換サイズに
対応するアドレス変換テーブルの所在を示す情報をもつ
インバリッドビットエは、値がOのときそのエントリ中
の情報の意味があることを示し、値が1のときはエント
リ中の情報が無効であることを示す、このビットは、エ
ントリに対応する仮想記憶空間の区画が実記憶にないと
いったことを簡単に表現する手段を提供する。
なお、本実施例では示していないが、各エントリには、
例えば記憶保護に関するビットなどその他のフィールド
を設けてもよい。
次に本実施例におけるアドレス変換の過程に第1図を用
いて説明する。第1図において、1は論理アドレス、2
ないし4は実アドレスを示す、ここで、2はアドレス変
換サイズとしてコンパートメント、3はアドレス変換サ
イズとしてセグメント、4はアドレス変換サイズとして
ページがそれぞれ選択された場合の実アドレスである。
5ないし7はアドレス変換の過程で用いられるアドレス
変換テーブルであり、各テーブルのエントリの書式は第
3図に示した通りである。アドレス変換テーブルはアド
レス変換サイズ対応に用意されており、5はコンパート
メント単位の変換に係わるコンパートメント変換テーブ
ル、6はセグメント単  ′位の変換に係わるセグメン
ト変換テーブル、7はページ単位の変換に係わるページ
変換テーブルである。これらのアドレス変換テーブルは
通常は主記憶に置かれるが、レジスタ等特定の記憶領域
に置いても良い。8はコンパートメント変換テーブルの
所在(テーブルが主記憶に置かれるなら主記憶アドレス
)を保持するレジスタ(CTOR。
Compartment Table Origin 
Register)であり、従来の計算機システムでも
実現されているような多重化想記憶を実現するときに空
間切替を行う手段を提供するものである。11〜14は
加算処理を示す。
さて、以下具体的によりアドレス変換の過程を詳細に説
明するが1次のような前提条件が設定されているものと
する。以下のような条件設定は通常オペレーティングシ
ステム等のシステムソフトウェアが行うが、その詳しい
処理は後述する。
(1)CX部がa、SX部がp、px部がx、BX部が
nの論理アドレスは、アドレス変換サイズを1ページ′
としてアドレス変換が行われる。またこの論理アドレス
に係わるコンパートメント変換テーブル、セグメント変
換テーブル、ページ変換テーブルのエン−トリはそれぞ
れa’ 、p’ 、x’である。
(2)CX部がす、sxがq、px部がy、BX部がm
の論理アドレスは、アドレス変換サイズをセグメントと
してアドレス変換が行われる。またこの論理アドレスに
係わるコンパートメント変換テーブル、セグメント変換
テーブル、ページ変換テーブルのエントリはそれぞれb
’ y ’!’ t ’/’である。
(3)CX部がC,SX部がr、PX部がZ、BX部が
Qの論理アドレスは、アドレス変換サイズをコンパート
メントとしてアドレス変換が行われる。またこの論理ア
ドレスに係わるコンパートメント変換テーブル、セグメ
ント変換テーブル、ページ変換テーブルのエントリはそ
れぞれQ′、r′、z′、Q′である。
(4)上記(1)〜(3)の条件に合致するよう、コン
パートメント変換テーブル、セグメント変換テーブル、
ページ変換テーブルの内容が設定されている。
さて、CX部がc、SX部がr、PX部がz、BX部が
Qの論理アドレスが指定されたときに実アドレスが求ま
る過程を説明する。8のCT ORとCX部の値Cとを
加算して、指定された論理アドレスに対応するコンパー
トメント変換テーブルのエントリC′を特定し、その内
容を調べる。このエントリのインバリッドビットIの値
はOであり。
アドレス変換サイズ有効ビットTの値が1であるので、
指定された論理アドレスに対してはアドレス変換サイズ
としてコンパートメントが選択される。従って、このエ
ントリのビット0〜19の20ビツトで論理アドレスの
ビット0〜19(cx部、sx部、px部)が置きかえ
られ、実アドレス2を得る。
CX部がす、sx部がq、px部がy、BX部がmの論
理アドレスが指定されたときに実アドレスが求まる過程
を説明する。まずCTORとCx部の値すとを加算して
指定された論理アドレスに対応するコンパートメント変
換テーブルのエントリbを特定し、その内容を調べる。
このエントリのインバリッドビットの値は0であり−1
またアドレス変換サイズ有効ビットTの値が0であるか
ら、アドレス変換サイズ学コンパートメントでないこと
が認識される。従って1次にセグメント変換テーブルが
参照される。参照すべきセグメント変換テーブルの先頭
アドレスは、今参照したコンパートメント変換テーブル
のエントリb′のビットO〜29に格納されており、こ
の値にSX部の値qを加算して、指定された論理アドレ
スに対応するセグメント変換テーブルのエントリq′ 
を特定し、その内容を調べる。エントリq′のインバリ
ッドビットの値は0であり、アドレス変換サイズ有効ビ
ットの値がOであるので、指定された論理アドレスに対
してはアドレス変換サイズとしてセグメントが選択され
る。従って、エントリq′のビット0〜19の20ビツ
トで論理アドレスのビット0〜19 (CX部、SX部
、px部)が置きかえられ、実アドレス3を得る。
CX部がa、SX部がp、px部がx、BX部がnの論
理アドレスが指定されたときに実アドレスが求まる過程
を説明する。先の例と同様に、CTORとCX部の値a
とから、指定された論理アドレスに対応するコンパート
メント変換テーブルのエントリa′を特定し、その内容
を調べるが、インバリッドビットの値が0.アドレス変
換サイズ有効ビットの値が0であるので、アドレス変換
サイズがコンパートメントでないことを認識し、次にセ
グメント変換テーブルを参照する。参照すべきセグメン
ト変換テーブルのエントリは、コンパートメント変換テ
ーブルのエントリa′のビットo〜19の値と論理アド
レスSx部の値pとから得られ、エントリp′を特定す
る。エントリp′のインバリッドの値は0.またはアド
レス変換サイズ有効ビットの値も0であるので、セグメ
ントがアドレス変換サイズでないことが認識される。従
って、引き続きページ変換テーブルを参照する。参照す
べきページ変換テーブルの先頭アドレスは、セグメント
変換テーブルのエントリp′のビットO〜29に格納さ
れている。この値と論理アドレスのBX部の値Xとを加
算して、ページ変換テーブルのエントリX′を特定する
。エントリX′のインバリッドビットの値は0であり、
アドレス変換サイズ有効ビットの値が1であるので、ペ
ージがアドレス変換サイズであることが認識され、アド
レス変換が行われる。すなわち、エントリX′のビット
0〜19の20ビツトで論理アドレスのビットO〜19
(Cx部、SX部、px部)を置きかえ、実アドレス4
を得る。
以上、アドレス変換の過程を説明したが、1個の論理ア
ドレスに係わる各種アドレス変換テーブルのエントリの
アドレス変換サイズ有効ビットの値が、例えば全て0で
あるとかあるいは2つ以上のエントリで1つであるとい
った矛盾が登録あるいは発見された場合には、アドレス
変換例外などの例外処理により割込みを発生させるなど
の手段により保全性を向上させてもよい。
以上アドレス変換の過程の詳細を説明したが、次に第1
図に示した各種のアドレス変換テーブルによりアドレス
変換サイズを動的に変更して主記憶を管理する過程を具
体例により説明する。
第4図は、ある時点での仮想記憶空間のマツプを示して
いる。この場合、論理アドレスの16MBから48MB
までの領域(CX部が1又は2)は大規模計算プログラ
ムが配置されるため、コンパートメント単位のアドレス
変換が行われるようにする。論理アドレスの96MB〜
112MBの領域(CX部が6)は中規模のプログラム
が配置されるためセグメント単位のアドレス変換が行わ
れるようにする。論理アドレスの112MB〜128M
Bおよび256MB〜272MBの領域(CX部が7ま
たは16)は、システム制御に係わるプログラム群が配
置されるが個々のプログラムの性質に従ってセグメント
又はページのいずれかのサイズでアドレス変換されるよ
うにする0例えば112MB〜128MBの領域では、
最初のIMB (SX部が0)がセグメント単位、残り
の15MB (SX部が1〜15)はページ単位のアド
レス変換、256MB〜272MBの領域では° 最初
のIMB (SX部がO)がページ単位、残りの15M
B (SX部が1〜15)はセグメント単位のアドレス
変換が行われるようにする。
このとき、オペレーティング・システム等のシステムソ
フトウェアは各アドレス変換テーブルを次のように準備
する。
(1)、lンバートメント変換テーブル1番目、2番目
のエンリドはアドレス変換サイズ有効ビットTの値を1
にするとともに、対応するコンパートメントが配置され
ている実記憶上のアドレスをそれぞれビットO〜19に
設定する。
6番目、7番目、16番目のエントリはアドレス変換サ
イズ有効ビットの値を0にし、がつ対応するセグメント
変換テーブル(これらをそれぞれ5T−6,5T−7,
5T−16と略す)の先頭アドレスをそれぞれビット0
〜29に設定する。
(2)セグメント変換テーブル 5T−6の各エントリには、アドレス変換サイズ有効ビ
ット値を1とし、がっ対応するセグメントが配置される
実記憶上のアドレスをビットO〜19に設定する。
5T−7については、0番目のエントリはアドレス変換
サイズ有効ビットの値を1にし。
かつビット0〜19に、対応するセグメントが配置され
る実記憶上のアドレスが設定される。1番目から15番
目までの各エントリについてはアドレス変換サイズ有効
ビットの値を0にし、ビットO〜29に対応するページ
変換テーブルの先頭アドレスをそれぞれ登録する。
5T−16についても同様に、0番目のエントリはアド
レス変換サイズ有効ビットをOとし、対応するページ変
換テーブルの先頭のアドレスを登録する。他のエントリ
については、アドレス変換サイズ有効ビットを1とし、
対応するセグメントが配置される実記憶上のアドレスを
設定する。
(3)ページ変換テーブル ページ単位でアドレス変換が行われる部分について作成
する。アドレス変換サイズ有効ビットを1にし、対応す
るページが配置される実記憶上のアドレスを設定する。
以上のような各種アドレス変換テーブルを設定すること
により、第4図のマツプに示したアドレス変換サイズに
従ってアドレス変換を行うことができる。
なお、アドレス変換サイズがコンパートメントである部
分に係わるセグメント変換テーブルおよびページ変換テ
ーブル、アドレス変換サイズがセグメントである部分に
係わるページ変換テーブルは作成する必要がない。
さて、第4図に示したマツプに従って処理が進み、論理
アドレスの112MB〜128MBの領域にあったプロ
グラムが不要となり、この領域に新たに大規模計算プロ
グラムを置き、かつアドレス変換サイズをコンパートメ
ントに変更するとき、次のような処理をオペレーティン
グシステムが行えばよい。すなわち、コンパートメント
変換テーブルの7番目のエントリのアドレス変換サイズ
有効ビットTの値をOから1に変更し、かつそのビット
O〜19に、対応するコンパートメントが配置される実
記憶上のアドレスを設定する。また。
この領域に関して作成されていたセグメント変換テーブ
ルおよびページ変換テーブルを削除する。
また、論理アドレスの256MB〜272MBの領域に
関し、15番目のセグメント(SX部が15)のアドレ
ス変換サイズをセグメントからページに変更することに
なった場合は、5T−16(前述、論理アドレスの25
6MB〜272MBの領域に係わるセグメント変換テー
ブル)のエントリ番号15のアドレス変換サイズ有効ピ
ッhの値を1から0に変更し、かつ対応するページ変換
テーブルの先頭アドレスを設定するとともに、ページ変
換テーブルを作成すればよい。
このように、各種アドレス変換テーブルの各エントリの
アドレス変換サイズ有効ビットを適宜操作し、かつ各ア
ドレス変換サイズに対応した必要最小限のアドレス変換
テーブルに設定することにより、仮想記憶上の各領域に
対して異なったアドレス変換サイズを動的に対応付ける
ことができる。
次に、第5図により本発明のアト−レス変換を実現する
アドレス変換回路の一実施例を説明する。
第5図に於いて、500命令解読ユニツト、100はア
ドレス変換部である。命令解読ユニット500は、命令
を読み出して解読し、プロセッサ内の各種制御部に必要
な信号を送出する回路である6本ユニットは本発明の特
長的な部分ではないのでその詳細な説明は省略する。
次に、アドレス変換部100の動作の詳細を説明する。
命令解読ユニット500が一つの命令を解読し。
その命令で使用するオペランドの論理アドレスの計算を
完了すると、アドレス変換部100に対し信号線301
を介してアドレス変換開始の指示が送られてくる。それ
と同時に信号線302を介して命令解読ユニット500
で計算された論理アドレスが送られてくる。信号線30
2により送られてきた論理アドレスは、信号線301に
より送られてくるアドレス変換開始の指示信号をセット
信号として、レジスタ110にセットされる。
第5図において、120はレジスタであり、コンハート
メント変換テーブルの先頭アドレスを保持するものであ
る(CTOR)、CTORの内容の読み出しあるいは書
き込みは命令によって行なわれ、情報のやりとりは信号
線303を介して行なわれる。
第5図において、130はレジスタであり、どのアドレ
ス変換サイズでアドレス変換を行なうかを表示するレジ
スタである。レジスタ130が保持する状態としては、 (1)アドレス変換サイズがコンパートメントである、
(2)アドレス変換サイズがセグメントで ゛ある、(
3)アドレス変換サイズがページである、のいずれかで
ある。第5図において、140はアドレス変換サイズ管
理部であり、レジスタ130の状態の設定、変更を司る
機能を持つ。命令解読ユニット500から信号線301
を介してアドレス変換開始の指示が来ると、アドレス変
換サイズ管理部140は、レジスタ130の状態を、″
アドレス変換サイズがコンパートメントである”に初期
設定する。レジスタ130の状態は、信号線201に反
映される。
第5図において、202ないし206はそれぞれ信号線
である。信号線202にはレジスタ120 (CTOR
)の内容が反映される6信号線203.204,205
,206にはそれぞれ。
レジスタ110に保持されている論理アドレスのうち、
コンパートメントインデクス部(CX)。
セグメントインデクス部(SX)、ページインデクス部
(px)、バイトインデクス部(B X)が反映される
第5図において、141および142はそれぞれ選択回
路であって、選択回路141は信号線211と202の
いずれかの値を選択して、それを信号線207に反映さ
せる。選択回路142は、信号線203,204,20
5の何れかの値を選択して、それを信号線208に反映
させる。選択回路141及び142の選択制御信号は、
信号線201にその状態が反映されているレジスタ13
0の内容である。レジスタ130の状態が″アドレス変
換サイズがコンパートメントである″のときには、選択
回路141においては信号線202が選択され、選択回
路142においては、信号線203 (CX)が選択さ
れる。レジスタ130の状態が“アドレス変換サイズが
セグメントである″のときには、選択回路141におい
ては信号線211が選択され、選択回路142において
は、信号線204 (SX)が選択される。レジスタ1
30の状態が″アドレス変換サイズがページである″の
ときには、選択回路141においては信号線211が選
択され、選択回路142においては、信分線205 (
PX)が選択される。
第5図において、150は演算回路であり、信号線20
7に反映されている値と、信号線208に反映されてい
・る値とから、アドレス変換情報を保持するアドレス変
換テーブルのエントリのアドレスを計算する回路である
。すなわち、信号線208に反映されている値を4倍し
くアドレス変換テーブルの1エントリのサイズは4バイ
トであるから、エントリの番号を4倍してエントリの相
対アドレスを得る)、それに信号線207に反映されて
いる値を加算する。信号線207にはアドレス変換サイ
ズに対応するアドレス変換テーブルの先頭アドレスが反
映されている(詳細は後述)。
第5図において、151はレジスタであり、演算回路1
50の結果を保持するレジスタであり。
レジスタ151の内容は信号線209に反映され、主記
憶インタフェース部400に送られる。主記憶インタフ
ェース部400は信号線209を介して送られてくる情
報、すなわち参照するアドレス変換テーブルのアドレス
情報を受は取り、信号線410により主記憶装置(図面
では省略)に対して参照要求を出す。この参照要求に対
し、主記憶装置は指定されたアドレスにある情報を信号
線420により主記憶インタフェース部400に返送し
てくる。これら一連の処理は本発明の特長的な処理では
ないので詳細な説明は省略する。信号線420により送
られてきた情報は、アドレス変換に用いるアドレス変換
テーブルのエントリの内容であり、主記憶インタフェー
ス部400はこの情報を信号線210に乗せ、レジスタ
152に送る。
第5図において、152はレジスタであり、アドレス変
換情報として読み出したアドレス変換テーブルのエント
リの内容を保持するものである。
レジスタ152に保持される情報の書式は第3図に示し
た書式と同一である。従って、レジスタ152のビット
30はアドレス変換サイズ有効ビット(Tビット)であ
り、またビット31はエントリのインバリッド(■ビッ
ト)である。残りの部分は実アドレスあるいは下位アド
レス変換テーブルの先頭アドレス(ADDR部)を保持
する。ADDR部の内容は信号線211.Tビットの内
容は信号線212.Iビットの内容は信号#JA213
に反映される。
第5図において、160は例外処理部であり、アドレス
変換処理の過程で発生する例外を処理し、例外が発生し
た場合にはそれを命令解読ユニット500に通知する機
能をもつ。
レジスタ152に設定された情報のIビットが1である
場合には、読み出したアドレス変換テーブルエントリが
無効であるから、アドレス変換例外を発生させる必要が
ある。例外処理部160は信号線213によりエビット
の値を受は取り、値が1である場合にはアドレス変換例
外を検出して、その旨を信号、1jI304により命令
解読ユニット50oに通知する。
レジスタ152に設定された情報はTビットは、現在レ
ジスタ130に表示されているアドレス変換サイズが有
効であるかどうかを示すビットである。Tビットの値が
1である時にはレジスタ152のADDR部の内容によ
り実アドレスを求める。
Tビットの値がOである時には現在レジスタ130に表
示されているアドレス変換サイズよりも下位のアドレス
変換サイズでのアドレス変換処理に移る。
第5図において、153はレジスタであり、アドレス変
換の結果得られた実アドレスを保持するのに使用される
。信号線212に反映されるTビットの値はレジスタ1
53のセット信号として使われる。信号線212の値が
1の時には信号線211に反映されているレジスタ15
2のADDR部の情報(実アドレス情報)、および信号
Mc206に反映されているレジスタ110のBX部の
情報が連結して設定される。このようにしてレジスタ1
53に設定された情報は、アドレス変換の結果である実
アドレスである。レジスタ153に設定された実アドレ
スは信号線154を経由して主記憶インタフェース部4
00に送られ、主記憶データの参照に移る。Tビットの
値が1であるときにはこの一連の処理が行なわれる。
Tビットの値が0であるときには、それが信号線212
に反映され、アドレス変換管理部140に伝えられる。
アドレス変換管理部140では信号線212から送られ
てくるTビットの値と、信号線201より送られてくる
レジスタ130の内容、すなわち現在有効なアドレス変
換サイズに関する情報とから次に選択すべきアドレス変
換サイズを次のようにして決定し、必要な情報を設定す
る。すなわち、信号線212からTビットの値として0
が送られてくれば、信号線201の値により次のような
処理を行う。
(1)信号線201が「アドレス変換サイズがコンパー
トメントである」を示していれば、次に選択すべきアド
レス変換サイズがセグメントであるから、レジスタ13
0に「アドレス変換サイズがセグメントである」を設定
する。
(2)信号線201が「アドレス変換サイズがセグメン
トである」を示してあれば、次に選択すべきアドレス変
換サイズがページであるから、レジスタ130に「アド
レス変換サイズがページである」を設定する。
(3)信号線201が「アドレス変換サイズがページで
ある」を示していれば、コンパートメント、セグメント
、ページのいずれの変換サイズも選択されなかったこと
になるから、例外的な条件が発生したと判断し、その旨
を信号線214により例外処理部160に通知する。
例外処理部160は信号41304によりこれを命令解
読ユニット500に伝える。
(1)、(2)の場合はレジスタ130に新たなアドレ
ス変換サイズが設定され、これまでに述べたようなアド
レス変換の処理が続けられる。(3)の場合は、有効な
アドレス変換サイズ指定されないままコンパートメント
変換テーブル、セグメント変換テーブル、ページ変換テ
ーブルの全てを参照したことを意味し、例外を検出して
命令解読ユニット500に通知する。
[発明の効果] 以上示したように、本発明によれば、性質と異にするい
くつかの要求を処理する計算機などにおいて、主記憶上
に種々のプログラム(タスク)を配置するとき、各プロ
グラムの特性に従って適切なアドレス変換サイズを選択
でき、かつプログラムの処理状況に従って動的にアドレ
ス変換サイズを変更できるので、効率良い主記憶管理が
実現できると共に、アドレス変換に必要なアドレス変換
テーブルの量を必然最小限にとどめることができるとい
う効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例のアドレス変換方式を説明す
る図、第2図は本発明の実施例の論理アドレス指定書式
、第3図は本発明の一実施例のアドレス変換テーブルの
エントリの書式、第4図は本発明の一実施例における主
記憶管理を説明する図、第5図は本発明のアドレス変換
方式を実現するアドレス変換回路の一実施例を示す図で
ある。 5・・・コンパ−1−メント変換テーブル、6・・・セ
グメント変換テーブル、7・・・ページ変換テーブル。 7・・・ページ変換テーブル、100・・・アドレス変
換部。 第2@ 謔ア)′し入

Claims (1)

    【特許請求の範囲】
  1. プログラムで指定される主記憶のアドレスを論理アドレ
    スとしてアドレス変換し、アドレス変換の結果を実アド
    レスとして記憶参照を行う計算機システムにおいて、複
    数のアドレス変換サイズが選択できるようにし、各アド
    レス変換サイズに対応してアドレス変換テーブルを用意
    するようにし、アドレス変換をどのアドレス変換サイズ
    で行うべきかを表示する手段をアドレス変換テーブルを
    構成する各エントリごとに設け、さらにそれらの表示手
    段をプログラムで変更する手段をもつことを特徴とする
    アドレス変換方式。
JP62283279A 1987-11-11 1987-11-11 アドレス変換方式 Expired - Fee Related JP2635058B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP62283279A JP2635058B2 (ja) 1987-11-11 1987-11-11 アドレス変換方式
US07/269,058 US4992936A (en) 1987-11-11 1988-11-09 Address translation method and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62283279A JP2635058B2 (ja) 1987-11-11 1987-11-11 アドレス変換方式

Publications (2)

Publication Number Publication Date
JPH01125640A true JPH01125640A (ja) 1989-05-18
JP2635058B2 JP2635058B2 (ja) 1997-07-30

Family

ID=17663394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62283279A Expired - Fee Related JP2635058B2 (ja) 1987-11-11 1987-11-11 アドレス変換方式

Country Status (2)

Country Link
US (1) US4992936A (ja)
JP (1) JP2635058B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036746A (ja) * 1989-06-05 1991-01-14 Hitachi Ltd スキャンアドレス変換機構
WO2002057923A1 (fr) * 2001-01-19 2002-07-25 Sony Corporation Dispositif de commande de protection de la memoire
JP2007172250A (ja) * 2005-12-21 2007-07-05 Fujitsu Ltd 画像メモリ管理装置、画像メモリ管理方法、およびそのプログラム
JP2008515093A (ja) * 2004-09-30 2008-05-08 インテル コーポレイション 大アドレス容量に及ぶ変換テーブルを用いた、アドレス変換の性能向上
JP2008541214A (ja) * 2005-05-05 2008-11-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 動的論理パーティショニングによるコンピューティング環境におけるコンピュータ・メモリの管理
JP2011509469A (ja) * 2008-01-11 2011-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーション フォーマット制御を有する動的アドレス変換
JP2011513808A (ja) * 2008-02-26 2011-04-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 変換例外修飾子を用いる動的アドレス変換
JP2022051857A (ja) * 2020-02-04 2022-04-01 キオクシア株式会社 メモリ装置及びメモリ装置を制御する方法

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JPH02165241A (ja) * 1988-12-19 1990-06-26 Toshiba Corp ファイルアクセス方式
JP2858795B2 (ja) * 1989-07-14 1999-02-17 株式会社日立製作所 実記憶割り当て方法
US5375213A (en) * 1989-08-29 1994-12-20 Hitachi, Ltd. Address translation device and method for managing address information using the device
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5412787A (en) * 1990-11-21 1995-05-02 Hewlett-Packard Company Two-level TLB having the second level TLB implemented in cache tag RAMs
EP0506236A1 (en) * 1991-03-13 1992-09-30 International Business Machines Corporation Address translation mechanism
EP0508577A1 (en) * 1991-03-13 1992-10-14 International Business Machines Corporation Address translation mechanism
US5305454A (en) * 1991-08-12 1994-04-19 International Business Machines Corporation Notification of event handlers in broadcast or propagation mode by event management services in a computer system
US5625821A (en) * 1991-08-12 1997-04-29 International Business Machines Corporation Asynchronous or synchronous operation of event signaller by event management services in a computer system
US5237684A (en) * 1991-08-12 1993-08-17 International Business Machines Corporation Customized and versatile event monitor within event management services of a computer system
US5355484A (en) * 1991-08-12 1994-10-11 International Business Machines Corporation Dynamically established event monitors in event management services of a computer system
US5465337A (en) * 1992-08-13 1995-11-07 Sun Microsystems, Inc. Method and apparatus for a memory management unit supporting multiple page sizes
US6735685B1 (en) * 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
FR2787216B1 (fr) * 1998-12-11 2001-07-27 Bull Cp8 Procede de stockage et d'exploitation d'unites d'information dans un module de securite, et module de securite associe
US7296139B1 (en) 2004-01-30 2007-11-13 Nvidia Corporation In-memory table structure for virtual address translation system with translation units of variable range size
US7334108B1 (en) 2004-01-30 2008-02-19 Nvidia Corporation Multi-client virtual address translation system with translation units of variable-range size
US7278008B1 (en) 2004-01-30 2007-10-02 Nvidia Corporation Virtual address translation system with caching of variable-range translation clusters
US7827381B2 (en) * 2006-06-05 2010-11-02 Oracle America, Inc. Hybrid techniques for memory virtualization in a computer system
US20080028181A1 (en) * 2006-07-31 2008-01-31 Nvidia Corporation Dedicated mechanism for page mapping in a gpu
US8151083B2 (en) 2008-01-11 2012-04-03 International Business Machines Corporation Dynamic address translation with frame management
US8019964B2 (en) * 2008-01-11 2011-09-13 International Buisness Machines Corporation Dynamic address translation with DAT protection
US8041922B2 (en) * 2008-01-11 2011-10-18 International Business Machines Corporation Enhanced dynamic address translation with load real address function
US8417916B2 (en) * 2008-01-11 2013-04-09 International Business Machines Corporation Perform frame management function instruction for setting storage keys and clearing blocks of main storage
US8041923B2 (en) * 2008-01-11 2011-10-18 International Business Machines Corporation Load page table entry address instruction execution based on an address translation format control field
US8335906B2 (en) * 2008-01-11 2012-12-18 International Business Machines Corporation Perform frame management function instruction for clearing blocks of main storage
US8677098B2 (en) * 2008-01-11 2014-03-18 International Business Machines Corporation Dynamic address translation with fetch protection
US8117417B2 (en) 2008-01-11 2012-02-14 International Business Machines Corporation Dynamic address translation with change record override
US8082405B2 (en) * 2008-01-11 2011-12-20 International Business Machines Corporation Dynamic address translation with fetch protection
US8103851B2 (en) * 2008-01-11 2012-01-24 International Business Machines Corporation Dynamic address translation with translation table entry format control for indentifying format of the translation table entry
US8086811B2 (en) 2008-02-25 2011-12-27 International Business Machines Corporation Optimizations of a perform frame management function issued by pageable guests
US8095772B2 (en) * 2009-05-08 2012-01-10 Oracle America, Inc. Large memory pages for shared libraries
US8693133B1 (en) 2010-03-22 2014-04-08 Western Digital Technologies, Inc. Systems and methods for improving sequential data rate performance using sorted data zones for butterfly format
US9330715B1 (en) 2010-03-22 2016-05-03 Western Digital Technologies, Inc. Mapping of shingled magnetic recording media
US8687306B1 (en) 2010-03-22 2014-04-01 Western Digital Technologies, Inc. Systems and methods for improving sequential data rate performance using sorted data zones
US8699185B1 (en) 2012-12-10 2014-04-15 Western Digital Technologies, Inc. Disk drive defining guard bands to support zone sequentiality when butterfly writing shingled data tracks
US8856438B1 (en) * 2011-12-09 2014-10-07 Western Digital Technologies, Inc. Disk drive with reduced-size translation table
US9213493B1 (en) 2011-12-16 2015-12-15 Western Digital Technologies, Inc. Sorted serpentine mapping for storage drives
US9092359B2 (en) 2012-06-14 2015-07-28 International Business Machines Corporation Identification and consolidation of page table entries
US9811472B2 (en) * 2012-06-14 2017-11-07 International Business Machines Corporation Radix table translation of memory
US9753860B2 (en) 2012-06-14 2017-09-05 International Business Machines Corporation Page table entry consolidation
US9495303B2 (en) * 2015-02-03 2016-11-15 Intel Corporation Fine grained address remapping for virtualization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60117350A (ja) * 1983-11-30 1985-06-24 Toshiba Corp メモリマッピング装置
JPS62237547A (ja) * 1986-04-09 1987-10-17 Hitachi Ltd アドレス変換方式
JPS6417137A (en) * 1987-07-13 1989-01-20 Nippon Telegraph & Telephone Control system for large-capacity page
JPH0812640A (ja) * 1994-06-27 1996-01-16 Asahi Chem Ind Co Ltd 超高純度アセトニトリルおよび粗アセトニトリルの精製方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1443064A (en) * 1973-07-18 1976-07-21 Int Computers Ltd Microprogramme unit for a data processor
US4079453A (en) * 1976-08-20 1978-03-14 Honeywell Information Systems Inc. Method and apparatus to test address formulation in an advanced computer system
US4453212A (en) * 1981-07-13 1984-06-05 Burroughs Corporation Extended address generating apparatus and method
JPS6273347A (ja) * 1985-09-27 1987-04-04 Hitachi Ltd アドレス変換装置
US4727485A (en) * 1986-01-02 1988-02-23 Motorola, Inc. Paged memory management unit which locks translators in translation cache if lock specified in translation table

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60117350A (ja) * 1983-11-30 1985-06-24 Toshiba Corp メモリマッピング装置
JPS62237547A (ja) * 1986-04-09 1987-10-17 Hitachi Ltd アドレス変換方式
JPS6417137A (en) * 1987-07-13 1989-01-20 Nippon Telegraph & Telephone Control system for large-capacity page
JPH0812640A (ja) * 1994-06-27 1996-01-16 Asahi Chem Ind Co Ltd 超高純度アセトニトリルおよび粗アセトニトリルの精製方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036746A (ja) * 1989-06-05 1991-01-14 Hitachi Ltd スキャンアドレス変換機構
WO2002057923A1 (fr) * 2001-01-19 2002-07-25 Sony Corporation Dispositif de commande de protection de la memoire
US6836836B2 (en) 2001-01-19 2004-12-28 Sony Corporation Memory protection control device and method
JP4772795B2 (ja) * 2004-09-30 2011-09-14 インテル コーポレイション 大アドレス容量に及ぶ変換テーブルを用いた、アドレス変換の性能向上
JP2008515093A (ja) * 2004-09-30 2008-05-08 インテル コーポレイション 大アドレス容量に及ぶ変換テーブルを用いた、アドレス変換の性能向上
JP2008541214A (ja) * 2005-05-05 2008-11-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 動的論理パーティショニングによるコンピューティング環境におけるコンピュータ・メモリの管理
JP2007172250A (ja) * 2005-12-21 2007-07-05 Fujitsu Ltd 画像メモリ管理装置、画像メモリ管理方法、およびそのプログラム
JP2011509469A (ja) * 2008-01-11 2011-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーション フォーマット制御を有する動的アドレス変換
JP2011513808A (ja) * 2008-02-26 2011-04-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 変換例外修飾子を用いる動的アドレス変換
US8683176B2 (en) 2008-02-26 2014-03-25 International Business Machines Corporation Dynamic address translation with translation exception qualifier
US10078585B2 (en) 2008-02-26 2018-09-18 International Business Machines Corporation Creating a dynamic address translation with translation exception qualifiers
US10241910B2 (en) 2008-02-26 2019-03-26 International Business Machines Corporation Creating a dynamic address translation with translation exception qualifiers
US11074180B2 (en) 2008-02-26 2021-07-27 International Business Machines Corporation Creating a dynamic address translation with translation exception qualifiers
JP2022051857A (ja) * 2020-02-04 2022-04-01 キオクシア株式会社 メモリ装置及びメモリ装置を制御する方法

Also Published As

Publication number Publication date
US4992936A (en) 1991-02-12
JP2635058B2 (ja) 1997-07-30

Similar Documents

Publication Publication Date Title
JPH01125640A (ja) アドレス変換方式
JP2833062B2 (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US4577274A (en) Demand paging scheme for a multi-ATB shared memory processing system
US5095526A (en) Microprocessor with improved interrupt response with interrupt data saving dependent upon processor status
JPH0652511B2 (ja) 情報処理装置のアドレス変換方式
JPH0552540B2 (ja)
JPS62165250A (ja) 仮想記憶方法
JPH0425579B2 (ja)
US5187791A (en) Microprocessor with improved interrupt response with data saving dependent upon processor status using status flag
JPH0313615B2 (ja)
JPH0351011B2 (ja)
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
JPH0520197A (ja) 記憶管理システム及びマイクロプロセツサ
JP3088303B2 (ja) キャッシュ・メモリ・バンク制御装置
US4984150A (en) Virtual memory control management system
JPS6136264B2 (ja)
JPH0721781B2 (ja) マルチプロセツサ・システム
EP0442297B1 (en) Processor with an overwriteable microcode memory
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
CA2011394C (en) Ring reduction logic mechanism
JP2924708B2 (ja) 情報処理装置
JP3345050B2 (ja) 二次元配列型メモリシステム
JP2602230B2 (ja) データ処理装置
JPS62274351A (ja) アドレス変換方法および装置
JPS61267149A (ja) デ−タ処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees