JPS6336012B2 - - Google Patents

Info

Publication number
JPS6336012B2
JPS6336012B2 JP54094534A JP9453479A JPS6336012B2 JP S6336012 B2 JPS6336012 B2 JP S6336012B2 JP 54094534 A JP54094534 A JP 54094534A JP 9453479 A JP9453479 A JP 9453479A JP S6336012 B2 JPS6336012 B2 JP S6336012B2
Authority
JP
Japan
Prior art keywords
address
register
channel
program
operating system
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
JP54094534A
Other languages
English (en)
Other versions
JPS5619153A (en
Inventor
Saburo Kaneda
Takamitsu Tsuchimoto
Tatsuya Yoshikawa
Naoki Matsumura
Yoshikatsu Seta
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP9453479A priority Critical patent/JPS5619153A/ja
Publication of JPS5619153A publication Critical patent/JPS5619153A/ja
Publication of JPS6336012B2 publication Critical patent/JPS6336012B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明は仮想計算機システムに関し、特に仮想
記憶機能を有する仮想計算機システムに関する。
近年、“仮想計算機”という概念が考えられ、
実用化の試みがなされている。仮想計算機の効用
を要約すると次の2つに集約できる。
(1) 計算機システムを使つている複数のユーザが
あたかも自動が計算機システムを専有している
ような環境を1台のハードウエアを使つて実現
できる。
(2) アーキテクチヤが若干異なる計算機システ
ム、またはシステム構成が若干異なる計算機シ
ステムを仮想的に作ることができる。
したがつて仮想計算機を使うことにより、異な
るオペレーテイング・システム(OS)の下で走
るプログラムを同時に走らせることが可能であ
り、またシステム構成をより柔軟に変えることが
できる。そしてシステムの動作状態の監視が可能
となり、また計算機に備えられているデバグ機能
を各ユーザは使うことができる。
第1図に従来の一般的な計算機システムの概念
図、第2図に仮想計算機システムの概念図を示
す。第1図、第2図において実計算機は計算機ハ
ードウエアのことである。オペレーテイング・シ
ステム(OS)は複数のユーザ・プログラムがそ
の下で走るために、計算機リソース(中央処理装
置、主記憶装置、チヤネル、入出力制御装置、入
出力装置およびシステム・コンソール等)を各プ
ログラムが共有するように管理する。そしてオペ
レーテイング・システムと実計算機との間にハー
ドウエア・インタフエースという概念的なインタ
フエースが設定されている。ユーザ・プログラム
とオペレーテイング・システムとの間にはユー
ザ・プログラム/OSインタフエースと呼ばれる
インタフエースが設定されている。
仮想計算機システムの場合、システム・リソー
スを各プログラムが共有するように、仮想計算機
モニター(VMM)と呼ばれるプログラムが複数
のオペレーテイング・システムを管理する。第2
図において破線で囲まれた部分が従来の一般の計
算機システムに対応するものであり、仮想計算機
(VM)と呼ばれ、仮想計算機システムのもとで
は複数の仮想計算機を同時に走らせることができ
る。
今日、計算機システムを効率よく運用するため
にマルチプログラミング技術が使用されており、
このマルチプログラミング技術によればシステ
ム・リソース(中央処理装置、主記憶装置、チヤ
ネル、入出力制御装置、入出力装置およびシステ
ム・コンソール等)を各プログラムが共有するこ
とができる。
これらのシステム・リソースの管理はオペレー
テイング・システムが行なつており、通常“特権
命令”と呼ばれるオペレーテイング・システムの
みが発生できる命令によつて、これらのシステ
ム・リソースにアクセスすることができる。個々
のユーザプログラムは“非特権モード”が割当て
られ、ユーザプログラムが前述の“特権命令”を
出すと“特権命令例外”と呼ばれるプログラム割
込が検出される。
仮想計算機の場合、従来のオペレーテイング・
システムは複数個同時に走ることが可能であり、
従つて従来オペレーテイング・システムが管理し
ていたシステム・リソースは仮想計算機モニター
(VMM)と呼ばれるプログラムが管理する。そ
して各ユーザのプログラムは使用しているオペレ
ーテイング・システムも含めてすべて“非特権モ
ード”が割当てられ、仮想計算機モニターのみが
“特権モード”で動作する。したがつて各ユーザ
が使用しているオペレーテイング・システムが
“特権命令”を実行しようとするとプログラム割
込が検出され仮想計算機モニターに実行制御が渡
り、仮想計算機モニターはこの“特権命令”をシ
ミユレーシヨンする。
仮想計算機の場合、前述した通り、複数個のオ
ペレーテイング・システムが同時に走るので、性
能を考えた場合、実計算機の主記憶装置のスペー
スが(通常のスペース)×(オペレーテイングシス
テムの数)だけ存在するのが望ましい。そして従
来は主記憶装置のコストの問題から仮想記憶シス
テムが利用されてきた。
この場合、後述するように、仮想計算機モニタ
ーにより主記憶の管理が行なわれる。したがつて
仮想計算機モニターの役割は概略次の通りであ
る。
(1) 各ユーザプログラム(オペレーテイング・シ
ステムも含めて)がシステム・リソースを効率
よく共有するように制御する。
(2) 各オペレーテイング・システムから出された
“特権命令”をシミユレーシヨンする。
(3) すべての割込(この中にはI/O割込、外部
割込および仮想記憶に附随する割込等も含まれ
る)を受けとつて、それらの割込原因に応じた
処理をして、必要ならば各オペレーテイング・
システムに割込を通知する。
仮想計算機における主記憶の管理は以下のよう
に行なわれる。
第3図に仮想計算機システムにおけるアドレス
空間の概念図、第4図にその具体例を示す。この
例は仮想計算機システムのもとで走るオペレーテ
イング・システムが仮想記憶システムを採用して
いるときの場合である。第3図において、仮想ア
ドレス、実アドレスはオペレーテイング・システ
ムが管理している仮想記憶上でのアドレスであ
り、オペレーテイング・システムが管理している
アドレス変換用のテーブルを使用して動的アドレ
ス変換(DAT)が実現される。従来の計算機シ
ステム(仮想計算機でない場合)では、この実ア
ドレスが主記憶装置アドレスと対応ずけられる
が、仮想計算機では複数のオペレーテイング・シ
ステムが同時に存在するので、ホストマシンの実
装主記憶のスペースが足りない。したがつてオペ
レーテイング・システムが管理している実アドレ
スをホストマシンでは論理アドレスとみなして、
ホストマシンの主記憶スペースの管理を仮想計算
機モニターが行なつている。
これを2重ページングと呼んでいる。この2重
ページングを行なうと性能上大変なオーバヘツド
になるので、2つのDAT変換テーブルを合成し
たテーブル(シヤドウ・テーブルと呼ばれる)を
仮想計算機モニターが用意して高速化を図る例が
発表されている。
つまり、オペレーテイング・システムが管理し
ている論理アドレスとホストマシンの主記憶アド
レスとの対応テーブルを仮想計算機モニターが管
理している。
前述の2つの変換テーブルのいずれかが変更さ
れれば、それをシヤドウ・テーブルへ反映させな
ければならないが、この処理を仮想計算機モニタ
ーが行なつている。第4図の具体例について説明
する。第4図はオペレーテイング・システムが管
理している論理ページアドレス16を仮想計算機
モニターが管理しているホストマシンの実ページ
アドレス100に対応させる例である。第4図に
おいてAはオペレーテイング・システムによつて
作成されたDATテーブルであり、論理ページア
ドレス16を実ページアドレス6に写像する。C
は仮想計算機モニターによつて作成されたDAT
テーブルであり、オペレーテイング・システムの
実ページアドレス6をホストマシンの実ページ1
00に写像する。Bはシヤドウ・テーブルであ
り、論理ページアドレス16をホストマシンの実
ページアドレス100に直接写像する。
以上は中央処理装置(CPU)における主記憶
の管理を述べたが、チヤネルに関しては以下のよ
うな処理が仮想計算機モニターにより行なわれ
る。仮想計算機のオペレーテイング・システムが
入出力装置起動命令を出すと、この命令は特権命
令であり、仮想計算機モニターに割出される。仮
想計算機側のオペレーテイング・システムが入出
力装置を起動するときのチヤネルプログラムはオ
ペレーテイング・システムが管理している実アド
レスで記述されている。したがつて、仮想計算機
モニターはこのチヤネルプログラムを仮想計算機
モニターが管理している主記憶上に作成し直し、
データアドレス、コマンド制御語(CCW)アド
レス等をホストマシン上の実アドレスに変換しな
おす。したがつてユーザ・プログラムによる
CCW修飾はサポートされない。
仮想計算機は、本明細書冒頭に述べた如き利点
を有するものであるが、同一プログラムを従来通
りの一般計算機のオペレーテイング・システムの
下で走らせた場合と比較して、仮想計算機の下で
走らせた場合は仮想計算機特有のオーバヘツドの
ためにある程度性能低下が生ずる。そのオーバヘ
ツドは直接的なものと間接的なものに分けること
ができ概略以下の通りである。
(1) 直接的なオーバヘツド。
主として仮想計算機モニターのソフトウエア
が処理を行なつていく上で生ずるオーバヘツド
であり以下のものがある。
(a) 特権命令のシミユレーシヨンによるオーバ
ヘツド。
前述のように、各ユーザプログラムは使用
しているオペレーテイング・システムも含め
て“非特権モード”が割当てられているので
オペレーテイング・システムが出す特権命令
はすべて仮想計算機モニターによつてシミユ
レーシヨンされる。
(b) 各ユーザプログラムの切換えのためのオー
バヘツド。
(c) オペレーテイング・システムの仮想記憶機
能のサポートのためのオーバヘツド。
これは前述のシヤドウ・テーブルの管理の
ためのオーバヘツドである。
(d) チヤネルプログラムの変換のためのオーバ
ヘツド。
オペレーテイング・システムが入出力装置
を起動するときのチヤネルプログラムはホス
ト計算機にとつては論理アドレスであるの
で、これを仮想計算機モニターはホスト計算
機の実アドレスに変換する。
(e) 割込みのサポートのためのオーバヘツド。
仮想計算機ではすべての割込は仮想計算機
モニターに割り出されるのでこの割込を必要
ならばオペレーテイング・システムに反映す
る必要があり、仮想計算機モニターがその処
理を行なう。
(f) コンソール機能のサポート。
デバツク機能も含めてコンソール機能のサ
ポートを仮想計算機モニターが行なう。
(2) 間接的なオーバヘツド。
現在のオペレーテイング・システムはシステ
ム・リソースの利用率を高くするため、リソー
スの割付けや管理の方法に様々なアルゴリズム
を組んでいるが、これらを仮想計算機システム
の下で走らせると逆効果を及ぼす場合がある。
すでに述べた通り、仮想計算機には種々の利点
があるが同時に、性能低下もまた生ずる。
本発明は仮想計算機における性能低下を押さえ
るために前記オーバヘツドのうち“オペレーテイ
ング・システムの仮想記憶機能のサポートのため
のオーバヘツド”および“チヤネルプログラムの
変換のためのオーバヘツド”を削減することを目
的とするものであり、そのため本発明は、複数の
オペレーテイング・システムと、該複数のオペレ
ーテイング・システムを管理する管理プログラム
をそなえ、該管理プログラムの制御のもとに上記
複数のオペレーテイング・システムを1つの計算
機システム上で動作させるとともに、複数のオペ
レーテイング・システムの各々に対して、または
複数のオペレーテイング・システム群毎に共通に
主記憶装置上の連続した領域を専有的に割当てる
ようにした計算機システムにおいて、 各々のオペレーテイング・システムに割当てら
れた領域の先頭アドレスおよび最終アドレスを保
持し、リージヨンを規定する複数のチヤネル用ア
ドレス変換レジスタと、 あるオペレーテイング・システムが動作中に入
出力命令が発行されたとき、そのオペレーテイン
グ・システムの領域の識別子を含み、次のCCW
アドレスとして、該オペレーテイング・システム
の領域内に用意されたチヤネル・プログラムの先
頭アドレスを、当該領域内の相対アドレスで指定
するコマンドを、上記管理プログラム内のチヤネ
ル・コマンド語として生成するオペレーテイン
グ・システムの領域の識別子をチヤネルまたはサ
ブチヤネルに伝達する手段と、 該オペレーテイング・システムの領域の識別子
に応じて上記複数のチヤネル用アドレス変換レジ
スタの一つを選択する手段と、 上記オペレーテイング・システムの領域の識別
子をチヤネルまたはサブチヤネル上に保持する手
段とを設け、 チヤネルによる主記憶装置のアクセスの際に与
えられたアドレスに対して上記オペレーテイン
グ・システムの領域の識別子で選択されたチヤネ
ル用アドレス変換レジスタ内の先頭アドレスを加
算し、その結果のアドレスが該チヤネル用アドレ
ス変換レジスタ内の最終アドレスより大きくない
とき、該加算結果のアドレスを実際の主記憶アド
レスとして使用することを特徴とする。
本発明は各ユーザのオペレーテイング・システ
ムに対して、ホスト・マシンの主記憶装置の連続
した領域(この領域をリージヨンと呼ぶ)を割当
て、2重ページングに関するオーバヘツドを完全
になくすようにしたものである。また本発明は容
易に類推できるように主記憶装置のバツフアメモ
リに対しても適用される。
第5図に本発明の概念図を示す。第5図におい
てベース(BASE)レジスタ、リミツト
(LIMIT)レジスタはリージヨンの先頭アドレ
ス、最終アドレスを絶対アドレスで保持している
レジスタであり、中央処理装置から主記憶装置に
アクセスするときに使用される。またMPREXレ
ジスタは仮想計算機モニタのプレフイクス領域を
示すレジスタである。AMRは各VMの領域の先
頭アドレス、最終アドレスを絶対アドレスで保持
するレジスタであり、チヤネルから主記憶装置に
アクセスするときに使用される。またVMMプロ
グラムリージヨンはVMMプログラム領域およ
び、VMMプレフイクス領域から成つている。
VMMプログラム領域には複数のオペレーテイン
グシステムを同時に動作させるための管理プログ
ラム(VMMプログラム)がおかれる。VMMプ
レフイクス領域はプログラム(VMMプログラ
ム、VMプログラムのいずれかを問わず)の実行
中に発生した割込の割込情報および制御をVMM
割込処理プログラムに与え、割込処理を行なわせ
るために使用される。またVMプログラムリージ
ヨンはVMプログラム領域およびVMプレフイク
ス領域から成つている。VMプログラム領域には
ユーザが与えるオペレーテイングシステム(VM
プログラム)がおかれる。VMプレフイクス領域
はVMMプログラムによる割込処理の結果をVM
プログラムに与えるために使用される。CPUお
よびチヤネルはVMMプログラムの実行中のアド
レシングとVMプログラムの実行中のアドレシン
グが異なるためいずれのプログラムの実行中であ
るかを識別するために動作状態が定義される。
VMMプログラム実行中にはホスト・マシンの主
記憶装置全体がアクセス可能であるのに対し、
VMプログラム実行中はそのVM(オペレーテイ
ングシステム)に割当てられた領域内のみをアク
セス可能であるように制御される。実行中のVM
が割当てられた領域外をアクセスしようとすると
アドレス指定例外が認識される。CPUおよびチ
ヤネルの動作状態は第6図に示されている。
CPUはVMM状態あるいはVM状態で動作する。
すなわちVMM状態はVMMプログラムの実行中
であることを示し、VM状態はVMプログラムの
実行中であることを示している。状態の遷移は、
VM状態において割込が発生するとVMM状態へ
遷移する場合と、VMM状態において状態の遷移
を引き起す命令(RTN命令)が実行されると
VM状態へ遷移する場合とがある。上記の状態は
CPU内部に保持された1ビツトの記憶機能の値
により識別される。チヤネル(あるいはサブチヤ
ネル)はノン・アドレス・モジユレーシヨン・モ
ードあるいはアドレス・モジユレーシヨン・モー
ドで動作する。すなわちノン・アドレス・モジユ
レーシヨン・モードはVMMのチヤネルプログラ
ムの実行中であることを示し、アドレス・モジユ
レーシヨン・モードはVMのチヤネルプログラム
の実行中であることを示す。チヤネル(あるいは
サブチヤネル)は初期状態ではノン・アドレスモ
ジユレーシヨン・モードでありSIO命令で最初に
実行されるコマンドがモードを変更するコマンド
(TVMコマンド)であればアドレス・モジユレ
ーシヨンモードに遷移する。該TVMコマンドが
出なければノン・アドレス・モジユレーシヨン・
モードのまま動作する。
次にCPUの主記憶アクセス時のアドレス変換
について述べる。
第7図は本発明の実施例におけるアドレス変換
過程を示したものである。図aはVM状態におけ
るアドレス変換であり図bはVMM状態における
アドレス変換である。システム絶対アドレスは主
記憶装置に割付けられたアドレスに対応するもの
であり、他のアドレスはシステム絶対アドレスに
変換されて主記憶アクセスが行なわれる。システ
ム絶対アドレスはVMMプログラムには認識でき
るが、VMプログラムには認識できない。VMプ
ログラムで認識できるアドレスは論理アドレス
(VM)、実アドレス(VM)、絶対アドレス
(VM)だけであり、それぞれ従来の計算機にお
ける論理アドレス、実アドレス、絶対アドレスに
対応するものである。DAT
(DynamicAddressTranslation:動的アドレス変
換)、プレフイクシング(VM)も従来と同じ変
換であり、それぞれVMの提供するDATテーブ
ル、プレフイクス値を使用して行なわれる。アド
レスげたはかせは本発明の特徴的なものであり、
第8図にその変換の概念図を示す。
BASEレジスタ、LIMITレジスタにはそれぞ
れ現在実行中のVMの領域の先頭アドレス、最終
アドレスが保持されている。第7図の絶対アドレ
ス(VM)に対してBASEレジスタの値を加算し
てシステム絶対アドレスを得る。このシステム絶
対アドレスはLIMITレジスタの値と比較され、
前者が後者より大きいとアドレス指定例外のプロ
グラム割込が発生する。したがつて、そのVMプ
ログラムが動作中にはそのVMに割当てられた領
域以外の領域へのアクセスはハードウエアによつ
て禁止される。
BASEレジスタ、LIMITレジスタは、VMの数
に関係なくCPU内部に一組だけ存在すれば十分
であり、ある動作中のVMが別のVMにデイスパ
ツチされるときに、VMMによつてBASEレジス
タ、LIMITレジスタに次に実行されるVMに割
当てられた領域の先頭アドレス、最終アドレス
(システム絶対アドレス)がロードされる。
次にVMM状態におけるアドレシングを述べ
る。VMMプログラムの論理アドレス(VMM)
に対してはDATは行なわれない。従つて論理ア
ドレスは即、実アドレス(VMM)とみなされ
る。実アドレス(VMM)はプレフイクシング
(VMM)による変換が行なわれて、システム絶
対アドレスとなる。プレフイクシング(VMM)
はホスト計算機がマルチプロセシングシステムの
とき必要なものである。プレフイクシング
(VMM)で使われるプレフイクス値はVMMプ
レフイクス領域を示す値である。
次に割込時のアドレシングについて述べる。
VM状態で割込が発生すると割込処理に使用さ
れるアドレスは実アドレス(VMM)とみなさ
れ、VMMのプレフイクシングを対象にして行な
われる。同時にVM状態から、VMM状態への遷
移が発生し、VMMに制御が移る。VMM状態で
割込が発生した場合は、同様に実アドレス
(VMM)が使われるが、状態遷移は発生しない。
次にチヤネルの主記憶アクセス時のアドレシン
グを述べる。
チヤネルに関しては、アドレス・モジユレーシ
ヨン・モードとノン・アドレス・モジユレーシヨ
ン・モードにおいて、アドレシングが異なる。
アドレスモジユレーシヨンモードではチヤネル
から主記憶にアクセスするときには、CPUと同
様な“アドレスげたはかせ”が行なわれるが、ノ
ンアドレスモジユレーシヨン・モードでは行なわ
れない。この“アドレスげたはかせ”を採用する
ことにより、従来の計算機ではサポートしていな
かつた“ユーザプログラムによるCCW修飾”を
サポートすることができる。チヤネルの“アドレ
スげたはかせ”のためにAMRと呼ばれるレジス
タが複数個設けられる。各レジスタは一対の
BASEレジスタ、LIMITレジスタから成り、
CPUにおけるBASEレジスタ、LIMITレジスタ
と同一様式のものである。これらの一対のレジス
タには番号が付けられ、リージヨン識別子と対応
づけられている。AMRの構成は第9図に図示さ
れている。一方リージヨン識別子は各VMに一意
的に対応づけられており、その対応関係はVMM
によつて管理されている。リージヨン識別子はチ
ヤネル(あるいはサブチヤネル)に保持され、チ
ヤネルによる主記憶アクセス時リージヨン識別子
が“アドレスげたはかせ”のためのAMRのレジ
スタ選択のために使われる。リージヨン識別子に
対応するAMR中のBASEレジスタ、LIMITレジ
スタには、VMMによつてあらかじめそのリージ
ヨン識別子に対応するVMの領域の先頭アドレ
ス、最終アドレスがロードされ、保持される。
“アドレスげたはかせ”のアドレス計算はCPUの
場合と同じである。チヤネルの起動時、チヤネル
に対してリージヨン識別子を指示するためにチヤ
ネルコマンドにTVMと呼ばれるコマンドが新設
される。このコマンドがチヤネルで実行される
と、以降のチヤネルによるメモリアクセスは、こ
のリージヨン識別子に対応するAMRエントリー
の“アドレスげたはかせ”によるアドレス修飾を
受ける。第10図にTVMコマンドの様式を示
す。
実際には仮想計算機のオペレーテイング・シス
テムが入出力装置を起動する命令は次のように仮
想計算機モニターで処理される。仮想計算機のオ
ペレーテイング・システムが入出力装置を起動す
る命令を出すと、この命令は“特権命令”であ
り、仮想計算機モニターに割り出される。仮想計
算機モニターは、その仮想計算機に対応するリー
ジヨン識別子を指定したTVMコマンドをチヤネ
ルプログラムの先頭に付加して、入出力装置を起
動する命令を出し直す。
第11図は、チヤネルプログラムの実行の概念
図である。第11図において、は、仮想計算機
2のオペレーテイング・システムが付加したチヤ
ネルプログラムであり、はユーザプログラムが
用意したチヤネルプログラム、は仮想計算機モ
ニターがリージヨン識別子“2”をチヤネルに伝
送するために用意したTVMコマンドである。次
のCCWアドレスは、当該オペレーテイング・シ
ステムに割り当てられたリージヨン#2内におけ
る絶対アドレス(図示α)でを指示するように
される。
次に本発明の実施例を図面により説明する。第
12図は仮想計算機システムとして動作する実計
算機ハードウエアの1実施例ブロツク図である。
図中、1は主記憶装置、2は記憶制御ユニツト
(SCU)、3は命令ユニツト(I)、4は実行ユニツ
ト(E)、5はコンソール、6はチヤネル制御ユニツ
ト(CHC)、7は入出力装置(I/O)である。
本発明は、第11図において、主として記憶制御
ユニツト(SCU)およびチヤネル制御ユニツト
(CHC)に関する。
次に記憶制御ユニツト(SCU)のブロツク構
成を第13図に示す。第13図において、10は
TBLレジスタ、11はCRIレジスタ、12は
CHRレジスタ、13はRGN−IDレジスタ、14
はベースレジスタ、リミツトレジスタ、15は
AMRレジスタ、16は選択ゲート、17はDAT
加算器、18と18′はプレフイクスレジスタ、
19はTRレジスタ、20は比較回路、21はプ
レフイクス回路、22は比較回路、23はSTO
−IDレジスタ、24はLARレジスタ、25は選
択ゲート、26はTLBバツフア、27,28は
比較回路、29はTWRレジスタ、30は選択ゲ
ートである。
TBLレジスタ10は主記憶より読出したアド
レス変換テーブルのデータを保持するレジスタで
ある。CRIレジスタ11はアドレス変換テーブル
のセグメント長およびセグメントテーブル先頭ア
ドレスを保持するレジスタである。CHRレジス
タ12はチヤネルからメモリアクセス要求があつ
たとき、アドレス及びデータを保持するレジスタ
である。RGN−IDレジスタ13はチヤネルから
メモリアクセス要求が生じたときチヤネルからア
ドレスとともに送られてくるリージヨン識別子を
保持するレジスタである。AMR15はチヤネル
から送られてきたアドレスを修飾するレジスタで
ある。
STO−IDレジスタ23は中央処理装置に用意
されているSTOスタツクのうち現在有効なSTO
番号を保持するレジスタである。STO−ID23
はTLB26中に保持されているIDと比較されて
対応するTLBエントリが該当するものであるか
どうかチエツクされる。LARレジススタ24は
中央処理装置から主記憶内のオペランドや命令に
アクセスするときの論理アドレスを保持するレジ
スタである。このレジスタはTLBの内容との比
較およびDATテーブルのアクセス時に使用され
る。TLB26は主記憶内のDATテーブルを索引
することなくアドレス変換を高速に行なうための
バツフアである。TLB26は論理アドレスの一
部の情報を使用して索引され、TLB26の1エ
ントリには論理ページアドレスのうち索引に使用
されなかつたビツト、論理ページアドレスに対応
する物理ページアドレスに対応する物理ページア
ドレスおよびTLBのエントリが登録されたとき
有効であつたSTO−ID、リージヨンID(R−
ID)、の値等が格納されている。通常、LARレジ
スタ24内の論理アドレスはTLB26を索引し
て物理アドレスに変換される。TWRレジスタ2
9はTLB26をリード/ライトするとき使用さ
れるレジスタである。
第15図は、システムがVM状態にあるか
VMM状態にあるかを記憶する回路、および管理
プログラムが動作中に使用されるプレフイクスレ
ジスタ18′(MPRFX)とオペレーテイング・
システムが動作中に使用されるプレフイクスレジ
スタ18(PREFIX)を選択する信号を作成する
回路である。
第15図において、81はVM状態あるいは
VMM状態を表示するラツチであり、信号線84
がオン(“1”)の時VM状態を表わし、信号線8
5がオンの時VMM状態を表わす。信号線82は
VMM状態からVM状態へ状態を変える命令
(RTN命令)が実行された時オンになる信号線で
ラツチ81がVM状態を表示するようにセツトさ
れる。信号線83はラツチ81がVM状態を表示
していて、かつ割込処理が終了時点(信号線86
がオン)にオンになる信号線であり、ラツチ81
をVM状態からVMM状態へ変化させる。信号線
100はVM状態あるいはVMM状態における割
込処理時おこなわれる主記憶アクセス時にオンに
される。信号線87はVM状態あるいはVMM状
態において、割込処理でない主記憶アクセスのと
きオンにされる。信号線88は信号線84および
87がオンのときオンとなり、プレフイクス処理
時にPREFIXレジスタを選択することを指示す
る。信号線101は89あるいは100がオンの
ときオンとなりプレフイクス処理時にMPRFXレ
ジスタを選択することを指示する。
第13図の動作は以下の通りである。最初に
VM状態における動作を説明する。プログラム内
で指定されたベース・レジスタ、インデツクス・
レジスタおよびページ内相対アドレスをもとにし
て実効的な論理アドレスがハードウエアによりも
とめられてLARレジスタ24にセツトされる。
この論理アドレスはセグメント番号、ページ番
号、ページ内相対アドレスに分けて考えることが
できる。そしてセグメント番号の一部およびペー
ジ番号が選択ゲート25を通してTLB26に与
えられ対応するTLBエントリーを読出す。そし
てTLBから読出された論理アドレス部とLARレ
ジスタ内TLB索引に使用されなかつたセグメン
ト番号の一部とが比較回路27により比較され
る。同時にIDレジスタ23の内容とTLBエント
リ中のID部とが比較回路28により比較される。
そして比較回路27および28が共に一致出力を
発するときTLBによるアドレス変換は成功し、
TLBエントリ中の物理アドレス部とLARレジス
タ24内のページ内相対アドレスとが選択ゲート
30により結合されて、主記憶をアクセスするた
めの物理アドレスとなる。この求められた物理ア
ドレスにより主記憶がアクセスされ動作が進行す
る。
一方、比較回路27および28の少なくともい
ずれか一方が一致出力を発しないときTLBによ
るアドレス変換は失敗する。このときは、主記憶
に格納されているアドレス変換テーブル(セグメ
ントテーブル、ページテーブル)を読出して物理
アドレスを作成することになる。まず、CR1レジ
スタ11に保持されているセグメントテーブル先
頭アドレスとLARレジスタ24内に保持されて
いるセグメント番号をDAT加算器17で加算し、
加算結果をTRに一時保持する。そしてTRレジ
スタ19の内容について、プレフイクスレジスタ
18、比較回路20、プレフイクス回路21によ
り、周知のプレフイクス処理を行なう。その後、
プレフイクス処理されたTRレジスタ19の内容
とBASEレジスタ14の内容をDAT加算器17
で加算し、加算結果を再びTRレジスタ19に保
持する。そしてこのTRレジスタ19の内容と
LIMITレジスタ14の内容を比較回路22で比
較する。もしTRレジスタ19の内容がLIMITレ
ジスタ14の内容より大きければアドレス指定例
外が発生し、アドレス変換は中止される。一方、
正常な場合はTRレジスタ19の内容より小さい
とき処理が続行される。いまTRレジスタ19は
システム絶対アドレスを保持しており、これを選
択ゲート30を経由して主記憶に送り、主記憶内
のセグメントテーブル中からセグメントテーブル
エントリを読出しTBLレジスタ10に保持する。
そしてTBLレジスタ中に読出されたセグメント
テーブルエントリ中の一部ビツトがページテーブ
ルの先頭アドレスとなつているので、これと
LARレジスタ24中のページ番号とをDAT加算
器17で加算し、加算結果をTRレジスタ19に
一時保持する。そしてTRレジスタ19の内容に
ついて前記と同様なプレフイクス処理を行ない、
プレフイクス処理されたTRレジスタの内容と
BASEレジスタ14の内容をDAT加算器17で
加算し、加算結果を再びTRレジスタ19に保持
する。そしてこのTRレジスタ19の内容と
LIMITレジスタ14の内容を再び比較回路22
で比較し、前記と同様にアドレス指定例外の有無
を判定する。アドレス例外が発生しなければ処理
を続行する。いまTRレジスタ19はシステム絶
対アドレスを保持しており、これを選択ゲート3
0を介して主記憶に送り、主記憶内のページテー
ブル中からページテーブルエントリを読出し
TBLレジスタ10に保持する。そして、TBLレ
ジスタ中に読出されたページテーブルエントリ中
の一部ビツトが実ページアドレスの上位ビツトに
対応するものであるから、これについて前述と同
様にプレフイクス処理、BASEレジスタ14の内
容の加算、LIMITレジスタとの比較処理を行な
う。アドレス指定例外が発生しなければTRレジ
スタ19は、TBLレジスタ中のページテーブル
エントリの一部ビツトとBASEレジスタ14の値
を加算した値を保持しており、この値を選択ゲー
ト30へ送り、LAR24内のページ内相対アド
レスと結合することにより主記憶の物理アドレス
が求められこの対応関係がTLBに登録される。
これによりアドレス変換が終了する。
次に、VMM状態における第13図の動作を説
明する。VMM状態においては、LARレジスタ
24に物理アドレスがセツトされている。そのた
め、上記したようなDAT機構によるアドレス変
換は行なわず、LARレジスタ24の上位アドレ
スを、プレフイクスレジスタ18′(MPRFX)、
比較回路20、プレフイクス回路21によりプレ
フイクス処理するだけである。そして、プレフイ
クス処理された上位アドレスとLARレジスタ2
4の下位アドレスを選択ゲート30を経由して主
記憶に送り主記憶にアクセスする。
次にチヤネル制御ユニツトおよびチヤネルのブ
ロツク構成を第14図に示す。第14図におい
て、40はチヤネル制御ユニツト、41はブロツ
ク・マルチプレクサ・チヤネル、42はバイト・
マルチプレクサ・チヤネル、50は主記憶からき
たデータおよび主記憶へ送るデータを保持するレ
ジスタ、51は中央処理装置の命令ユニツトから
送られてきたコマンドおよびアドレスを保持する
レジスタ、52はコマンドを解読するデコーダ、
53は同じく命令ユニツトから送られてきたフラ
グ情報、カウント情報、リージヨン識別子を保持
するレジスタ、54はチヤネルから送られてくる
リージヨン識別子を保持するレジスタ、55はチ
ヤネルから送られてくるアドレスを保持するレジ
スタ、56はチヤネル選択および記憶制御ユニツ
ト(SCU)への要求を制御する制御部、60は
チヤネル制御ユニツトから送られてくるリージヨ
ン識別子を保持するレジスタ、61はチヤネル制
御ユニツトから送られてくるアドレスを保持する
レジスタおよび転送バイト数を計数するバイトカ
ウンタ、62は入出力装置から送られてくる入力
データを複数バイト保持するレジスタ、63は入
出力装置へ送る出力データを複数バイト保持する
レジスタ、64は入出力装置との間の各種タグ情
報線を制御するタグ制御部、70はチヤネル制御
ユニツトから送られてくるリージヨン識別子を保
持するレジスタ、71はチヤネル制御ユニツトか
ら送られてくるアドレスを保持するレジスタおよ
び転送バイト数を計数するバイトカウンタ、72
の入出力装置から送られてくる入力データを1バ
イト保持するレジスタ、73は入出力装置へ送る
出力データを1バイト保持するレジスタ、74は
入出力装置との間の各種タグ情報線を制御するタ
グ制御部である。第14図のチヤネル制御部4
0、ブロツクマルチプレクサチヤネル41、バイ
トマルチプレクサチヤネル42の構成において、
リージヨン識別子に関する部分以外は従来の構成
と同一であるので詳細な説明は省略する。以下、
リージヨン識別子に関する部分について説明す
る。前述の第10図に示すようにTVMコマンド
にはリージヨン識別子が付加されており、チヤネ
ルがTVMコマンドを実行するため、主記憶のコ
マンド制御語(CCW)が中央処理装置の命令ユ
ニツトを経由してチヤネル制御装置40に送られ
てくると、チヤネル制御装置40ではTVMコマ
ンドをレジスタ51のコマンド保持部にセツトす
るとともに、リージヨン識別子をレジスタ53内
のリージヨン識別子保持部にセツトする。そして
デコーダ52でTVMコマンドであることを識別
すると、レジスタ53に保持されているリージヨ
ン識別子をチヤネルに送りチヤネル内のレジスタ
60(または70)にセツトする。以後、チヤネ
ルは主記憶にアクセスするためにアドレス情報を
チヤネル制御ユニツト46を介して記憶制御ユニ
ツト(SCW)へ送出するとき、同時にリージヨ
ン識別子を付加してアドレス情報を送出する。チ
ヤネル内のレジスタ60(または70)に保持さ
れているリージヨン識別子はチヤネル制御ユニツ
ト40内のレジスタ54を経由して記憶制御ユニ
ツト(SCU)へ送出される。記憶制御ユニツト
(SCU)においては、送られてきたリージヨン識
別子を第13図に示すレジスタ13にセツトす
る。一方、チヤネルからのアドレス情報は記憶制
御ユニツト(SCU)においては第13図に示す
レジスタ12にセツトされる。そしてチヤネルか
ら主記憶へのアクセスに際しては第13図に示す
AMRレジスタ15の内容によりアドレス変換が
行なわれる。第13図のレジスタ13に保持され
ているリージヨン識別子は複数のAMRレジスタ
のうち1つを選択する。次にレジスタ12に保持
されているアドレスと選択されたAMRレジスタ
のBASEアドレスとがDAT加算器17により加
算され、TRレジスタ19に一時保持される。そ
してTRレジスタ19の内容と、選択された
AMRレジスタのLIMITアドレスとが比較回路2
2により比較され、TRレジスタ19の内容が
LIMITアドレスより小さければ、TRレジスタ1
9の内容は選択ゲート30を経由して主記憶装置
へ送られ、アクセスが行なわれる。一方、比較回
路22による比較の結果、TRレジスタ19の内
容がLIMITアドレスより大であればアドレス例
外が発生し、主記憶へのアクセスは行なわれな
い。このようにリージヨン識別子およびAMRレ
ジスタにより、“アドレスゲタはかせ”が行なわ
れるので各チヤネルはプログラム上のアドレス0
から始まる指定された連続領域を自由にアクセス
することができる。
以上述べたように、本発明によれば主記憶装置
上のアクセス可能領域を指定する手段をもうけ、
CPUと非同期にチヤネルが主記憶をアクセスす
るとき、複数のオペレーテイング・システムと効
率的に動作できる。
【図面の簡単な説明】
第1図は一般的な計算機システムの概念図、第
2図は仮想計算機システムの概念図、第3図は仮
想計算機におけるアドレス空間の概念図、第4図
は仮想計算機におけるアドレス空間の具体例、第
5図は本発明の概念図、第6図はCPUの状態の
遷移図、第7図はアドレス変換の過程を示す図、
第8図はアドレスゲタはかせの概念図、第9図は
AMRレジスタの構造を示す図、第10図は
TVMコマンドの様式を示す図、第11図はチヤ
ネルプログラム実行の概念図、第12図は実計算
機ハードウエアの1実施例ブロツク図、第13図
は記憶制御ユニツト(SCU)のブロツク構成図、
第14図はチヤネル制御ユニツトおよびチヤネル
のブロツク構成図、第15図は状態記憶回路であ
る。

Claims (1)

  1. 【特許請求の範囲】 1 複数のオペレーテイング・システムと、該複
    数のオペレーテイング・システムを管理する管理
    プログラムをそなえ、該管理プログラムの制御の
    もとに上記複数のオペレーテイング・システムを
    1つの計算機システム上で動作させるようにした
    仮想計算機システムにおいて、 上記複数のオペレーテイング・システムの各々
    に対して、主記憶装置上の連続した領域を専有的
    に割り当てるとともに、各々の領域の先頭アドレ
    スおよび最終アドレスをシステム絶対アドレスで
    保持する複数のチヤネル用アドレス変換レジスタ
    を設け、 更にチヤネルは、与えられるアドレスをそのま
    まシステム絶対アドレスとして使用するノン・ア
    ドレス・モジユレーシヨン・モードと、与えられ
    るアドレスをシステム絶対アドレスに変換して使
    用するアドレス・モジユレーシヨン・モードとを
    有し、 上記管理プログラムは、あるオペレーテイン
    グ・システムから入出力命令が発行されると、 (1) アドレス・モジユレーシヨン・モードへの移
    行指示、 (2) 当該オペレーテイング・システムに割り当て
    られた領域を識別するリージヨン識別子、及
    び、 (3) 当該オペレーテイング・システムが上記入出
    力命令用に用意したCCWの先頭アドレスを、
    当該オペレーテイング・システムに割り当てら
    れた領域内における絶対アドレスで表示したア
    ドレス値、 を含む特殊コマンドをチヤネルに伝達し、 チヤネルは該特殊コマンドを受け取ると、以後
    アドレス・モジユレーシヨン・モードになるとと
    もに上記リージヨン識別子を記憶手段に保持し、
    該リージヨン識別子に基づいて対応する上記アド
    レス変換レジスタが選択され、該レジスタに記憶
    された先頭アドレス値に、上記特殊コマンドで与
    えられたCCWの先頭アドレスが加算され、該加
    算されたアドレスが上記アドレス変換レジスタに
    記憶された最終アドレスを超えていない事を条件
    に、該加算されたアドレスをシステム絶対アドレ
    スとして主記憶をアクセスしてCCWを読み出す
    ことを特徴とする仮想計算機システム。
JP9453479A 1979-07-25 1979-07-25 Virtual computer system Granted JPS5619153A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9453479A JPS5619153A (en) 1979-07-25 1979-07-25 Virtual computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9453479A JPS5619153A (en) 1979-07-25 1979-07-25 Virtual computer system

Publications (2)

Publication Number Publication Date
JPS5619153A JPS5619153A (en) 1981-02-23
JPS6336012B2 true JPS6336012B2 (ja) 1988-07-18

Family

ID=14112990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9453479A Granted JPS5619153A (en) 1979-07-25 1979-07-25 Virtual computer system

Country Status (1)

Country Link
JP (1) JPS5619153A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58169278A (ja) * 1982-03-30 1983-10-05 Fujitsu Ltd 仮想計算機システムによるマルチプロセツサ・システム
US4494189A (en) * 1982-04-26 1985-01-15 International Business Machines Corporation Method and means for switching system control of CPUs
JPH0740249B2 (ja) * 1986-08-13 1995-05-01 日本電気株式会社 仮想計算機システムにおける仮想記憶制御方式
JP4982971B2 (ja) * 2004-09-29 2012-07-25 ソニー株式会社 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
JPS5619153A (en) 1981-02-23

Similar Documents

Publication Publication Date Title
US4459661A (en) Channel address control system for a virtual machine system
US4814975A (en) Virtual machine system and method for controlling machines of different architectures
US4347565A (en) Address control system for software simulation
JP2863693B2 (ja) 仮想記憶システムにおけるデータ転送装置及びその方法
US5109489A (en) I/o execution method for a virtual machine system and system therefor
US4742450A (en) Method to share copy on write segment for mapped files
JPS6122825B2 (ja)
JPH0784883A (ja) 仮想計算機システムのアドレス変換バッファパージ方法
US8738890B2 (en) Coupled symbiotic operating system
JPH02734B2 (ja)
JPS61206043A (ja) 仮想計算機システムにおける割込制御方法
US5339417A (en) Computer system with two levels of guests
US5392409A (en) I/O execution method for a virtual machine system and system therefor
US8458438B2 (en) System, method and computer program product for providing quiesce filtering for shared memory
JPH0458056B2 (ja)
EP0619899B1 (en) Software control of hardware interruptions
US4991083A (en) Method and system for extending address space for vector processing
JPS6336012B2 (ja)
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
JPH1185547A (ja) 仮想クラスタ構成方法
JPH0548500B2 (ja)
JP2535086B2 (ja) リング削減ロジック装置
JP2610966B2 (ja) 仮想計算機制御方法
JPH0567973B2 (ja)
JPH0754469B2 (ja) 仮想計算機システムのための入出力命令実行装置