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

アドレス変換方式

Info

Publication number
JPH01108652A
JPH01108652A JP62263802A JP26380287A JPH01108652A JP H01108652 A JPH01108652 A JP H01108652A JP 62263802 A JP62263802 A JP 62263802A JP 26380287 A JP26380287 A JP 26380287A JP H01108652 A JPH01108652 A JP H01108652A
Authority
JP
Japan
Prior art keywords
address
virtual
virtual space
real
translation
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
JP62263802A
Other languages
English (en)
Inventor
Yoshiichi Mori
森 芳一
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 JP62263802A priority Critical patent/JPH01108652A/ja
Publication of JPH01108652A publication Critical patent/JPH01108652A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は多重仮想記憶方式の情報処理装置に係り、特に
相異なる仮想記憶間でのデータ転送を行う際に好適なア
ドレス変換方式に関する。
〔従来の技術〕
仮想記憶方式を採る情報処理装置では、プログラムは仮
想記憶装置と呼ばれる見掛は上の空1ujにロードされ
る。仮想記憶域上のプログラムは、セグメントあるいは
ページといった一定区画に分割され、この一区画ごとに
実記憶域上に置かれて実行される。このためプログラム
は実記憶容量を意識することなく広大な仮想空間を利用
でき、容量に関するプログラミング上の制約が緩和され
る。
また、実記憶上には一定区画ごとに複数のプログラムが
存在できるため、プログラムの多重処理の面からも都合
の良いものである。
このように仮想記憶方式は、複数の大きなプログラムの
多重処理を効率良く行うことが可能であるが、仮想記憶
域上にロードされるプログラムの大きさや多重度が増加
するに従い仮想記憶域でさえも容量の限界に達して、前
記の利点が失われてしまう恐れがある。そこで、仮想記
憶方式の考えを拡張した多重仮想記憶方式が採用される
多重仮想記憶方式では1つのプログラムに対して1つの
仮想記憶方式が与えられ、これが複数存在する。プログ
ラムは1つの仮想記憶域を専有できるために、単一仮想
記憶方式に比べてよりプログラムの容量の制限が緩和さ
れ、プログラム多重度も仮想空間の数だけ許されるため
、理論上無限の多重処理が可能となる。
しかし、この多重仮想記憶方式は複数の仮想記憶域を独
立にプログラムに対して割当てるために。
1つの仮想記憶域上にあるプログラムが他の仮想記憶域
間にあるデータやプログラムを参照しようとする場合に
は問題が生じる。例えば相異なる仮想記憶域間でデータ
転送を行う場合は、多重仮想記憶方式の制約から直接に
データのやり取りをすることができないため、お互いの
仮想記憶域に共通な仮想アドレスで定義される共通域を
経由してデータ転送を行わなければならない。
このため、各仮想記憶域上で自由に使用できる容量に制
限が加わったり、データを共通域に一担ロードするため
のオーバーヘッド増といった弊害を生じ、さらに他の仮
想記憶域上に存在するプログラムを利用する場合なども
同様の問題が発生した。
これは、処理装置が処理の対象とする仮想記憶域が処理
装置の持つ仮想空間識別子により一意に定まり、制御プ
ログラムがこの識別子に変更しない限り他の仮想空間の
アクセスができないことによる。また、プログラムを構
成する命令の命令アドレスやオペランランドアドレスは
1つの仮想空間内で定義された仮想アドレスであり、一
般の命令では同一仮想空間内でしかデータを扱うことが
できないためである。
そこで、このような仮想記憶域間での連絡機能を強化す
る目的の1つとして、相異なる仮想記憶域間でデータの
移動を行うMVCP (Move t。
P rimary)命令やMVCS (Move to
 5econdary)命令が提唱された。データの移
動にか\わリを持つ2つのアドレス空間は、それぞれ−
次アドレス空間(P rjmary Address 
S paca)と二次アドレス空間(Secondar
y Address 5pace)として区別される。
データ移動の指示をする命令を含んだアドレス空間が一
次であり、移動の対象となるデータ域だけが関連するア
ドレス空間が二次である。MVCP命令は二次アドレス
空間から一次アドレス空間へデータを移動し、MVC8
命令は一次アドレス空間から二次アドレス空間へデータ
を移動するものである。両命令とも動作自体はMMC命
令と同様であるが、2つのオペランドがそれぞ武具なる
仮想空間に存在するために、効率の良い動的アドレス変
換が処理の高速化に鍵となる。
多重仮想記憶方式の動的アドレス変換は、セグメントテ
ーブル起点レジスタ(S T O: SegmentT
able Origin Register) 、セグ
メントテーブル、及びページテーブルを使用して行われ
る。セグメントテーブル起点レジスタは1つの仮想空間
と1対1で対応するセグメントテーブルの起点アドレス
を示している。ある仮想空間が処理装置を使用している
ときには、そのセグメントテーブルの起点アドレスが前
記STOにロードされる。これにより処理装置は、現在
処理装置を使用中のプログラムの仮想アドレスが、複数
の仮想空間のどれを参照しているかを認識することでき
る。セグメントテーブルは1つの仮想空間を複数のセグ
メントに分割する管理情報からなる。実際には複数のセ
グメンテーブルエントリで構成され、各々のエントリに
はそのエン1〜り咎代表するページテーブルの起点アド
レスが入っている。ページテーブルは1つのセグメント
を複数のページに分割する管理情報からなる。実際には
複数のページテーブルエントリで構成され、各々のエン
トリにはそのページが実記憶域に置かれる際の実アドレ
スが入っている。
プログラムで使用する仮想アドレスは上位よりセグメン
トフィールド、ページフィールド、バイト変化フィール
ドで区切られ、セグメントフィールドは前記STOで示
されるセグメントテーブル内のセグメントテーブルエン
トリの索引に使用される。ページフィールドはセグメン
トテーブルエントリで示されるページテーブル内のペー
ジテーブルエン1−りの索引に使用される。セグメント
フィールドとページフィールドとにより索引されたペー
ジテーブルエントリには当該ページの実アドレスが入っ
ているため、このページ実アドレスとバイト変位フィー
ルドからプログラムの実アドレスが生成される。アドレ
ス変換によるオーバーヘッドを減少させるために、一般
にアドレス変換により変換された実アドレスは、変換前
の論理アドレス及びSTOと\もにアドレス変換バッフ
ァ(TLB)に登録され、以降のアドレス変換はTLB
を索引することで実アドレスが求められる。
前記MVCP、MVC8命令のオペランドアドレスにつ
いても以上の手順で変換を受けるが、2つのオペランド
の仮想空間が異なるために命令実行中は前記ST○をオ
ペランドごとに2つ定義する必要がある。
STOは先にも述べたように仮想空間の識別子として使
用され、TLBにも登録される。たり、STO自体はセ
グメントテーブルの起点アドレスであるため、そのビッ
ト長は大きく、そのまSではTLBエン1〜りの容量の
点から不都合である。
このため、一般にはSTOの情報を数ビットに圧縮した
5TOIDというものが使用される。5TOIDはST
Oの値が変わる度に定められた手順で作成される。
従って、MVCP、MVC8命令の実行に際しては2つ
のSTOIDが用意されていれば1両オペランドのアド
レス変換はTLBを使用して通常に行うことができる。
なお、この種の技術に関更するものは、例えばXBM社
発行のI B M  System/ 370  Ex
teneded Architecture Pr1n
ciples of 0perationChapte
r 3 、 Storage、 Chapter 10
 、 Control、 I n5toctions 
10−19が挙げられる。
〔発明が解決しようとする問題点〕
上記従来技術において、MVCP、MVC8命令だけの
ために2つの5TOIDを持つことはハードウェア量と
性能効果の点から効率が悪く、また、この命令が実行さ
れる度に2つの5TOIDを生成しなければならないた
めに処理上のオーバーヘットが増大するといった問題が
あった。
本発明の目的は、多重仮想記憶方式の情報処理装置にお
いて、2つの5TOIDを持つことなくMVCP、MV
C8命令の処理に代表される様な異なる仮想記憶域間で
のデータ転送を高速化することにある。
〔問題点を解決するための手段〕
上記目的は、仮想空間の識別を行う仮想空間識別子と、
仮想アドレスを願持する仮想アドレスレジスタと、実ア
ドレスを保持する実アドレスレジスタ、仮想アドレス、
実アドレス、仮想空間識別子の組からなる複数の変換対
を持つアドレス変換バッファとを具備し、仮想空間識別
子の示す仮想空間をアクセスする際は該当仮想空間識別
子と該当仮想アドレスとにより、アドレス変換バッファ
を索引し、アドレス変換バッファに該当仮想空間識別子
と該当仮想アドレスの一致する変換対が存在する場合は
、該当変換対の実アドレスを実アドレスレジスタに書込
み、仮想空間識別子と仮想アドレスの一致する変換対が
存在しない場合は所定のアドレス変換動作により求めた
実アドレスを実アドレスレジスタに書込み、仮想空間識
別子の示す仮想空間とは異なる仮想空間をアクセスする
際はアドレス変換バッファを索引せずに、所定のアドレ
ス変換動作により求めた実アドレスを実アドレスレジス
タに書込むことにより達成される。
〔作 用〕
仮想空間識別子の示す仮想空間をアクセスする際に、ア
ドレス変換バッファに該当仮想空間識別子と該当仮想ア
ドレスの一致する変換対の存在しない場合は所定のアド
レス変換動作によって求められた実アドレスを該仮想空
間識別子、該仮想アドレと\もにアドレス変換バッファ
に書込むが、仮想空間識別子の示す仮想空間とは異なる
仮想空間をアクセスする際は、所定のアドレス変換動作
によって求められた実アドレスをアドレス変換バッファ
に書込むことはしない。
このように、仮想空間識別子の示す仮想空間とは異なる
仮想空間をアクセスする際は、アドレス変換バッファを
索引せずに所定のアドレス変換により実アドレスを求め
るため、アドレス変換バッファの索引に必要な仮想空間
識別子を複数用意することなく、複数の異なる仮想空間
のアクセスが可能となる。
〔実施例〕
以下1本発明の一実施例について図面を用いて説明する
第1図は本発明の特徴であるアドレス変換手段を示した
図である。仮想空間識別子(STOID)1は現在処理
装置を使用しているプログラムの仮想空間を示す識別子
を保持するレジスタである。
第1オペランド仮想アドレスレジスタ(FOV)2、第
2オペランド仮想アドレスレジスタ(SOV)3は、そ
れぞれ命令の2つのオペランドの仮想アドレスを保持す
るレジスタである。本図ではアドレス変換の行われるア
ドレスの上位部分について図示している。アドレス変換
バッファ(TLB)4は複数のアドレス変換対で構成さ
れ、各変検討には当該仮想アドレスを実アドレスに変換
した際の仮想空間識別子、仮想アドレス、実アドレスの
組が登録される。アドレス変換機構(DAT)6は、動
的にアドレス変換動作を行う機構であり。
主記憶9上のセグメントテーブル、ページテーブルを索
引して実アドレスを生成する。第1オペランド実アドレ
スレジスタ(FOP)7、第2オペランド実アドレスレ
ジスタ(sop)sはそれぞれ命令の2つのオペランド
の実アドレスを保持するレジスタであり、前記TLB4
あるいはDAT6より出力された実アドレスがロードさ
れ、主記憶(MS)9のアクセスアドレスとして使用さ
れる。
線101は前記5TOID1の示す仮想空間とは異なる
仮想空間をアクセスする際に論理パ1′″となる信号線
である。線102は前記TLB4を索引した結果、該当
する5TOID、仮想アドレスの組みがTLB内に存在
しない(対応する実アドレスが存在しない)場合に論理
LL I 11となる信号線である。線103はORゲ
ート5で線101と線102の論理和をとった出力であ
り、DAT6の起動選択及びセレクタ11の選択に使用
される。線103が論理“0”の時はDAT6の動作起
動は行わず、セレクタ11はTLB4の出力線108を
選択する。線103が論理“1”の時はDAT6の動作
起動を行い、セレクタ11はDAT6の出力線109を
選択する。
次に本発明の特徴である異なる仮想記憶域間でのデータ
転送処理について、MVCP命令の実行を例にとり説明
する。
MVCP命令は2次アドレス空間に定義された第2オペ
ランドのデータを1次アドレス空間に定義された第1オ
ペランドに転送する命令である。
1次アドレス空間とはMVCP命令自身が存在する。5
TOIDIで示される仮想空間である。2次アドレス空
間とは1次アドレス空間とは異なる仮想空間である。2
次アドレス空間を規定するセグメントテーブル起点アド
レス(STO)は、5TOIDIに対応するSTO(図
示せず)とは別の手段、例えば制御レジスタ7番により
処理装置に与えられる。
MVCP命令のオペランドアクセスは以下に述べる手順
で行われる。第1オペランド仮想アドレスはFOV2に
、第2オペランド仮想オペランドアドレスは5OV3に
それぞれ保持される。第1オペランドのアクセスは、ま
ずアクセスに先立ち、線101を論理“0”にすること
で行われる。これは第1オペランドのアクセスが5TO
IDIで示される仮想空間(1次アドレス空間)に対し
て行われることを示すためである。また、セレクタ。
10は線105を選択する。5TOID1、FOv2に
それぞれ保持された仮想空間識別子、仮想アドレスは線
104,107を用いてTLB4を索引する。TLB4
に当該仮想空間識別子及び仮想アドレスの組が存在する
場合は、対応する実アドレスが線108に出力される。
また、このとき線102は論理“0″となり、ORゲー
ト5の出力線103が論理“O”となることで、線10
8に出力された実アドレスがセレクタ11、線110に
経由してFOP7にセットされる。逆にTLB4に当該
仮想空間識別子及び仮想アドレスの組が存在しない場合
は、線102は論理“1”、ついでORゲートの出力線
103が論理“1”となることで、アドレス変換機構(
DAT)6が起動される。このときDAT6には線10
7を経由して仮想アドレスが入力され、DAT6でのア
ドレス変換結果が線109、セレクタ110、線100
を経由してFOP7にセットされる。また、求められた
実アドレスは線109を経由してTLB4へも書込まれ
る。FOP7にセットされた実アドレスは線111、セ
レクタ12、線113を経由してMg2に与えられる。
次に第2オペランドのアクセスについて説明する。第2
オペランドのアクセスでは、アクセスに先たち線101
を論理“1”にセットする。これは第2オペランドのア
クセスを5TOIDIの示す仮想空間とは別の仮想空間
(2次アドレス空間)に対して行うためである。線10
1が論理1′1”になると、線103は線102の状態
にか\わらず論理II I I+となる。その結果、第
2オペランドのアドレス変換は常にTLB4を索引する
ことなくDAT6によって行われる。DAT6により変
換された実アドレスは線109、セレクタ11、線11
0を経由して5opsにセットされる。また、求められ
た実アドレスはTLB4への登録を行わない。5OP8
の実アドレスは線112、セレクタ12、線113を経
由してMg2に与えられる。
このように、MVCP命令の実行時、第2オペランドの
アドレス変換は常にDATA6によって行われ、5TO
IDI、TLB4を使用することはない。それゆえ、第
2オペランドのアクセスは、アクセスの度に動的アドレ
ス変換によりオーバーヘッドを生じる。しかし、本発明
では同一ページ内のアクセスは実アドレスレジスタFO
P、S。
Pに保持された実アドレスを使用して行うため、アドレ
ス変換が必要となるのは1つのページに対して1回であ
り、アドレス変換のオーバーヘッドは無視できる。
〔発明の効果〕
一17= 以上の説明から明らかな如く、本発明によれば次のよう
な効果が達成される。
(1)異なる複数の仮想空間をアクセスする際、TLB
の索引用に1つの仮想空間識別子を用意するだけでよい
ため、ハードウェア量が軽減する。
(2)仮想空間識別子の示す仮想空間とは異なる仮想空
間をアクセスする際は、アドレス変換動作により求めた
実アドレスをTLBに書込まないため、必要とする変換
対のTLBに存在する確率(ヒツト率)が増加する。
(3)MVCP命令、MVC8命令等が実行された毎に
複数の5TOIDを生成する必要がなく。
異なる仮想記憶域間のデータ転送が高速に行える。
【図面の簡単な説明】
第1図は本発明の一実施例の構成図である。 1・・・仮想空間識別子、 2・・・第1オペランド仮想アドレスレジスタ。 3・・・第2オペランド仮想アドレスレジスタ。 4 ・アドレス変換バッファ、  5・・・ORゲート
、6・・アドレス変換機構、 7・・・第1オペランド実アドレス、 8・・・第2オペランド実アドレス、 9・・・主記憶、  10,11.12・・・セレクタ

Claims (2)

    【特許請求の範囲】
  1. (1)多重仮想記憶方式の処理装置において、仮想空間
    の識別を行う仮想空間識別子と、仮想アドレスを保持す
    る仮想アドレスレジスタと、実アドレスを保持する実ア
    ドレスレジスタと、仮想アドレス、実アドレス、仮想空
    間識別子の組からなる複数の変換対を持つアドレス変換
    バッファとを具備し、前記仮想空間識別子の示す仮想空
    間をアクセスする際は、前記仮想空間識別子と仮想アド
    レスとにより前記アドレス変換バッファを索引し、アド
    レス変換バッファに前記仮想空間識別子と仮想アドレス
    の一致する変換対が存在する場合は、該変換対の実アド
    レスを前記実アドレスレジスタに書込み、前記仮想空間
    識別子と仮想アドレスの一致する変換対が存在しない場
    合は、所定のアドレス変換動作により求めた実アドレス
    を前記アドレスレジスタに書込み、前記仮想空間識別子
    の示す仮想空間とは異なる仮想空間をアクセスする際は
    、前記アドレス変換バッファを索引せずに、所定のアド
    レス変換動作により求めた実アドレスを前記実アドレス
    レジスタに書込むことを特徴とするアドレス変換方式。
  2. (2)前記仮想空間識別子の示す仮想空間をアクセスす
    る際は、前記アドレス変換バッファに仮想空間識別子と
    仮想アドレスの一致する該当変換対の存在しない場合に
    、前記所定のアドレス変換動作によって求められた実ア
    ドレスを該仮想空間識別子、該仮想アドレスとゝもアド
    レス変換バッファに書込み、前記仮想空間識別子の示す
    仮想空間とは異なる仮想空間をアクセスする際は、前記
    所定のアドレス変換動作によって求められた実アドレス
    をアドレス変換バッファに書込まないことを特徴とする
    特許請求の範囲第1項記載のアドレス変換方式。
JP62263802A 1987-10-21 1987-10-21 アドレス変換方式 Pending JPH01108652A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62263802A JPH01108652A (ja) 1987-10-21 1987-10-21 アドレス変換方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62263802A JPH01108652A (ja) 1987-10-21 1987-10-21 アドレス変換方式

Publications (1)

Publication Number Publication Date
JPH01108652A true JPH01108652A (ja) 1989-04-25

Family

ID=17394456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62263802A Pending JPH01108652A (ja) 1987-10-21 1987-10-21 アドレス変換方式

Country Status (1)

Country Link
JP (1) JPH01108652A (ja)

Similar Documents

Publication Publication Date Title
EP0208428B1 (en) Direct input/output in a virtual memory system
US3938100A (en) Virtual addressing apparatus for addressing the memory of a computer utilizing associative addressing techniques
EP0019358B1 (en) Hierarchical data storage system
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
JPH01500377A (ja) 2個のシステムクロックサイクルを利用する書込み動作をもったキャッシュメモリユニットを供与する装置及び方法
EP0438808A2 (en) Microprocessor incorporating cache memory
US4888727A (en) Peripheral controller with paged data buffer management
US6938118B1 (en) Controlling access to a primary memory
JPS5844263B2 (ja) 記憶制御回路
JPH01108652A (ja) アドレス変換方式
JPS63244152A (ja) 拡張記憶装置アクセス制御装置
JPH01125644A (ja) データ転送装置
JPS61224051A (ja) バッファメモリ制御方法
JPS6032220B2 (ja) 情報処理装置
JPS5853075A (ja) 高速分離バツフアを備えた情報処理装置
JPS6019534B2 (ja) 移送制御装置
JPS62151955A (ja) メモリアドレツシング方式
WO1996012230A1 (en) System and method for processing of memory data and communication system comprising such system
JP2540844B2 (ja) デ−タ転送制御方法
SU556440A1 (ru) Устройство дл управлени параллельным выполнением команд в стековой электронной вычислительной машине
JPS63197254A (ja) 仮想記憶制御装置
JPS58179977A (ja) メモリ制御装置
JPH0526216B2 (ja)
JPS61246850A (ja) バツフア記憶制御方式
JPH02116940A (ja) 間接ポインタを用いたページ共有方式