JPH06100987B2 - アドレス変換制御方法 - Google Patents

アドレス変換制御方法

Info

Publication number
JPH06100987B2
JPH06100987B2 JP62088455A JP8845587A JPH06100987B2 JP H06100987 B2 JPH06100987 B2 JP H06100987B2 JP 62088455 A JP62088455 A JP 62088455A JP 8845587 A JP8845587 A JP 8845587A JP H06100987 B2 JPH06100987 B2 JP H06100987B2
Authority
JP
Japan
Prior art keywords
address translation
address
section
buffer
mode
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 - Fee Related
Application number
JP62088455A
Other languages
English (en)
Other versions
JPS63254544A (ja
Inventor
鎮雄 塩川
秋彦 松本
彰 名古屋
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP62088455A priority Critical patent/JPH06100987B2/ja
Publication of JPS63254544A publication Critical patent/JPS63254544A/ja
Publication of JPH06100987B2 publication Critical patent/JPH06100987B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は仮想記憶方式をとる電子計算機のアドレス変換
制御方法に係り、特に以前にアドレス変換処理した内容
を蓄えておく高速メモリ(アドレス変換バッファ)の割
付け制御方法に関する。
〔従来の技術〕
仮想記憶方式の電子計算機では、一般にプロセッサ内に
高速メモリを用意し、以前にアドレス変換処理して得ら
れた論理アドレス−実アドレスの対を該高速メモリに登
録しておき、以後、同一論理アドレスについては当該高
速メモリより実アドレスを読み出すことにより、仮想ア
ドレスから実アドレスへのアドレス変換の高速化を図っ
ている。この高速メモリをアドレス変換バッファと称し
ている。
電子計算機に高集積LSIが使用されるに伴い、該アドレ
ス変換バッファに使用される高速メモリも、高集積メモ
リ素子が使用され、開発を重ねる毎に、アドレス変換バ
ッファは大容量化してきている。しかし、ある一定以上
にアドレス変換バッファの容量を増しても、タスク等の
切替えが行われることによりアドレス変換バッファに登
録されている情報が新タスク用の情報に置換えられる現
象により、アドレス変換バッファの容量増加による性能
改善効果は飽和してきていると言える。
一方、1つのマシン上に複数のOS(オペレーティングシ
ステム)を搭載してサービスを行う等、電子計算機の使
い方は益々高度になってきている。このようなサービス
も高性能化が要求されてきており、アドレス変換バッフ
ァにも種々の改良が実施されてきている。
1マシン上に複数OSが搭載されている場合、マシンはマ
シンリソースを単位時間に区切って各々のOSに順次割付
けて行く、すなわち、1マシンから見ると各種OSが入れ
かわり、たちかわり切り替えられて走行することにな
る。この時、アドレス変換バッファは、該状況化での高
速化の処置がほどこされていない場合、1OSでは論理ア
ドレスaは実アドレスbにマッピングされ、他OSでは論
理アドレスaは実アドレスcにマッピングされているこ
とになるため、論理矛盾を除去するために、OSが切替わ
る毎にアドレス変換バッファの全クリアを行う必要があ
る。従来、この状況を回避するため、アドレス変換バッ
ファの各エントリに各OSの識別子(ID)を登録し、論理
アドレスが同じであっても、IDが異なれば、該エントリ
は使用できないようにする制御を行っている。
〔発明が解決しようとする問題点〕
上記制御方法をとった場合も、例えばOS1走行時、アド
レス変換バッファに登録された論理アドレス−実アドレ
スの対は(現在の中大型機の分野では同一の“アドレス
変換バッファ索引アドレス”は2エントリ分登録可能な
構成をとっている)OSが切替ってOS2走行時、同一の
“アドレス変換バッファ索引アドレス”が2個以上検出
されてアドレス変換バッファに登録されると、前走行OS
であるOS1のアドレス変換情報はアドレス変換バッファ
上で新しいOSの情報と置き換えられ、該情報は該バッフ
ァ上から消去される。
また、複数OSを用いてサービスを行う場合、例えば1OS
のみ高性能で処理する、又は複数OS各々に性能上の優先
制御を行うことの要求がある。この場合、上記従来の制
御方法では、例えばOS1が優先OSであった場合、OS2に切
替えると、OS1のアドレス変換情報はアドレス変換バッ
ファから追い出され、次にOS1に再度ディスパッチされ
た時には有効なアドレス変換情報は該バッファ上に無
く、再度、新たな登録の手続き(セグメントテーブル、
ページテーブルの索引)を行う必要があり、性能オーバ
ーヘッドが大となる。すなわち、優先OSのアドレス変換
情報は他OSに切替えても、再度優先OSにディスパッチさ
れた時、該バッファ上に以前の情報が残っていることが
望ましい。
本発明の目的は、上記の状況に鑑み、複数のプログラム
モジュール又はOS等が走行する場合、アドレス変換バッ
ファへの割付けに優先度を持たせ、特定のOS等のアドレ
ス変換情報は、マシンが他OS等に切替えられ、再度該特
定のOS等にディスパッチされた時、アドレス変換バッフ
ァ上に残るようにして、柔軟性のあるアドレス変換制御
方法を提供することにある。
〔問題点を解決するための手段及び作用〕
本発明は、アドレス変換バッファを複数の領域(セクシ
ョン)に分割して使用するモードと分割しないで使用す
るモードに任意に切り替えることを可能にすると共に、
複数の領域に分割して使用するモードでは、該アドレス
変換バッファ中の少なくとも一つの領域は特定のタスク
(プログラムモジュール)又は特定のOSのアドレス変換
情報を格納するのに優先的に割当て、他の領域は複数の
タスク又は複数のOSのアドレス変換情報を格納するのに
共用する。
複数のプログラムモジュール又はOSが走行する場合、分
割モードとする。アドレス変換バッファへの書込み、読
出しは、現在走行中のプログラムモジュール又はOSのセ
クション番号を保持しておいて、当該セクションにのみ
アクセスし、他のセクションへの擾乱を与えないように
する。これにより、他のプログラムモジュール又はOSに
切替わり、再度、特定のプログラムモジュール又はOSに
ディスパッチされた時、そのアドレス変換情報はアドレ
ス変換バッファ上に残っていることゝなる。なお、一つ
のプログラムモジュール又はOSしか走行せず、アドレス
変換バッファの全セクションを当該プログラムモジュー
ル又はOSで使用した方が有効な場合には、非分割モード
に切替える。
〔実施例〕
以下、本発明の一実施例について図面により説明する。
第1図は本発明の一実施例の構成図を示したものであ
る。第1図において、アドレス変換バッファ3は物理的
に複数のセクション#0〜#nに分割され、各セクショ
ンは複数のエントリからなり、各々アドレス変換情報を
格納している。このアドレス変換バッファ3の各セクシ
ョン#0〜#nの割付けに優先度を持たせ、あるプログ
ラムモジュール又はOSは一つのセクションにのみ登録し
て、処理が他のプログラムモジュール又はOSに切替って
も、該セクションは他のプログラムモジュール又はOSに
よる悪影響を受けないか、又はその影響を最小限にとゞ
めるようにする。該アドレス変換バッファ3の各セクシ
ョン#0〜#nとプログラムモジュール又はOSとの対応
関係は、セクション割当テーブル5が保持している。
まず、プロセッサを動作させる前に、プロセッサの外部
から(例えばサービスプロセッサ等から)セクション割
当テーブル5が初期化される。この初期化では初期値を
決めるだけであり、必要な時に、セクション割当テーブ
ル5の内容を、例えばサービスプロセッサ又は特定命令
で線401、更新回路4を介して書き換える。このセクシ
ョン割当テーブル5は第2図(a)に示す構成であり、
また、セクション割当テーブル5の内容は例えば第2図
(b)で示したように設定される。第2図(b)では、
セクション0をID番号1のプログラムモジュール又はOS
に最優先に割付け、セクション1はID番号2と5で共有
し、セクション2はID番号3,6,8で共有し、さらにセク
ション3はID番号4,7,9〜Fで共有することを示してい
る。
あるプログラムモジュール走行時、走行前に当該プログ
ラムモジュール、又はあるOS走行時はOSの識別子(ID)
が、命令でIDレジスタ2にロードされる。IDレジスタ2
の内容はデコーダ51(第2図)でデコードされ、セクシ
ョン割当テーブル5の当該IDに該当するエントリから、
あらかじめ格納されていたセクション番号が読み出さ
れ、その結果(カーレントセクション番号)がセクショ
ン番号保持レジスタ6に保持される。次命令からは、当
該IDに相当する命令のみが走行する。次命令の示す論理
アドレスは論理アドレスレジスタ1に設定される。セク
ション番号保持レジスタ6の内容と論理アドレスレジス
タ1の内容からセクション索引回路7によりアドレス変
換バッファ3上の決められたセクション番号内のエント
リが索引される。
第3図にセクション索引回路7の詳細を示す。第3図で
は、アドレス変換バッファ3を複数セクションに区切っ
て使用するモード(モードA)と区切らずに使用するモ
ード()との切替えが容易に行えることを目指した回
路例を示している。モードAの場合は、AND回路711,71
2,713等とOR回路721,722,723等とを介して、第1図のセ
クション番号保持レジスタ6の内容が線601、デコーダ6
1を介してデコードされた当該セクション番号のみが有
効になる。例えばレジスタ6でセクション番号#0が指
定された場合、OR回路721の出力のみが“1"(722,723の
出力は“0")となり、AND回路731,741,751を介して、論
理アドレスレジスタ1のページ番号の下位14のデコーダ
17でのデコード結果により、セクション#0内の当該エ
ントリ番号が指定されて、読み出される。一方、モード
の場合は、レジスタ6の内容のかわりに、論理アドレ
スレジスタ1のセグメント番号の下位12がデコーダ16で
デコードされ、AND回路701,702,703、OR回路721,722,72
3を介して、アドレス変換バッファ2のセクション指定
が行われる。論理アドレスレジスタ1のページ番号の下
位でセクション内のエントリ番号が指定されることは、
モードAの場合と同様である。このモードは、全セク
ションを同一IDで使用した方が効果が大きいケースに使
われる。
アドレス変換バッファ3から読み出されたデータは、ア
ドレス変換データレジスタ30に保持され、そのID31、論
理アドレスのKEY部32はキー比較回路8により、該当す
る論理アドレスか否かの比較が行われる。キー比較回路
8で一致が検出されると、一致信号がセレクタ9に送ら
れて、アドレス変換データレジスタ30の実ページ番号33
が選択され、実ページレジスタ10に設定される。レジス
タ30の保護ビット等34についても同様である。
第4図はキー比較回路8の詳細である。第4図でも、モ
ードA、モードどちらでも動作するための回路構成を
示している。アドレス変換データレジスタ30のID31はID
レジスタ2のカレントIDの内容と比較器801で比較さ
れ、一致していれば、ゲート回路811の出力は、“1"と
なる。また、レジスタ30の論理アドレスのKEY部32の内
の323は論理アドレスレジスタ1のページ番号の上位13
と比較器804で比較され、一致していればゲート回路814
の出力は“1"となる。レジスタ30の論理アドレスのKEY
部32の内の321,322は論理アドレスレジスタ1のセグメ
ント番号11,12と各々比較器802,803で比較され、ゲート
回路812,813に結果が出力される。モードAの場合はア
ドレス変換バッファ3にセグメント番号全ビットが格納
され、有効である。そのため、比較器803の出力は有効
として処理される。モードの場合はセグメント番号下
位部はセクション指定に振り分けられるので、アドレス
変換バッファ3内の322の内容は無効となる。回路82、A
ND回路813、OR回路823は、これらの制御を行うものであ
る。AND回路811,812,814及びOR回路823の出力は全て回
路85でANDされ、ID及び論理アドレスのKEY部が一致して
いれば、該当する論理アドレスとして、一致信号がAND
回路85から第1図のセレクタ9に送られ、実ページ番号
33が出力される。
以上の実施例で示した方式は、モードA、モードとし
て現在考えられる使い方としては、モードAとは1マシ
ン上で複数OSを走行させる仮想計算機(VM)モード、モ
ードとは1マシン1OSで走行するBareマシンモードが
あり、アドレス変換バッファを複数セクションに分割す
る方法はVMモードで効果がある。但し、こゝで示した方
式はVMモード時のみに効果があるわけでなく、1OS走行
時でも特定プログラムモジュール(タスク)を優先させ
る場合に有効である。
第5図及び第6図はアドレス変換バッファのセクション
割付けの例を示したもので、第5図はセクション数が2
の場合、第6図はセクション数が4の場合である。1セ
クションに1ID(1つのプログラムモジュール又はOS)
のみ割当てられた場合が一番優先度が高く、複数IDが割
付けられた場合、優先度が低い。また、IDの数が固定の
場合は、例えば第6図(3)が有利で、可変の場合は第
6図(2)が有利であり、この優先順を変更できること
は意味がある。
第7図は、アドレス変換バッファのエントリ数の増加に
対する命令実行時間への寄与率に関する例を示したもの
である。ある一定以上多くても寄与率が低いことを第7
図(2)が示している。第3図(3)は次のことを示し
ている。混在して使う場合は、例えばOSa,OSbで同様な
論理アドレスを使うことが多いことから、OSaからOSb
ディスパッチされ再びOSaにもどった時には、ほとんど
アドレス変換バッファ上には有効な情報は残っていず、
性能低下をまねく。分割して使用すれば、他OSに切替っ
ても自OS用情報は残るので、擾乱がなく、性能改善効果
は大きい。
〔発明の効果〕
以上説明したように、本発明によれば、アドレス変換バ
ッファを複数のセクションに分割して、その割付けに優
先度を持たせることにより、複数プログラムモジュール
又は複数OSを走行させる場合、プログラムモジュール又
はOSが切替ってもその悪影響を最小限にとゞめることが
でき、また、一つのプログラムモジュール又はOSしか走
行しない場合には、当該プログラムモジュール又はOSで
全セクションを使用することができ、柔軟性のあるアド
レス変換バッファ制御が可能になる。
【図面の簡単な説明】
第1図は本発明の一実施例の構成図、第2図は第1図の
セクション割当テーブルの詳細図、第3図は第1図のセ
クション索引回路の詳細図、第4図は第1図のキー比較
回路の詳細図、第5図及び第6図はアドレス変換バッフ
ァのセクション割付けの一例を示す図、第7図は本発明
の効果を説明する図である。 1……論理アドレスレジスタ、2……IDレジスタ、3…
…アドレス変換バッファ、30……アドレス変換データレ
ジスタ、4……更新回路、5……セクション割当テーブ
ル、6……セクション番号保持レジスタ、7……セクシ
ョン索引回路、8……キー比較回路、9……セレクタ、
10……実アドレスレジスタ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】仮想記憶方式をとり、以前にアドレス変換
    処理して得られたアドレス変換情報を蓄えておく高速メ
    モリ(以下、アドレス変換バッファと称す)を具備して
    なる電子計算機におけるアドレス変換制御方法であっ
    て、 前記アドレス変換バッファを複数の領域に分割して使用
    するモードと分割しないで使用するモードに任意に切り
    替えると共に、 前記アドレス変換バッファを複数の領域に分割して使用
    するモードでは、該アドレス変換バッファ中の少なくと
    も一つの領域は特定のタスク又は特定のOSのアドレス変
    換情報を格納するのに優先的に割当て、他の領域は複数
    のタスク又は複数のOSのアドレス変換情報を格納するの
    に共用する、 ことを特徴とするアドレス変換制御方法。
JP62088455A 1987-04-10 1987-04-10 アドレス変換制御方法 Expired - Fee Related JPH06100987B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62088455A JPH06100987B2 (ja) 1987-04-10 1987-04-10 アドレス変換制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62088455A JPH06100987B2 (ja) 1987-04-10 1987-04-10 アドレス変換制御方法

Publications (2)

Publication Number Publication Date
JPS63254544A JPS63254544A (ja) 1988-10-21
JPH06100987B2 true JPH06100987B2 (ja) 1994-12-12

Family

ID=13943271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62088455A Expired - Fee Related JPH06100987B2 (ja) 1987-04-10 1987-04-10 アドレス変換制御方法

Country Status (1)

Country Link
JP (1) JPH06100987B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03244052A (ja) * 1990-02-21 1991-10-30 Nec Corp アドレス変換バッファ装置
CN1168025C (zh) * 1999-03-10 2004-09-22 国际商业机器公司 用于多线程处理机的指令高速缓存器
JP2002342163A (ja) * 2001-05-15 2002-11-29 Fujitsu Ltd マルチスレッドプロセッサ用キャッシュ制御方式
JP4233492B2 (ja) 2004-06-02 2009-03-04 富士通マイクロエレクトロニクス株式会社 アドレス変換装置
JP2007122305A (ja) * 2005-10-27 2007-05-17 Hitachi Ltd 仮想計算機システム
CN105706049B (zh) * 2014-01-27 2019-04-16 上海兆芯集成电路有限公司 操作系统例行程序的预测历程储存器的部分使用
KR102653373B1 (ko) * 2018-09-13 2024-04-02 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5475938A (en) * 1977-11-30 1979-06-18 Fujitsu Ltd Data processor of multiplex artificial memory system
JPS5687283A (en) * 1979-12-18 1981-07-15 Fujitsu Ltd Control system of conversion index buffer

Also Published As

Publication number Publication date
JPS63254544A (ja) 1988-10-21

Similar Documents

Publication Publication Date Title
US10740249B2 (en) Maintaining processor resources during architectural events
US6981125B2 (en) Method and apparatus for managing shared virtual storage in an information handling system
US7089377B1 (en) Virtualization system for computers with a region-based memory architecture
US7409487B1 (en) Virtualization system for computers that use address space indentifiers
US5754818A (en) Architecture and method for sharing TLB entries through process IDS
US5752275A (en) Translation look-aside buffer including a single page size translation unit
KR100996753B1 (ko) 시퀀서 어드레스를 관리하기 위한 방법, 맵핑 관리자 및 멀티 시퀀서 멀티스레딩 시스템
US5144551A (en) Computer memory management method utilizing segmentation and protection techniques
EP0902922B1 (en) Method and apparatus for caching system management mode information with other information
EP0506236A1 (en) Address translation mechanism
JPH06187152A (ja) アドレス変換方法及びデータ処理装置
US6366996B1 (en) Page memory management in non time critical data buffering applications
JPH06100987B2 (ja) アドレス変換制御方法
US5732405A (en) Method and apparatus for performing a cache operation in a data processing system
US20200159535A1 (en) Register deallocation in a processing system
JPS61160160A (ja) 仮想計算機システムにおけるアドレツシング制御装置
JP4354583B2 (ja) アクセス方法及びアクセス処理プログラムを記録した記録媒体
JPH01125638A (ja) キャッシュメモリ装置
JPS6143744B2 (ja)
EP0550290A2 (en) CPU register array
JPS60118952A (ja) 仮想アドレス制御方式
JPH077355B2 (ja) 情報処理装置
JPS6353574B2 (ja)
JPS58125287A (ja) 高速緩衝記憶装置
JPH01206442A (ja) 拡張記憶装置のアドレス変換方式

Legal Events

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