JPH05250263A - 仮想プロセッサ方式及び不揮発化記憶方式 - Google Patents

仮想プロセッサ方式及び不揮発化記憶方式

Info

Publication number
JPH05250263A
JPH05250263A JP4048711A JP4871192A JPH05250263A JP H05250263 A JPH05250263 A JP H05250263A JP 4048711 A JP4048711 A JP 4048711A JP 4871192 A JP4871192 A JP 4871192A JP H05250263 A JPH05250263 A JP H05250263A
Authority
JP
Japan
Prior art keywords
storage device
processor
virtual
virtual processor
real
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
JP4048711A
Other languages
English (en)
Inventor
Akira Yamaoka
彰 山岡
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 JP4048711A priority Critical patent/JPH05250263A/ja
Publication of JPH05250263A publication Critical patent/JPH05250263A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 低速の記憶装置に対するアクセス時に、実プ
ロセッサの待ち時間をなくし、仮想プロセッサの切り換
え時の実プロセッサのオーバヘッドをなくす。 【構成】 命令処理装置1上で実行される仮想プロセッ
サでWRITE命令が発行された場合、主記憶2からR
AM部5へ1ページのデータを転送すると同時にディス
ク部8にも同一のデータを転送する。揮発性記憶装置3
から不揮発性記憶装置6へのデータ転送の開始時に仮終
了報告4A、データ転送の終了時に本終了報告4Bを命
令処理装置1に報告する。命令処理装置1は、仮終了報
告を契機に他の仮想プロセッサを起動し、本終了報告を
契機にWRITE命令を発行した仮想プロセッサを起動
する。これにより、プログラムから同期命令を用いて不
揮発性の記憶装置をアクセスできるので、非同期アクセ
スでの前処理や割込み処理のためのオーバヘッドを削減
することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、揮発性記憶装置の不揮
発化記憶方式に係り、特に、仮想プロセッサ方式におけ
るCPUのオーバヘッドを削減することを可能にした仮
想プロセッサ方式およびこれに使用して好適な不揮発化
記憶方式に関する。
【0002】
【従来の技術】まず、一般的な揮発性記憶装置の不揮発
化記憶方式について説明する。
【0003】一般に、プロセッサシステムの主記憶装
置、拡張記憶装置等は、DRAM、SRAM等の半導体
記憶素子(以下単にRAMという)を用いて構成されて
いる。
【0004】RAMは、電源通電中、その内容を記憶保
持しているが電源が切断されると記憶内容が消失してし
まう、いわゆる揮発性の記憶素子である。一方、ディス
ク、磁気テープ等の外部記憶装置と呼ばれる記憶装置
は、電源を切断しても記憶内容を保存する、いわゆる不
揮発性の記憶装置である。
【0005】不揮発性のRAMはまだ実用段階になく、
このため、現在のプロセッサシステムは、高速な揮発性
RAMと低速な不揮発性外部記憶装置とを用いてた主記
憶装置、拡張記憶装置により構築されている。このよう
なシステムでは、通常、データが外部記憶装置内に格納
されており、データの変更等が必要になった場合にRA
M上に入力し加工後外部記憶に書き戻す制御が行われて
いる。これらの制御をソフトウェアで行う場合、処理途
中における例外処理等、RAMの揮発性を意識した処理
を行う必要がある。
【0006】ソフトウェアが、記憶装置の揮発性を意識
することなく、高速な不揮発性の記憶装置として利用可
能なように、ハードウェアにより見かけ上の不揮発化を
行った記憶方式の例として、半導体ディスクが知られて
いる。半導体ディスクは、RAMで構成される記憶部と
それと同容量のバックアップ用ディスク部とからなり、
通電中はRAM部のみを使用して高速化するものであ
る。
【0007】このため、半導体ディスクは、電源投入時
にディスク部からRAM部に全てのデータをコピーし、
電源切断時に、逆にRAM部からディスク部に全てのデ
ータをコピーするハードウェア機構を備えている。これ
により、半導体ディスクは、見かけ上の不揮発化を実現
するものであるが、電源投入および切断時に前述したコ
ピーのための時間と、コピーを実行する時間だけの電源
(通常はバッテリー)の投入が必要であり、特に、記憶
容量が増加した場合には、コピー時間が増大し、電源の
容量を増加させなければならないという問題点を生じさ
せる。
【0008】また、見かけ上の不揮発化を行った記憶方
式の他の例として、ディスクキャッシュ方式が知られて
いる。このディスクキャッシュ方式は、ディスク部より
少量のRAM部を持ち、読み出しを契機にディスク部か
らRAM部に必要分のデータをコピーし、再度同一デー
タの読み出しがあった場合にRAM部のデータを用いて
応答するというものである。
【0009】このようなディスクキャッシュ方式は、書
き込みの場合に、RAM部に書き込むと共にディスク部
にも書き込みを行う、いわゆるライトスルー方式を採用
して構成されており、このため、読み出しについての高
速化を図ることができるが、書き込みについての高速化
を図ることのできないものである。
【0010】また、他の方式として、バッテリーバック
アップ方式がある。この方式は、主電源が切断されても
記憶内容を保存できるだけの電源をバッテリーよりRA
Mに供給することにより見かけ上の不揮発化を行うもの
である。
【0011】この方式は、主電源の切断時間が短い場合
に、記憶装置を不揮発とみなすことができるが、バッテ
リーの有効時間以上の保証ができないため、ソフトウェ
ア上完全なディスク等と同レベルの不揮発記憶装置とし
て扱うことができず、また、記憶容量が増加するに伴
い、バッテリーの容量を増加させなければならないとい
う問題点を有している。
【0012】ハードウェアによる揮発性RAMの不揮発
化は、前述したように種々の方式により行うことができ
るが、従来技術によるプロセッサシステムは、その用途
に応じてこれらの方式を選択し、あるいは、組み合わせ
て構成した記憶装置を使用している。
【0013】次に、仮想プロセッサについて説明する。
【0014】一般に、仮想計算機(VM:Virtual Mac
hine)は、複数のオペレーティングシステム(OS)が
1つの実在する計算機(実マシン)の下で同時に動作す
るように制御されている計算機システムであり、仮想計
算機制御プログラム(VMCP:Virtual Machine Co
ntrol Program)により制御されて、時分割的に複数の
ゲストマシンが動作するようにされている。
【0015】ゲストマシンは、異なるOSの下で動作す
るのが一般的であるが、ゲストマシンがマルチプロセッ
サ(ゲストマルチと呼ばれる)であるものもある。ま
た、VMCPの機能をハードウェアにより実現したマシ
ン(LPAR:Logical Partition)もあるが、実マシ
ンを分割して使用するものが主流であり、このようなマ
シンは、以下に説明する性能的な問題から実マシン数以
上に増幅させたゲストマシン(以下、仮想プロセッサと
いう)を実現することが実用上できない。
【0016】この理由は、前述したLPARが、仮想マ
シンの切替時に、汎用レジスタ等の退避回復の他に、T
LB(Translation Lookaside Buffer)の初期化を行
う必要があるため、これに要する時間がオーバヘッドと
して計上されるためである。図5は、LPARにおける
仮想アドレスから実アドレスへの変換(DAT:Dynam
ic Address Translation)過程とTLBの概要を説明
する図であり、以下これについて説明する。図5におい
て、23はセグメントテーブル、24はページテーブ
ル、26はTLBである。
【0017】図5において、仮想アドレス21は、主記
憶上に配置された2段の変換テーブル、すなわち、セグ
メントテーブル23とページテーブル24とにより実ア
ドレス25に変換される。セグメントテーブル23は、
その先頭が、制御レジスタ内のSTO(Segment Table
Origin)アドレス22によりポイントされ、仮想アド
レス21のSX(Segment index)の値に従ってセグメ
ントテーブル23内のエントリがポイントされる。
【0018】ページテーブル24は、その先頭が前記セ
グメントテーブル23のエントリ内のPTO(Page T
able Origin)アドレスによりポイントされ、仮想アド
レス21のPX(Page index)の値に従ってページテー
ブル24内のエントリがポイントされる。
【0019】この変換の結果、ページテーブル24のエ
ントリ内のPFRA(Page FrameReal Address)を上
位アドレスとし、仮想アドレス21のBX(Block ind
ex)を下位アドレスとしたものが実アドレス25として
求められる。このアドレス変換(DAT)により得られ
たPFRAは、TLB26のエントリに登録され、次の
アドレス変換に際しては、STO22と仮想アドレス2
1のSXとPXとを用いてTLB26を参照してPFR
Aを得ることができるので、高速なアドレス変換を行う
ことができる。なお、前述において、STO22、PT
Oアドレスは実アドレスである。
【0020】図6はマルチプロセッサを実現するための
手段であるプレフィクス変換の概要を説明する図であ
り、以下、これについて説明する。
【0021】プレフィクス変換は、実アドレスから絶対
アドレスへの変換を行うものである。アドレスは、4キ
ロバイトを単位とするページにより表わすことができる
が、各プロセッサが使用する実アドレスの0ページ(0
から4095番地)には、割込み時のアドレス等のプロ
セッサ固有の情報が格納されるため、マルチプロセッサ
では、プロセッサ毎にこの0ページは、それぞれ別の内
容を持たなければならない。
【0022】これを実現するため、一般に、プロセッサ
毎にプレフィクスレジスタを設け該レジスタに別々の値
を設定し、この値により、絶対アドレスを求めるように
されている。例えば、図6において、プロセッサAのプ
レフィクスレジスタに値aを、プロセッサBのプレフィ
クスレジスタに値bを設定したとする。
【0023】この場合、プロセッサAでは、実アドレス
の0ページが絶対アドレスのaページに、実アドレスの
aページが絶対アドレスの0ページにマッピングされ、
その他の実アドレスは、そのまま絶対アドレスにマッピ
ングされる。プロセッサBでは、実アドレスの0ページ
が絶対アドレスのbページに、実アドレスのbページが
絶対アドレスの0ページにマッピングされ、その他の実
アドレスは、そのまま絶対アドレスにマッピングされ
る。
【0024】この例の場合、プロセッサA、Bは、通
常、aページ及びbページを実アドレスとして使用しな
いようにされており、これにより、各プロセッサは、同
一の0ページの実アドレスで、それぞれ異なる内容の情
報を得ることができ、それ以外のページの実アドレス
で、共通の内容の情報を得ることができる。
【0025】なお、このようなプレフィクス変換は、前
述したSTOアドレス等を含む全ての実アドレスに対し
て適用される。
【0026】前述したようなプレフィクス変換を使用し
たマルチプロセッサにおいて、もし、動作中にプレフィ
クスレジスタの値を変更した場合、変更前のプレフィク
スレジスタの値を用いて変換した内容がTLBに登録さ
れている可能性があるので、このような場合には、TL
Bを初期化する必要がある。
【0027】1つの実プロセッサで複数の仮想プロセッ
サを実現した場合、仮想プロセッサの切替時にプレフィ
クスレジスタの設定を変更するため、TLBの初期化を
行う必要が生じ、一般に、このTLBの初期化が仮想プ
ロセッサ切り換え時のオーバヘッドになることになる。
【0028】
【発明が解決しようとする課題】前述した従来技術は、
以下に説明するような問題点を有している (1)ライトスルー方式を用いた不揮発化記憶方式は、
書き込み時の高速化を行うことができず、特に、命令語
レベル(同期命令とよぶ)でのアクセス時における高速
化を行うことができないという問題点を有している。す
なわち、前述した従来技術は、もし、同期命令で書き込
みを行うと、バックアップ用の外部記憶への書き込みが
終了するまで、実プロセッサが待ち状態になってしま
い、システム全体の処理効率を低下させてしまうという
問題点を有している。
【0029】また、前述の従来技術は、読み出し時にお
いても、RAM部に所望のデータがない場合、外部記憶
装置から読み出しが行われるので、この場合にも読み出
しが終了するまで実プロセッサが待ち状態になって、シ
ステム全体の処理効率を低下させるという問題点を有し
ている。さらに、前述の従来技術は、I/O命令等の非
同期命令で記憶装置をアクセスした場合、CCW作成等
の起動のための準備処理、I/O割込み処理等のソフト
ウェアのオーバヘッドが発生するという問題点を有して
いる。
【0030】(2)1つの実プロセッサにより複数の仮
想プロセッサを実現する方式は、仮想プロセッサの切り
替え時に、プレフィクスレジスタの値を変更し、TLB
の全面初期化を行うものであり、この初期化のための時
間と初期化後に発生するアドレス変換にTLBの内容を
使用することができないため、これによる性能の低下が
大きく実用的で効率的な運用を行うことができないとい
う問題点を有している。
【0031】本発明の目的は、前述した従来技術の問題
点を解決し、記憶装置への書き込み動作時に実プロセッ
サの待ちをなくし、仮想プロセッサの切り換え時のオー
バヘッドをなくすことのできる仮想プロセッサ方式およ
びこれに使用して好適な不揮発化記憶方式を提供するこ
とにある。
【0032】
【課題を解決するための手段】本発明によれば前記目的
は、実プロセッサ上に複数の仮想プロセッサが設けられ
たシステムにおいて、ある仮想プロセッサがバックアッ
プ用の外部記憶装置への書き込みのためのアクセス、ま
たは、外部記憶装置からの読み出しをともなうアクセス
を行った場合、このアクセスの発生を契機に別の仮想プ
ロセッサに切り替え、該書き込みまたは読み出しの終了
を契機に、前記アクセスを行ったある仮想プロセッサへ
の切替を可能にするようにすることにより達成される。
【0033】また、前記目的は、仮想プロセッサと同数
のプレフィクスレジスタを設け、仮想プロセッサの切り
替えに対応してプレフィクスレジスタを選択して使用
し、これらのプレフィクスレジスタ群と実アドレスとを
比較していずれかに一致するか、または、実アドレスが
0であることを検出し、該当した場合に、TLBのエン
トリへの実アドレス登録に際して該エントリに設けたビ
ット(Xビットと呼ぶ)を“1”にし、仮想プロセッサ
の切り替えに際して、TLB内のXビットが“1”であ
るエントリのみを初期化し、他のエントリの内容を保存
するようにすることにより達成される。
【0034】これにより、複数の仮想プロセッサでプレ
フィクス変換の対象となる可能性のあるTLBエントリ
のみを初期化し、他のプレフィクス変換の対象にならな
い大半のTLBエントリをそのまま使用することができ
るので、仮想プロセッサの切り換えに伴うシステムの性
能低下を防止することができる。
【0035】
【作用】マルチプロセッサシステムにおいて、ある仮想
プロセッサが、例えば、書き込み命令を実行する場合、
揮発性の記憶装置から不揮発性の外部記憶装置にデータ
転送中もその仮想プロセッサは、書き込み命令の実行中
であり、この命令の実行中に他の仮想プロセッサが起動
されても、すなわち、仮想プロセッサの切り替えが行わ
れても、書き込み命令を発行した仮想プロセッサに対し
て何ら影響を与えることがない。
【0036】従って、本発明は、ある仮想プロセッサ
が、例えば、書き込み命令を発行した場合に、他の仮想
プロセッサへの処理の切り替えを行うことにより、シス
テム全体の処理性能の向上を図ることができる。
【0037】また、もし、ある仮想プロセッサが、前記
書き込みによるデータ転送中に、その処理が中断された
場合にも、当該書き込み命令がキャンセルされるだけ
で、そのリカバリについて複雑な処理を必要ない。
【0038】TLBに登録される実アドレス(PFR
A)は、仮想プロセッサそのもの(即ちプレフィクスレ
ジスタの値)が変更にならない限り必ず登録済みのプレ
フィクスレジスタ群のいずれかを用いてプレフィクス変
換が行われるため、これらプレフィクスレジスタ群との
比較を行った結果により、Xビットの値を設定し、この
Xビットの値に従って、TLBの選択的な初期化を行う
ことができ、これにより、仮想プロセッサの切り替え時
における実プロセッサのオーバヘッドを低減させること
ができ、しかも、誤動作を生じさせることもない。
【0039】また、仮想プロセッサが追加される場合
等、プレフィクスレジスタの値を変更する場合には、従
来通りTLBの全面的な初期化を行えばよく、誤動作の
発生を防止することができる。
【0040】
【実施例】以下、本発明による仮想プロセッサ方式及び
不揮発化記憶方式の一実施例を図面により詳細に説明す
る。
【0041】図1は本発明による不揮発化記憶装置を有
する仮想プロセッサの一実施例のシステム構成を示すブ
ロック図、図2は仮想プロセッサの切り換えと実プロセ
ッサの動作状態を説明するタイムチャート、図3は仮想
プロセッサの切り換え方法を説明するための仮想プロセ
ッサがWRITE命令を実行中であることを示すための
手段を示す図、図4は仮想プロセッサの切り替え時のT
LBの初期化を行う回路例を示す図である。図1、図4
において、1は命令処理装置、2は、主記憶装置、3は
揮発性記憶装置、4、7、9は転送制御部、5はRAM
部、6は不揮発性記憶装置、8はディスク部、61−1
〜nはプレフィクスレジスタ群、62はプレフィクス番
号レジスタ、63はセレクタ、64−0〜nは比較回
路、65は論理和回路、66はTLBである。
【0042】図1に示す本発明の一実施例の仮想プロセ
ッサは、命令処理装置1と、揮発性記憶装置3と、不揮
発性記憶装置6とにより構成されている。命令処理装置
1は、主記憶装置2、転送制御部9を含んで構成され、
拡張記憶装置等と呼ばれる揮発性記憶装置3は、記憶素
子であるRAM部5と転送制御部4とを含んで構成さ
れ、また、アレイディスク等の不揮発性記憶装置6は、
記憶媒体であるディスク部8と転送制御部7とを含んで
構成されている。
【0043】不揮発性記憶装置6は、揮発性記憶装置3
のバックアップ用の記憶装置として使用され、RAM部
5の領域とディスク部8の領域とが1対1にマッピング
されるている。主記憶装置2とRAM部5との間のデー
タの送受信は、例えば、4キロバイトのページ単位で行
われる。
【0044】WRITE命令は、主記憶装置2の中の指
定された1ページのデータをRAM部5の指定された1
ページに転送するものとする。このとき、対応するディ
スク部8の1ページにも同一のデータを転送する、いわ
ゆるライトスルー方式が採用される。また、READ命
令は、RAM部5から主記憶装置2へ指定された1ペー
ジのデータを転送するものとする。このとき、READ
命令は、RAM部5に所望のデータが存在する場合、R
AM部5から主記憶2へ1ページのデータの転送を行
い、RAM部5に所望のデータが存在しない場合、対応
するディスク部8からRAM部5に1ページのデータを
転送した後、さらに同一のデータを主記憶装置2へも転
送する。
【0045】次に、図1に示すシステムにおけるWRI
TE命令の実行を詳細に説明する。
【0046】命令処理装置1でWRITE命令が発行さ
れると、転送制御部9は、制御線9Aを介して揮発性制
御装置3内の転送制御部4に対して、主記憶2からRA
M部5へのデータの転送を指示すると共に、命令で指定
されたアドレスに基づき主記憶装置2からデータを読み
出し、そのデータをデータ線2Aに送出する。このとき
制御線9Aには、WRITE指示の他に、命令で指定さ
れたRAM部5のアドレス(ページ番号)等が送出され
る。
【0047】転送制御部4は、データ線2Aを介して送
られてくるデータを指示されたページ番号に従ってRA
M部5に書き込み、RAM部5への書き込みが終了した
とき、仮終了報告線4Aを介して転送制御部9に対して
RAM部5への書き込みが終了したことを報告する。さ
らに、転送制御部4は、制御線4Cを介して、不揮発性
記憶装置6内の転送制御部7に対して、RAM部5から
ディスク部8へのデータの転送を指示する。このとき、
制御線4Cには、WRITE指示の他に、アクセスすべ
きディスク部8のページ番号等が送出される。
【0048】転送制御部7は、データ線5Bを介して送
られて来るデータを指示されたページ番号に従ってディ
スク部8に書き込み、ディスク部8への書き込みが終了
すると、終了報告線7Aを介して転送制御部4にディス
ク部8への書き込みが終了したことを報告する。転送制
御部4は、これを受けて本終了報告線4Bを介して転送
制御部9にWRITE処理が完全に終了したことを報告
する。
【0049】なお、前述した動作において、揮発性記憶
装置3のRAM部5からデータ線5Bへのデータの送り
出しは、RAM部5へのデータの書き込みと並行してデ
ータ線2Aのデータをバイパスする方法で行うと効率的
である。
【0050】次に、READ命令の実行を詳細に説明す
る。
【0051】命令処理装置1でREAD命令が発行され
ると、転送制御部9は、制御線9Aを介して揮発性記憶
装置3の転送制御部4に対してRAM部5から主記憶2
へのデータの転送を指示する。このとき、制御線9Aに
は、READ指示の他に、命令で指定されたRAM部5
のアドレス(ページ番号)等が送出される。
【0052】転送制御部4は、この指示を受けると、ま
ず、指示されたページ番号に従ってRAM部5に所望の
データがあるか否かを調査する。この調査の手段は、当
該ページに有効ビットを設ける等の従来のキャシュ制御
技術と同じでよい。転送制御部4は、所望のデータがR
AM部5に存在した場合、RAM部5よりデータを読み
出しデータ線5Aを介して主記憶2に送り出す。
【0053】転送制御部4は、RAM部5からの読み出
しが終了すると、仮終了報告線4A及び本終了報告線4
Bの両方を使用して、転送制御部9に対してRAM部5
からの読み出しが終了したことを報告する。
【0054】また、転送制御部4は、所望のデータがR
AM部5に存在しなかった場合、制御線4Cを介して不
揮発性記憶装置6内の転送制御部7に対してディスク部
8からRAM部5へのデータ転送を指示すると共に、仮
終了報告線4Aのみを介して転送制御部9に対してディ
スク部8からデータの読み出しを開始する旨を報告す
る。このとき、制御線4Cには、READ指示の他に、
アクセスすべきディスク部8のページ番号等が送出され
る。
【0055】転送制御部7は、指示されたページ番号に
従ってディスク部8よりデータを読み出し、このデータ
をデータ線8Aを介してRAM部5に送り出し、ディス
ク部8からの読み出しが終了すると終了報告線7Aによ
り転送制御部4に対してディスク部8からのデータの読
み出しが終了したことを報告する。
【0056】転送制御部4は、データ線8Aからのデー
タを受け取ると、そのデータのRAM部5への書き込み
を行うと共に、データ線5Aを介して主記憶装置2にデ
ータを送り出す。さらに、転送制御部4は、データ線5
Aに対するデータ送出が終了すると、本終了報告線4B
を介して転送制御部9にREAD処理が終了したことを
報告する。
【0057】転送制御部9は、送られてくるデータが、
RAM部5からのデータであるか、ディスク部8からの
データであるかにかかわらず、いずれの場合にも、デー
タ線5Aを介して送られて来るデータを、命令で指定さ
れたアドレスに基づいて主記憶装置2に書き込むことに
よりREAD命令の処理を終了する。
【0058】なお、前述した動作において、揮発性記憶
装置3からデータ線5Aへのデータの送り出しは、RA
M部5へのデータの書き込みと並行してデータ線8Aの
データをバイパスする方法で行うと効率的である。
【0059】前述で図1に示す本発明の一実施例による
システムの書き込みと読み出しの動作を説明したが、本
発明の一実施例は、命令処理装置1内に複数の仮想プロ
セッサが構成されており、前述したWRITE命令及び
READ命令の処理において、ディスク部8へのアクセ
スが開始されたことにより、命令処理装置1内の仮想プ
ロセッサを切り替えるものである。
【0060】図1に示す本発明の一実施例は、転送制御
部9に対して、仮終了報告線4Aからのみ終了の報告が
行われ、本終了報告線4Bからの報告がないことを契機
にして、命令処理装置1内の仮想プロセッサの切り替え
を行うものである。また、本発明の一実施例は、WRI
TE処理またはREAD処理が終了したこと、すなわ
ち、転送制御部9に対して、仮終了報告線4Aおよび本
終了報告線4Bの両方から終了の報告が行われたことを
契機にして、命令処理装置1内の当該命令を発行した仮
想プロセッサへの切り替えを許可するものである。
【0061】以下、図2を参照して前述したような仮想
プロセッサの切り換えと実プロセッサの動作状態とにつ
いて説明する。
【0062】図2(a)は、1つの実プロセッサにn個
の仮想プロセッサを実現している場合で、WRITE命
令及びREAD命令のいずれも発行されない状態におけ
る仮想プロセッサの切り替えと実プロセッサの動作状態
を示している。
【0063】各仮想プロセッサは、時分割的に一定のタ
イムスライスで順次処理の実行が可能である。そして、
WRITE命令及びREAD命令のいずれも発行されな
い状態の場合、図2に示すように、仮想プロセッサ1が
1タイムスライス分の実行(図では実行1)を行うと、
仮想プロセッサ2が次のタイムスライス分の実行(図で
は実行2)を行うことができ、順次実行が続けられ、仮
想プロセッサnの実行nが終了すれば、仮想プロセッサ
1の実行1が再度1タイムスライス分続けられる。
【0064】前述した仮想プロセッサの実行動作は、実
マシンである実プロセッサ上で、時分割に仮想プロセッ
サのための実行により行われることになる。また、1つ
の仮想プロセッサとしては、1/nの時間が実プロセッ
サによりサービスされ、(n−1)/nの時間が命令の
実行が休止となる状態とみなすことができる。いいかえ
れば、仮想プロセッサの切り替えは、命令と命令との境
目で行われる。
【0065】図2(b)は、WRITE命令またはディ
スク部8へのアクセスを伴うREAD命令が発行された
状態における仮想プロセッサの切り替えと実プロセッサ
の動作状態を示している。
【0066】この図を参照し、説明の簡単化のため、仮
想プロセッサ1がWRITE命令を発行したものとして
説明する。
【0067】いま、仮想プロセッサ1が実行1の処理中
にWRITE命令が発行され、図1の動作で説明した仮
終了報告が行われると、仮想プロセッサ1は、実行中の
タイムスライスが終了するのを待たずに、処理を仮想プ
ロセッサ2に切り替える。
【0068】このとき、仮想プロセッサ1は、WRIT
E命令を実行中のままの状態で実マシンを他の仮想プロ
セッサに譲ることになり、次に、実マシンが割り当てら
れるまで休止ではなくWRITE命令の実行中(図では
実行1’)とみなされる。すなわち、実マシンは、他の
仮想プロセッサの処理の実行と並行して、WRITE命
令による前述したデータの転送制御を行うことになる。
【0069】実マシンは、WRITE命令によるデータ
転送処理が終了すると、すなわち、前述した本終了報告
が揮発性記憶装置から行われると、仮想プロセッサ1へ
の実マシン割当てを有効化する。具体的には、本終了報
告が行われると、直ちに、実行中の他の仮想プロセッサ
の処理を中断させ、強制的に仮想プロセッサ1に実マシ
ンを割り当てる方法、あるいは、次に仮想プロセッサ1
に割り当てられるタイムスライスまで待って仮想プロセ
ッサ1に実マシンを割り当てる等の方法により、仮想プ
ロセッサの切り替えが行われる。
【0070】2図(b)は前者の方法を採った場合の例
を示しており、前述の本終了報告が行われた時点で、実
行中の仮想プロセッサiの実行は、所定のタイムスライ
スが残っているにもかかわらず、即座に仮想プロセッサ
1に切り替えられる。このように即座に仮想プロセッサ
を切り替える方法は、前述したデータの転送制御の並行
動作をより有効に行うことができる。
【0071】すなわち、後者の方法により仮想プロセッ
サの切り替えを行う場合、WRITE命令を発行した仮
想プロセッサは、次に起動されるまで書き込みの処理を
終了させることができず、この間に他の仮想プロセッサ
から発行される記憶装置へのアクセスが待足されること
になるので、前者の方法による仮想プロセッサの切り替
えの方が、システム全体の処理効率の向上に有効であ
る。
【0072】前述したような仮想プロセッサの切り替え
のためには、仮想プロセッサがWRITE命令の実行中
であることを何らかの方法により表示しておく必要があ
る。図3にそのための手段の一例を示す。
【0073】仮想プロセッサの切り替えは、主記憶装置
内のハードウェア専用領域(HSA:Hardware Syste
me Area)に設けられた仮想プロセッサ用のデータ退避
領域に設けられる各仮想プロセッサが使用中の汎用レジ
スタ(GR:General Purpose Register)の内容、
命令アドレスを示すポインタ(IC:instruction Coun
ter)等を退避/回復することにより行われる。
【0074】通常の仮想プロセッサの切り替えは、ある
タイムスライスで最後に実行した命令の次に実行する命
令のアドレスをタイムスライス終了時に退避し、次に実
行するタイムスライスではこの退避した命令アドレスか
ら再開することにより行われる。
【0075】WRITE命令を実行することによる仮想
プロセッサの切り替えは、命令アドレスとしてWRIT
E命令そのもののアドレスを退避し、図3に示すよう
に、退避領域内に設けたWRITE命令実行中ビットを
設定することにより行われる。このビットが設定されて
いる場合、前述した本終了報告が行われるまで、それに
対応する仮想プロセッサの起動が行われないように制御
される。
【0076】本終了報告が行われそれに対応する仮想プ
ロセッサを起動する仮想プロセッサの切り替えは、前記
WRITE命令実行中ビットが設定されていることによ
り、WRITE命令の実行が終了したことを判別して行
われ、WRITE命令の終了処理(条件コードの設定
等)を行うことから処理が再開される。
【0077】図2により説明した仮想プロセッサの切り
替え動作において、実プロセッサの動作は、仮想プロセ
ッサの切り替えを従来技術の場合と同様に行うと、TL
Bの書き替えのため等により、実プロセッサの動作に切
り替えのためのオーバヘッドを生じさせる。
【0078】本発明の一実施例は、この仮想プロセッサ
の切り替え時における実プロセッサのオーバヘッドをも
低減することができるようにしたものである。図4にこ
のために図1の命令処理装置1内に設けた一回路例を示
しており、以下、これについて説明する。
【0079】図示回路は、各仮想プロセッサに対応した
プレフィクス値が設定されるn個の仮想プロセッサに対
応するn個のプレフィクスレジスタ61−1〜61−n
と、実行中の仮想プロセッサ番号が設定されるプレフィ
クス番号レジスタ62と、プレフィクス番号レジスタ6
2の値に従ってプレフィクスレジスタ群61−1〜61
−nの中の1つを選択するセレクタ63と、実アドレス
とプレフィクスレジスタ群61−1〜61−nの値とを
比較する比較器64−1〜64−nとを備えて構成され
ている。
【0080】セレクタ63は、プレフィクスレジスタ群
61−1〜61−nの値の中から、プレフィクス番号レ
ジスタ62の値に従って対応する1つを選択し、選択さ
れたプレフィクス値63Aを出力する。このプレフィク
ス値63Aは、有効プレフィクス値として実マシンにお
いてプレフィクス変換のために用いられる。仮想プロセ
ッサの切り替え時は、プレフィクス番号レジスタ62に
仮想プロセッサ番号を設定するだけでよく、プレフィク
スレジスタの値を変更する必要はない。
【0081】比較器64−1〜64−nは、STOアド
レス等を含む実アドレス60と、プレフィクスレジスタ
群61−1〜61−nの各値との一致検出を行い、ま
た、比較器64−0は、実アドレス60が0ページであ
るか否の検出が行われる。
【0082】TLB66内に登録される実アドレス(P
FRA)の各エントリには、本発明によりXビットが付
加されている。前述した比較器64−0〜64−nによ
る一致検出の結果は、論理和回路65でオアされて、T
LBへの実アドレス(PFRA)登録時に、該アドレス
に付加されているXビットに“1”を登録する。
【0083】このようにすることにより、起動されてい
ない仮想プロセッサを含めた全ての仮想プロセッサのプ
レフィクス変換の対象になる可能性のあるTLBエント
リのXビットに“1”を設定することができる。また、
逆に、Xビットが“1”でないTLBエントリは、全て
の仮想プロセッサのプレフィクス変換の対象にならない
ことが保証されることになるので、仮想プロセッサの切
り替えが行われた場合にも、引き続き利用することがで
きる。
【0084】従って、本発明の一実施例は、仮想プロセ
ッサの切り替えに際して、Xビットが“1”であるTL
Bエントリのみを初期化(パージ)する。これにより、
本発明の一実施例は、仮想プロセッサの切り替え時にお
けるTLB初期化のオーバヘッドを大幅に削減すること
ができる。
【0085】前述した本発明の一実施例によれば、ある
仮想プロセッサが低速の記憶装置に書き込み等を行って
いる間に他の仮想プロセッサの処理を行わせることがで
きるので、実プロセッサの待ち状態をなくすことがで
き、実プロセッサを有効に活用することができる。
【0086】また、本発明の一実施例によれば、低速の
記憶装置に対するアクセスを命令語(同期命令)により
行うことができるので、非同期の場合のCCW等の作
成、待ち行列作成等の前処理及び終了割込み等の後処理
のためのソフトウェアのオーバヘッドをなくすことがで
きる。
【0087】さらに、本発明の一実施例によれば、実ア
ドレスとプレフィクスレジスタ群との比較結果に基づい
て、TLBの部分的な初期化を行うのみで仮想プロセッ
サの切り替えを行うことができ、仮想プロセッサの切り
替え後に発生するアドレス変換においてTLBの大半の
部分を再利用させることができるので、仮想プロセッサ
の切り替えに伴うハードウェアのオーバヘッドを削減す
ることができる。
【0088】
【発明の効果】以上説明したように本発明によれば、記
憶装置への書き込み動作時等の低速の記憶装置に対する
アクセス時に、実プロセッサの待ち時間をなくし、仮想
プロセッサの切り換え時の実プロセッサオーバヘッドを
なくすことができるので、システム全体の処理性能の向
上を図ることができる。
【図面の簡単な説明】
【図1】本発明による不揮発化記憶装置を有する仮想プ
ロセッサの一実施例のシステム構成を示すブロック図で
ある。
【図2】仮想プロセッサの切り換えと実プロセッサの動
作状態を説明するタイムチャートである。
【図3】仮想プロセッサの切り換え方法を説明するため
の仮想プロセッサがWRITE命令を実行中であること
を示すための手段を示す図である。
【図4】仮想プロセッサの切り替え時のTLBの初期化
を行う回路例を示す図である。
【図5】LPARにおける仮想アドレスから実アドレス
への変換過程とTLBの概要を説明する図である。
【図6】マルチプロセッサを実現するための手段である
プレフィクス変換の概要を説明する図である。
【符号の説明】
1 命令処理装置 2 主記憶 3 揮発性記憶装置 4、7、9 転送制御部 5 RAM部 6 不揮発性記憶装置 8 ディスク部 61−1〜n プレフィクスレジスタ群 62 プレフィクス番号レジスタ 63 セレクタ 64−0〜n 比較回路 65 論理和回路 66 TLB

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数の仮想プロセッサを実現する実プロ
    セッサと、揮発性の高速記憶装置と、不揮発性の低速記
    憶装置とを備え、前記高速記憶装置と前記低速記憶装置
    との間で記憶領域を対応させ、前記高速記憶装置を見か
    け上不揮発性の記憶装置として動作させているシステム
    において、前記実プロセッサ上の仮想プロセッサからの
    前記記憶装置へのアクセスが、前記低速記憶装置に対す
    るアクセスを必要とするする場合、前記低速記憶装置に
    対するアクセスの開始を契機にして、前記実プロセッサ
    上に別の仮想プロセッサが起動されることを特徴とする
    不揮発化記憶方式。
  2. 【請求項2】 前記実プロセッサ上の仮想プロセッサか
    らの前記記憶装置へのアクセスが、同期命令により行わ
    れることを特徴とする請求項1記載の不揮発化記憶方
    式。
  3. 【請求項3】 前記記憶装置へのアクセスを行った仮想
    プロセッサは、低速記憶装置に対する処理の終了後直ち
    に起動されることを特徴とする請求項1または2記載の
    不揮発化記憶方式。
  4. 【請求項4】 前記記憶装置へのアクセスにより、前記
    低速記憶装置に対するアクセスが行われている間、記憶
    装置へのアクセスを起動した仮想プロセッサが記憶装置
    に対するアクセス中であることを示す手段を備えること
    を特徴とする請求項1、2または3記載の不揮発化記憶
    方式。
  5. 【請求項5】 複数の仮想プロセッサを実現する実プロ
    セッサと、実アドレスから絶対アドレスへのマッピング
    を行うためのプレフィクス変換機構とを備える仮想プロ
    セッサ方式において、各仮想プロセッサに対応したプレ
    フィクスレジスタの群と実行中の仮想プロセッサ番号を
    示すレジスタとを備え、前記仮想プロセッサ番号を示す
    レジスタの値に従ってプレフィクスレジスタの群の中か
    ら1つの有効なプレフィクスレジスタを選択し、該有効
    なプレフィクスレジスタの値を用いてプレフィクス変換
    を行うと共に、仮想プロセッサの切り替えに際して、前
    記仮想プロセッサ番号を示すレジスタの値を入れ替える
    ことを特徴とする仮想プロセッサ方式。
  6. 【請求項6】 前記プレフィクスレジスタ群の各レジス
    タの値と実アドレスとの比較結果を、仮想アドレスから
    実アドレスへの高速変換を行うTLBに登録し、仮想プ
    ロセッサの切り替えに際して、前記登録結果に基づいて
    TLBの内容を選択的に初期化することを特徴とする請
    求項5記載の仮想プロセッサ方式。
  7. 【請求項7】 請求項1ないし4のうち1記載の不揮発
    化記憶方式による記憶装置を備えることを特徴とする請
    求項5または6記載の仮想プロセッサ方式。
  8. 【請求項8】 揮発性の高速記憶装置と、不揮発性の低
    速記憶装置とを備え、前記高速記憶装置と前記低速記憶
    装置との間で記憶領域を対応させ、前記高速記憶装置を
    見かけ上不揮発性の記憶装置として動作させる記憶装置
    において、命令プロセッサからの記憶装置に対するアク
    セスにより前記低速記憶装置に対するアクセスが開始さ
    れたとき、前記命令プロセッサに、前記低速記憶装置に
    対するアクセスの開始を示す仮終了報告を行い、アクセ
    ス終了時、前記命令プロセッサに、アクセスの終了を示
    す本終了報告を行うことを特徴とする記憶装置。
JP4048711A 1992-03-05 1992-03-05 仮想プロセッサ方式及び不揮発化記憶方式 Pending JPH05250263A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4048711A JPH05250263A (ja) 1992-03-05 1992-03-05 仮想プロセッサ方式及び不揮発化記憶方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4048711A JPH05250263A (ja) 1992-03-05 1992-03-05 仮想プロセッサ方式及び不揮発化記憶方式

Publications (1)

Publication Number Publication Date
JPH05250263A true JPH05250263A (ja) 1993-09-28

Family

ID=12810897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4048711A Pending JPH05250263A (ja) 1992-03-05 1992-03-05 仮想プロセッサ方式及び不揮発化記憶方式

Country Status (1)

Country Link
JP (1) JPH05250263A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012033001A (ja) * 2010-07-30 2012-02-16 Toshiba Corp 情報処理装置および情報処理方法
US8482996B2 (en) 2010-09-30 2013-07-09 SK Hynix Inc. Nonvolatile memory apparatus with changeable operation speed and related signal control method
WO2020008757A1 (ja) * 2018-07-03 2020-01-09 株式会社デンソー 仮想化環境におけるデバイスへのアクセス方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012033001A (ja) * 2010-07-30 2012-02-16 Toshiba Corp 情報処理装置および情報処理方法
US8645612B2 (en) 2010-07-30 2014-02-04 Kabushiki Kaisha Toshiba Information processing device and information processing method
US8482996B2 (en) 2010-09-30 2013-07-09 SK Hynix Inc. Nonvolatile memory apparatus with changeable operation speed and related signal control method
WO2020008757A1 (ja) * 2018-07-03 2020-01-09 株式会社デンソー 仮想化環境におけるデバイスへのアクセス方法
JP2020008933A (ja) * 2018-07-03 2020-01-16 株式会社デンソー 仮想化環境におけるデバイスへのアクセス方法

Similar Documents

Publication Publication Date Title
US6920521B2 (en) Method and system of managing virtualized physical memory in a data processing system
KR100515229B1 (ko) 멀티프로세서 시스템에서 가상화된 물리적 메모리를관리하는 방법 및 시스템
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
JPH05257803A (ja) 仮想記憶空間管理方法及びアドレス計算装置
JPS61141055A (ja) 情報処理装置のアドレス変換方式
JPH04242848A (ja) 走行モード別キャッシュメモリ制御方式
JPH04308953A (ja) 仮想アドレス計算機装置
JP3066753B2 (ja) 記憶制御装置
JPH0115903B2 (ja)
JPH05250263A (ja) 仮想プロセッサ方式及び不揮発化記憶方式
JPH0192856A (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
JPH0548500B2 (ja)
JP2923273B2 (ja) データ処理システム
JPS6237754A (ja) 仮想拡張記憶方式
JPS6240736B2 (ja)
JP2791319B2 (ja) データ処理装置
JPH0567973B2 (ja)
JPH02101552A (ja) アドレス変換バッファ処理方式
JPH0157374B2 (ja)
JPH04205535A (ja) コピーオンライト方式
JPH057740B2 (ja)
JPS5842546B2 (ja) ストア制御方式
JPH07175602A (ja) ハードディスクエミュレータ
JPS63197254A (ja) 仮想記憶制御装置