JPH04157542A - アドレス変換装置 - Google Patents

アドレス変換装置

Info

Publication number
JPH04157542A
JPH04157542A JP2283772A JP28377290A JPH04157542A JP H04157542 A JPH04157542 A JP H04157542A JP 2283772 A JP2283772 A JP 2283772A JP 28377290 A JP28377290 A JP 28377290A JP H04157542 A JPH04157542 A JP H04157542A
Authority
JP
Japan
Prior art keywords
address
logical
logical address
register
data
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.)
Pending
Application number
JP2283772A
Other languages
English (en)
Inventor
Hideo Taniguchi
秀夫 谷口
Satoshi Hakomori
箱守 聰
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.)
N T T DATA TSUSHIN KK
NTT Data Group Corp
Original Assignee
N T T DATA TSUSHIN KK
NTT Data Communications Systems 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 N T T DATA TSUSHIN KK, NTT Data Communications Systems Corp filed Critical N T T DATA TSUSHIN KK
Priority to JP2283772A priority Critical patent/JPH04157542A/ja
Publication of JPH04157542A publication Critical patent/JPH04157542A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、仮想記憶を有するコンピュータシステムにお
いて、論理アドレスを実アドレスに高速に変換するため
のアドレス変換装置に関するものである。
〔従来の技術] 仮想記憶機能を持つ実記憶装置にローディングされたプ
ログラムは、仮想記憶装置上でのアドレス(仮想アドレ
ス、論理的アドレス)が割り付けられている。しかし、
実記憶装置を参照するアドレスは、実記憶装置の実際の
アドレス(実アドレス〕であるため、プログラムの実行
に際しては、データを参照した時点でその仮想アドレス
を実アドレスに変換する必要がある。そして、このアド
レス変換は、プログラムの実行中に高速に行う必要があ
るので、このためのハードウェア機構(動的アドレス変
換機構)が設けられている。
従来の動的アドレス変換機構では、第3図に示すように
、セグメント・テーブル302とページテーブル303
を参照して継続的にアドレス変換を行う。仮想ア闘レス
(301)(論理アドレス〕32ビットのうち、ビット
8〜19は上位8ビツトと下位4ビツトに分けて上位部
でセグメント・テーブル記入項目の番号を、下位部でペ
ージ・テーブル記入項目の番号を表わしている。そして
、セグメント・チー各ル記入項目には、ページ・テーブ
ルの開始アドレスが記憶されている。一方、ページ・テ
ーブル記入項目には、実アドレスの上位12ビツトが記
憶されている。また、仮想アドレス301のビット20
〜31は、4にバイトのページ内での変位を表わしてい
る。
動的アドレス変換では、次の順序でアドレス変換を行う
■セグメント・テーブル起点レジスタ300に記憶され
ているセグメント・テーブル302の開始アドレスを知
る。
■セグメント番号から、セグメント・テーブル記入項目
を求める。
■ページ・テーブル303の開始アドレスを知る。
■ページ番号から、ページ・テーブル記入項目を求める
■ページ枠アドレスを実アドレス304のビット8〜1
9に設定する。
■仮想アドレス301の変位を、そのまま実アドレス3
04に移す。
これで、実アドレスが求まったことになる。
また、さらに参照頻度の高いページについては、セグメ
ント番号・ページ番号とページ枠アドレスの対応間係を
レジスタ(TLB (TranslationL oo
kaside  B uffer)に記憶しておき、超
高速にアドレス変換を行う。
これらのアドレス変換については、例えば、「仮想計算
機」昭和53年12月25日共立出版(株)発行、pp
、35〜36に記載されている。
しかしながら、これらのセグメント・テーブル302お
よびページ・テーブル303は複数のプロセスがそれぞ
れ用いている仮想空間(論理空間)毎に別個に設けられ
ており、メモリをアクセスするプロセスが切り換わる毎
に、論理空間の切換えが必要であった。すなわち、第7
図に示すように、磁気ディスク装置等の外部メモリ12
に格納されており、多数のプロセスは、いずれもテキス
ト部(操作命令部)Tと、データ部(プログラムが走行
した時に利用する数値や文字列等を持つ部分)Dとから
形成される。プログラムが走行した後は、テキスト部T
は各空間に共通であるが、その他の部分はプロセスが使
用する各空間毎に、独立したテーブル10−1.10−
2.10−3.・・・・が作成される。テーブルに格納
される際には、テキスト部Tとデータ部りとスタック部
S(プログラムが走行した際に、メモリのその領域をワ
ークエリア等に利用する部分)が形成される。
そして、第6図に示すように、これら複数の空間10−
1.to−2,10−3が処理実行単位となっているた
め、プロセスが動作する場合には、論理アドレスを動的
アドレス変換機構またはTLB等のアドレス変換部13
により実アドレス15内のいずれかの値に変換されるが
、別のプロセスの処理に移ると、論理空間も変更される
ため、テーブルを切換える必要があった。
一方、上述のようにテーブルを切換える面倒をなくすた
めに、第8図(a)に示すように、最初から複数の論理
空間のデータ部りを1つのテーブルに格納してしまう方
法もある。すなわち、1つの空間の中にプロセス(スレ
ッドと呼ぶ)をn個埋め込むとともに、各スレッド毎の
プログラムも最初から同−論理空間用に作成する必要が
ある。
しかし、この場合のテキスト部Tとデータ部りは、第8
図(C)の10から明らかであるが、例えば、レジスタ
RAの内容をアドレス1000のメモリに格納する命令
(move  RA  1000)のように、一般的な
名称で記述されており、プロセスが複数個あるにもかか
わらず、記述は1個で記載されているため、複数の論理
空間毎に分離する処理が必要となる。
そこで、本発明者等は、本願とは別出顧により、第8図
(b)(c)−1tに示すように、1つの論理空間内に
、データ部やスタック部へのアクセスをレジスタ相対の
命令で記述している1つのテキスト部と、各プロセス対
応に存在する複数のデータ部とスタック部とを配置し、
多数のプロセス間でテキスト部を共有する方法(「高多
重プロセス制御方法J)を提案した。これによれば、複
数のプロセスを切換える場合に、テーブルを切換える必
要がなく、資源の排他制御を行う必要もなく、処理を簡
単化して、高速切換えが可能となる。
[発明が解決しようとする課題] 以上述べたように、従来、同じプログラムを用いて動作
する多数のプロセスを制御する方法としては、(1)テ
キスト部とデータ部とスタック部を1つの論理空間に割
り付けたプロセス(テーブル)を多数作成して、それぞ
れを処理実行単位とする方法(第6図に示す方法)と、
(n)1つの論理空間にテキスト部とデータ部を割り付
けてプロセス間で共有し、各プロセス毎にスタック部を
設けて、これらを処理実行単位とする方法(11i8’
9(a)に示す方法)と、(1)1つの論理空間にプロ
セス間で共有されるテキスト部と、各プロセスのデータ
部とスタック部を置くように制御することで、プロセス
の切換え時に論理空間の切換えを行わずに済ます方法(
第8図(b)に示す方法)とがある。
しかし、前述のように、(a)の方法は、プロセスを切
換える度に論理空間の切換えが必要になるため、切換処
理が複雑となり、処理速度の低下を招くという問題があ
る。また(b)の方法は、1つの論理空間を多数のプロ
セスで共有し、かつ1つのプロセス毎に資源を割り当て
ているため、(イ)プロセス間での資源の排他制御が必
要であり、処理が複雑化するとともに性能低下を招くこ
と、(ロ)よく利用されている曲者の方法におけるプロ
グラム記述とはプログラム記述法が異なるため、既存の
プログラムがそのままでは利用できないとともに、特殊
なプログラム作成技術が必要である。
さらに、(C)の方法は、テキスト部がデータ部にアク
セスするためには、特定のレジスタをベースとして行う
命令で記述されていることが求められる。そのため、コ
ンパイラに、データ部アクセス時にはレジスタをベース
とした命令展開を行う機能が必要になる(第8図(c)
−11参照)。
本発明の目的は、このような従来の課題を解消し、コン
パイラのレジスタをベースとした命令展開機能を不要と
して、オペレーティングシステムが基本単位とするプロ
セスの切換え処理を高速に実費することが可能なアドレ
ス変換装置を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するため、本発明のアドレス変換装置は
、プロセッサからアクセス要求された論理アドレスがデ
ータ部であるか否かを判断するアドレス判定回路と、各
プロセス毎のデータ部のアドレス情報を設定したレジス
タと、レジスタの内容を利用して論理アドレスを変更す
る論理アドレス変更回路と、論理アドレスをメモリの実
アドレスに変換するアドレス変換回路とを有することに
特徴がある。
〔作  用〕
本発明においては、プロセッサから要求された論理アド
レスがデータ部であるか、それ以外のものであるかを判
断し、データ部の論理アドレスについてはレジスタの内
容による変換を行い、その他のものについては従来と同
じように一律に実アドレスに変換する。二のように、従
来の方法では、プロセッサから要求される論理アドレス
の性質を意識せずに、−律に実アドレスに変換していた
のに対して、本発明では、プロセッサから要求されるア
ドレスの性質により、アドレス変換処理を変える。これ
により、コンパイラのレジスタをベースとした命令展開
機能を不要にして、プロセスの切換え処理を高速に実行
することができる。
〔実施例] 以下、本発明の実施例を、図面に基づいて詳細に説明す
る。
第4図、および第5図は、本発明と従来のアドレス変換
装置の比較説明図である。
従来のアドレス変換装置では、第4図の実線で示すよう
に、プロセッサlから要求される論理アドレスの性質を
意識することなく、−律にこれを全てアドレス変換回路
5に送り、実アドレスに変換してメモリ6をアクセスし
ていた。
これに対して、本発明のアドレス変換装置では、第4図
の破線で示すように、プロセッサ1から要求される論理
アドレスの性質を判断部2で判断し、その論理アドレス
がデータ部であるか否かを判別する。その判断の結果、
データ部のときには、外付回路によりレジスタ4の内容
を利用して論理アドレスを変更部3で変更してから、ア
ドレス変換回路5に送り、実アドレスに変換してメモリ
6にアクセスするのである。
すなわち、従来の変換機構は、第5図(a)に示すよう
に、1つの論理空間内に、1つのテキスト部Tと各プロ
セス毎のデータ部り、、 D、、 D、とを配置すると
ともに、レジスタ相対の各レジスタに対するオフセット
値に展開するためのコンパイラと、プロセッサ11アド
レス変換回路5、およびメモリ6を備えたものである。
これに対して、本発明の変換機構は、第5図(b)に示
すように、1つの論理空間内に、1つのテキスト部Tと
各プロセス毎のデータ部D+tD*tD、とを配置する
とともに、プロセッサ11アドレス変換回路5、メモリ
6の他に、アドレス判定回路2、論理アドレス変更部3
、およびレジスタ4を備えている。すなわち1本発明に
おいては、従来のコンパイラの代りに、ハードウェア2
,3゜4を新たに設置する。
第1図は、本発明の一実施例を示すアドレス変換装置の
ブロック構成図である。
第1図において、lはプログラムを実行し、メモリアク
セスを要求するプロセッサ、2は要求された論理アドレ
スがデータ部であるか、それ以外のスタック部等である
かを判定するアドレス判定回路、3はデータ部の場合に
は、各プロセス毎に設定されたレジスタとオフセット値
を用いてアドレス値を変更するための論理アドレス変更
部、4は各プロセス毎に異なる値を設定したレジスタ、
5は動的アドレス変換機構等のアドレス変換回路、6は
主記憶等のメモリ、20はデータ論理アドレス線、21
は非データ論理アドレス線である。
先ず、この装置を動作するには、プロセッサlがアクセ
スしたい論理アドレスをアドレス判定回路2に出力する
。アドレス判定回路2は、論理アドレスがデータ部であ
るか、それ以外のものであるかを判定し、データ部であ
る場合にはデータ論理アドレス線2oに論理アドレスを
送出する。また、データ部でない場合には、非データ論
理アドレス線21に論理アドレスを出力する。
論理アドレス変更部3は、データ論理アドレス線20の
論理アドレスと、レジスタ4が保持している内容を基に
して、論理アドレスの変換を行い、その結果の論理アド
レスをアドレス変換回路5に送出する。
一方、非データ論理アドレス線21の論理アドレスは、
そのままアドレス変換回路5に送出される。アドレス変
換回路5は、受は取った論理アドレスを従来と同じ処理
で実アドレスに変換し、メモリ6に送出する。メモリ6
は、アクセスされた実アドレスの内容を読み出して、こ
れを破線の経路でプロセッサlに送出する。
第2図は、第11iIにおける処理フローチャートであ
る。
先ず、プロセッサ1かもアクセスする論理アドレスを送
出する(ステップ101)、次に、アドレス判定回路2
は、データ部の論理アドレスであるか否かを判定する(
ステップ102)、データ部の論理アドレスであれば、
論理アドレス変更部3がレジスタ4の内容に基づいて、
各プロセス毎の値に論理アドレスを変換する(ステップ
103)。アドレス変換回路5は、変更されたデータ部
の論理アドレス、およびそのまま受は取ったそれ以外の
論理アドレスを実アドレスに変換する(ステップ104
)、変換された実アドレスでメモリ6にアクセスされ、
実アドレスの内容が読み出されて、プロセッサlに送出
される(ステップ105)。
〔発明の効果〕
以上説明したように、本発明によれば、論理アドレスが
データ部の場合には、ハードウェアにより論理アドレス
をプロセス毎の値に変更するので、コンパイラのレジス
タをベースとした命令展開機能が不要となり、プロセス
の切換え処理を高速に行うことができる。
【図面の簡単な説明】 第1図は本発明の一実施例を示すアドレス変換装置のブ
ロック構成図、第2図は第1図における動作フローチャ
ート、第3図は従来の動的アドレス変換機構の構成図、
第4図および第5図は本発明と従来の動作の比較説明図
、第6図および第7図は従来の第1の例を示すアドレス
変換装置の動作説明図、第8図は従来の第2.第3の例
を示すアドレス変換装置の動作説明図である。 1:プロセッサ、2ニアドレス判定回路、3:論理アド
レス変更部、4:レジスタ、5ニアドレス変換回路、6
:メモリ、20:データ論理アドレス線、212非デー
タ論理アドレス線、12:外部メモリ、10−1.10
−2.10−3:論理アドレス空間、13ニアドレス変
換機構、15:実アドレス、300:セグメントテーブ
ル起点レジスタ、301:仮想アドレスレジスタ、30
2;セグメントテーブル、303:ページテーブル、3
04:実アドレスレジスタ。 第  2   図 第   4  図 イ這か への 4= 咽 q) U) わ 二 第  6  図 第  7  図

Claims (1)

    【特許請求の範囲】
  1. (1)複数のプロセス毎のプログラムを実行するプロセ
    ッサと、該プロセッサからアクセスされるメモリとの間
    に配置されたアドレス変換装置において、上記プロセッ
    サからアクセス要求された論理アドレスがデータ部であ
    るか否かを判断するアドレス判定回路と、各プロセス毎
    のデータ部のアドレス情報を設定したレジスタと、該レ
    ジスタの内容を利用して上記論理アドレスを変更する論
    理アドレス変更回路と、論理アドレスを上記メモリの実
    アドレスに変換するアドレス変換回路とを有することを
    特徴とするアドレス変換装置。
JP2283772A 1990-10-22 1990-10-22 アドレス変換装置 Pending JPH04157542A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2283772A JPH04157542A (ja) 1990-10-22 1990-10-22 アドレス変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2283772A JPH04157542A (ja) 1990-10-22 1990-10-22 アドレス変換装置

Publications (1)

Publication Number Publication Date
JPH04157542A true JPH04157542A (ja) 1992-05-29

Family

ID=17669924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2283772A Pending JPH04157542A (ja) 1990-10-22 1990-10-22 アドレス変換装置

Country Status (1)

Country Link
JP (1) JPH04157542A (ja)

Similar Documents

Publication Publication Date Title
US4495575A (en) Information processing apparatus for virtual storage control system
JP3219826B2 (ja) 情報処理装置
JPS6122825B2 (ja)
JP2007122305A (ja) 仮想計算機システム
US5437016A (en) Apparatus and method for translating logical addresses for virtual machines
US6606697B1 (en) Information processing apparatus and memory control method
JPH0351011B2 (ja)
JPH05210570A (ja) アドレス拡張をする方法及び手段
JPH04308953A (ja) 仮想アドレス計算機装置
JPH07120318B2 (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
KR930009092B1 (ko) 가상 메모리 어드레싱을 채택한 데이타 처리 시스템에서의 페이지 프레임 교체 장치 및 방법
JP2933628B2 (ja) 主記憶装置管理方法および計算機システム
EP0533190B1 (en) Data processing system with address translation function for different page sizes
JPS5853075A (ja) 高速分離バツフアを備えた情報処理装置
JPS62131352A (ja) アドレス変換制御方式
KR920008959B1 (ko) 가상 컴퓨터 시스템의 정보 이송 방법
JPH04157544A (ja) 高多重プロセス制御方法
JP2612173B2 (ja) 仮想計算機
JPS6143744B2 (ja)
JPS6126100B2 (ja)
JPH0481951A (ja) 仮想計算機システムのアドレス変換機構
JPH0550019B2 (ja)
JP2555461B2 (ja) キャッシュメモリシステム
JP2602230B2 (ja) データ処理装置
JPH07134658A (ja) 仮想計算機システムのアドレス変換バッファ制御方式