JPS63128443A - 仮想計算機システムの計時方式 - Google Patents
仮想計算機システムの計時方式Info
- Publication number
- JPS63128443A JPS63128443A JP27403986A JP27403986A JPS63128443A JP S63128443 A JPS63128443 A JP S63128443A JP 27403986 A JP27403986 A JP 27403986A JP 27403986 A JP27403986 A JP 27403986A JP S63128443 A JPS63128443 A JP S63128443A
- Authority
- JP
- Japan
- Prior art keywords
- ckc
- timer
- value
- guest
- host
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、計算機の計時方式に係り、特に複数個のタイ
マ機構をハードウェア的に実現するのに好適な仮想計算
機システムの計時方式に関する。
マ機構をハードウェア的に実現するのに好適な仮想計算
機システムの計時方式に関する。
一般に情報処理装置には、タイマ機構として。
現在の時刻を計時するタイム・オブ・ディ・クロック(
以下TODと略す)と、このTODと比較し所定の時刻
となったら割込みを発生させる役割を持つクロック・コ
ンパレータ(以下CKCと略す)及び情報処理装置の間
隔計時を行うCPUタイマ(以下CPTと略す)が1組
備えられている。
以下TODと略す)と、このTODと比較し所定の時刻
となったら割込みを発生させる役割を持つクロック・コ
ンパレータ(以下CKCと略す)及び情報処理装置の間
隔計時を行うCPUタイマ(以下CPTと略す)が1組
備えられている。
このタイマ機構の一般的仕様としては1例えば株式会社
日立製作所発行のrHITACMシリーズ処理装置(M
/EXモード)J (8080−2−093)の26
〜27頁にその詳細が記述されている。
日立製作所発行のrHITACMシリーズ処理装置(M
/EXモード)J (8080−2−093)の26
〜27頁にその詳細が記述されている。
−前記刊行物から明らかな様に、従来の情報処理装置に
おいては、TOD、CKC及びCPTは各々1組ずつ、
つまりタイマ機構は1組で充分その役割を果していた。
おいては、TOD、CKC及びCPTは各々1組ずつ、
つまりタイマ機構は1組で充分その役割を果していた。
しかしながら近年、仮想計算機なる方法が採用される事
が極く一般的になりつ−あり、それに伴い複数のオペレ
ーティングシステムが同時に単一の計算機システム上で
同時に且つ独立に動作する必要があり、これに付随して
各オペレーティングシステムが使用するタイマ機構も独
立とする必要が生じて来た。
が極く一般的になりつ−あり、それに伴い複数のオペレ
ーティングシステムが同時に単一の計算機システム上で
同時に且つ独立に動作する必要があり、これに付随して
各オペレーティングシステムが使用するタイマ機構も独
立とする必要が生じて来た。
従来、この仮想計算機(以下VM又はゲストと称する)
のタイマ機構がもたらすところのタイマ値は、仮想計算
機制御プログラム(以下VMCPと称する)が一括して
管理しており、各VMのタイマ値はVMCPが自分の持
つ単一のタイマ機構から得られる値を操作しシミュレー
トする事によって各VMに与えている。この場合、情報
処理装置の1組のタイマ機構はVMCPが管理しており
。
のタイマ機構がもたらすところのタイマ値は、仮想計算
機制御プログラム(以下VMCPと称する)が一括して
管理しており、各VMのタイマ値はVMCPが自分の持
つ単一のタイマ機構から得られる値を操作しシミュレー
トする事によって各VMに与えている。この場合、情報
処理装置の1組のタイマ機構はVMCPが管理しており
。
VMに明は渡す事は無かった。しかし、各VMのタイマ
値をVMCPのソフトウェアシミュレーションによって
得る為には、そのシミュレーションする為のオーバーヘ
ッドが必然的に生じ、VMの性能上無視し得ない問題で
あった。
値をVMCPのソフトウェアシミュレーションによって
得る為には、そのシミュレーションする為のオーバーヘ
ッドが必然的に生じ、VMの性能上無視し得ない問題で
あった。
このシミュレーションのオーバーヘッドを除去する為に
、最近は各VM毎に独立にタイマ機構を具備させる仮想
計算機方式も提案されている。この仕様はVMCPの管
理するところのタイマ機構(以下ホストタイマ機構と称
す)とVMの管理するところのタイマ機構(以下ゲスト
タイマ機構と称する)が独立に存在し、独立に動作する
というものである。
、最近は各VM毎に独立にタイマ機構を具備させる仮想
計算機方式も提案されている。この仕様はVMCPの管
理するところのタイマ機構(以下ホストタイマ機構と称
す)とVMの管理するところのタイマ機構(以下ゲスト
タイマ機構と称する)が独立に存在し、独立に動作する
というものである。
上記仕様を満足する情報処理装置を実現する為には、従
来からハードウェアが備えているタイマ機構の論理回路
を独立にし、二重化すれば実現できる事は自明の理であ
る。しかし、二重化する為には、TOD、CKC及びC
PTをハードウェア論理で2組持ち、更にTODとCK
Cの内容を比較する比較論理も2組、CPTを減じて行
く減算器も2組必要になり、コストの上昇を招く。
来からハードウェアが備えているタイマ機構の論理回路
を独立にし、二重化すれば実現できる事は自明の理であ
る。しかし、二重化する為には、TOD、CKC及びC
PTをハードウェア論理で2組持ち、更にTODとCK
Cの内容を比較する比較論理も2組、CPTを減じて行
く減算器も2組必要になり、コストの上昇を招く。
更に、既存の情報処理装置の如くに、タイマ機構を1組
しか具備していないモデルにおいては、前記の独立した
タイマ機構を具備する為に、タイマ機構を二重化しよう
とすると、そのハードウェア論理の変更量は非常に大き
くなり、コストの上昇はさらに著しいものとなる。
しか具備していないモデルにおいては、前記の独立した
タイマ機構を具備する為に、タイマ機構を二重化しよう
とすると、そのハードウェア論理の変更量は非常に大き
くなり、コストの上昇はさらに著しいものとなる。
すなわち、上記従来技術の如く、ハードウェア論理の二
重化によってホストタイマ機構とゲストタイマ機構とを
各々独立に具備しようとすると、コストの上昇を招き、
更にタイマ機構を1組しか具備していない既存のモデル
においてはハードウェア論理の変更量が大きく、コスト
上昇も著しいという問題がある。
重化によってホストタイマ機構とゲストタイマ機構とを
各々独立に具備しようとすると、コストの上昇を招き、
更にタイマ機構を1組しか具備していない既存のモデル
においてはハードウェア論理の変更量が大きく、コスト
上昇も著しいという問題がある。
本発明の目的は、1組のハードウェアタイマ機構を具備
した情報処理装置に複数のタイマ機構を機能的に付加し
た仮想計算機システムを、コストの上昇及びハードウェ
ア論理の大巾な変更を伴うことなく実現することにある
。
した情報処理装置に複数のタイマ機構を機能的に付加し
た仮想計算機システムを、コストの上昇及びハードウェ
ア論理の大巾な変更を伴うことなく実現することにある
。
本発明の特徴とするところは、1組のタイマ機構を動作
させるにあたり、プログラムの与える複数のクロックコ
ンパレータ値(CKC値)をクロックコンパレータ割込
み制御用とゲスト命令読出し用に2つにわけてハードウ
ェア上で保存し、タイマ機構にカレントに設定する値を
一定条件で前記クロックコンパレータ割込み制御用のC
KC値より選択して設定することにより、1組のタイマ
機構ハードウェアを具備した情報処理装置に複数のタイ
マ機構を機能的に付加した仮想計算機システムを実現す
るものである。
させるにあたり、プログラムの与える複数のクロックコ
ンパレータ値(CKC値)をクロックコンパレータ割込
み制御用とゲスト命令読出し用に2つにわけてハードウ
ェア上で保存し、タイマ機構にカレントに設定する値を
一定条件で前記クロックコンパレータ割込み制御用のC
KC値より選択して設定することにより、1組のタイマ
機構ハードウェアを具備した情報処理装置に複数のタイ
マ機構を機能的に付加した仮想計算機システムを実現す
るものである。
タイマ機構のTODにカレントに設定するタイマ値は、
vMCPで設定したTOD (以下HTODと称する)
のまへとし、CKCにカレントに設定するタイマ値は、
VMCPの保持しているCKC(以降HCKCと称する
)とVMの保持しているCKC(以降GCKCと称する
)を補正した値のうち小さい方をセットする。これによ
り、1組のタイマ機構のCKCでカレントに計時される
値は値の小さい方となり、こちらがCKCに依る割込み
を先に発生させるものとなる。この構成により、VMC
P及びVM双方のタイマ機構による割込みを、VM側あ
るいはVMCP側と相矛盾する事無く検出する事が可能
な複数のタイマ機構を具備した仮想計算機システムを提
供できる。
vMCPで設定したTOD (以下HTODと称する)
のまへとし、CKCにカレントに設定するタイマ値は、
VMCPの保持しているCKC(以降HCKCと称する
)とVMの保持しているCKC(以降GCKCと称する
)を補正した値のうち小さい方をセットする。これによ
り、1組のタイマ機構のCKCでカレントに計時される
値は値の小さい方となり、こちらがCKCに依る割込み
を先に発生させるものとなる。この構成により、VMC
P及びVM双方のタイマ機構による割込みを、VM側あ
るいはVMCP側と相矛盾する事無く検出する事が可能
な複数のタイマ機構を具備した仮想計算機システムを提
供できる。
更にCKCをアクセスする命令語をVMが発行した場合
、前記ゲスト命令読出し用のタイマ値より選択した値を
使用する。この構成により、現在タイマ機構に設定され
ているVMのCKC値が回復不可能な程度まで補正を受
けていても、VMは自身のタイマ値を正しく命令語を用
いてアクセスする事が可能な複数のタイマ機構を具備し
た仮想計算機システムを提供できることNなる。
、前記ゲスト命令読出し用のタイマ値より選択した値を
使用する。この構成により、現在タイマ機構に設定され
ているVMのCKC値が回復不可能な程度まで補正を受
けていても、VMは自身のタイマ値を正しく命令語を用
いてアクセスする事が可能な複数のタイマ機構を具備し
た仮想計算機システムを提供できることNなる。
以下、本発明の一実施例について図面を用いて説明する
。
。
第1Nは本発明のタイマ機構を備えた仮想計算機システ
ムの一実施例のブロック図である。なお。
ムの一実施例のブロック図である。なお。
本実施例では、独立に動作するタイマ機構として。
VMCP用のホストタイマ機構が1組及びVM用のゲス
トタイマ機構が1組の例を示すが、それぞれ複数組具備
された構成をとっても良い。
トタイマ機構が1組の例を示すが、それぞれ複数組具備
された構成をとっても良い。
第1図において、制御装置(CU)101はこれに接続
されている各装置の制御を司どり、各装置から又は各装
置へのデータ転送を行いデータの加工をも行う。該制御
装置101は、信号線151を介してTOD 102、
CRT I O5、CKClO3、作業用CPT (T
EMPCPT)110、作業用CKC(TEMPCKC
)111及びゲストCKC値保持用レジスタ(GSTC
KC)112に接続され、更に信号線159を介してセ
レクタ112に接続されている。TOD 102はVM
CPの使用する(以下ホストと称する)TODクロック
値を保持するレジスタであり、信号線151.152及
び154を介してそれぞれCUIOl、加算回路(以下
ADDと略す)103、セレクタ112及びタイマ・オ
ブ・ディ・ラッチ(以降TODLと称す)104に接続
されている。ADD103はTOD 102から入力さ
れたデータを+1して信号線153に送出するプラス1
用の加算回路である。TODL104はADD103の
出力を一旦ラッチし、信号線154を介してTOD10
2に転送する中継ラッチである。
されている各装置の制御を司どり、各装置から又は各装
置へのデータ転送を行いデータの加工をも行う。該制御
装置101は、信号線151を介してTOD 102、
CRT I O5、CKClO3、作業用CPT (T
EMPCPT)110、作業用CKC(TEMPCKC
)111及びゲストCKC値保持用レジスタ(GSTC
KC)112に接続され、更に信号線159を介してセ
レクタ112に接続されている。TOD 102はVM
CPの使用する(以下ホストと称する)TODクロック
値を保持するレジスタであり、信号線151.152及
び154を介してそれぞれCUIOl、加算回路(以下
ADDと略す)103、セレクタ112及びタイマ・オ
ブ・ディ・ラッチ(以降TODLと称す)104に接続
されている。ADD103はTOD 102から入力さ
れたデータを+1して信号線153に送出するプラス1
用の加算回路である。TODL104はADD103の
出力を一旦ラッチし、信号線154を介してTOD10
2に転送する中継ラッチである。
CPT105は、ホスト又はゲストのCPUタイマ値を
保持するレジスタであり、信号線151゜155.15
7及び160を介してそれぞれCUlol、減算回路(
以降SUBと略す)106、セレクタ112、CPUタ
イマラッチ(以降CPTLと略す)107及びTEMP
CPTIIOに接続されている。5UB106はCPT
105から入力されたデータを−1して信号線156に
送出するマイナス1用の減算回路である。CPTL10
7は5UB106の出力を一既ラッチして信号線157
を介してCPT105に転送する中継ラッチである。
保持するレジスタであり、信号線151゜155.15
7及び160を介してそれぞれCUlol、減算回路(
以降SUBと略す)106、セレクタ112、CPUタ
イマラッチ(以降CPTLと略す)107及びTEMP
CPTIIOに接続されている。5UB106はCPT
105から入力されたデータを−1して信号線156に
送出するマイナス1用の減算回路である。CPTL10
7は5UB106の出力を一既ラッチして信号線157
を介してCPT105に転送する中継ラッチである。
CKC108は、ホスト又は補正されたゲストのクロッ
クコンパレータ値を保持するレジスタであり、信号線1
51,158及び161を介してそれぞれCUIOI、
比較回路(以下COMPと略す)109、セレクタ11
2及びTEMPCKClllに接続されている。GOM
P109は、信号線152を介して送られてくるTOD
値と信号線158を介して送られてくるCKC値の比較
を行い、その比較結果を信号線163に送出する比較回
路である。
クコンパレータ値を保持するレジスタであり、信号線1
51,158及び161を介してそれぞれCUIOI、
比較回路(以下COMPと略す)109、セレクタ11
2及びTEMPCKClllに接続されている。GOM
P109は、信号線152を介して送られてくるTOD
値と信号線158を介して送られてくるCKC値の比較
を行い、その比較結果を信号線163に送出する比較回
路である。
TEMPCPTIIOは、CPT105にセットされて
いる値と反対側のホスト又はゲストのCPUタイマ値を
保持しているテンポラリなレジスタであり、信号線15
1及び160を介してCUlol、CRT 105及び
セレクタ112に接続されている。
いる値と反対側のホスト又はゲストのCPUタイマ値を
保持しているテンポラリなレジスタであり、信号線15
1及び160を介してCUlol、CRT 105及び
セレクタ112に接続されている。
TEMPCKCI 11は、CKC108にセットされ
ている値と反対側のホスト又は補正されたゲストのCK
C値を保持しているテンポラリなレジスタであり、信号
線151及び161を介してCUIOI、CKClO3
及びセレクタ112に接続されている。
ている値と反対側のホスト又は補正されたゲストのCK
C値を保持しているテンポラリなレジスタであり、信号
線151及び161を介してCUIOI、CKClO3
及びセレクタ112に接続されている。
G5CKC112はゲストのCKC値を保持しているテ
ンポラリなレジスタであり、信号線159及び164を
介してCUIOI及びセレクタ112に接続されている
。
ンポラリなレジスタであり、信号線159及び164を
介してCUIOI及びセレクタ112に接続されている
。
こ〜で、G5CKCl 12は本発明の特徴的なレジス
タであり、TEMPCPTl 10とTEMPCKCI
11と共に、2つの独立したタイマ機能を実現する上
で重要な役割を持つ。
タであり、TEMPCPTl 10とTEMPCKCI
11と共に、2つの独立したタイマ機能を実現する上
で重要な役割を持つ。
まず、第1図を用いて、タイマ機構の動作の概略を説明
する。
する。
ホストTOD値は信号線51を介してCUIOlによっ
てTOD 102にセットされ、その後、一定間隔でA
DD 103を用いて+1され、T。
てTOD 102にセットされ、その後、一定間隔でA
DD 103を用いて+1され、T。
DL104を経由して再びTOD I O2にセットさ
れる。つまり、TOD 102は一定間隔で+1される
。この一定間隔で+1更新されるTOD値は、信号線1
52を経由してCOMP109の一方の入力となる。
れる。つまり、TOD 102は一定間隔で+1される
。この一定間隔で+1更新されるTOD値は、信号線1
52を経由してCOMP109の一方の入力となる。
ホスト又はゲストのTODと比較されるべくCUlol
によって選択されたCKC値は、CUIolによって信
号線151を介してCKClO3にセットされる。CK
ClO3’のCKC値は信号線158を介してGOMP
109のもう一方に入力される。GOMP109はTO
D I O2にセットされている一定時間間隔で+1さ
れる値と、CKClO3にセットされている値とを比較
し、もしTOD 102にセットされている値が大きけ
れば、CKC割込み要求信号を信号線163及び159
を経由してCUIOIに送出する。
によって選択されたCKC値は、CUIolによって信
号線151を介してCKClO3にセットされる。CK
ClO3’のCKC値は信号線158を介してGOMP
109のもう一方に入力される。GOMP109はTO
D I O2にセットされている一定時間間隔で+1さ
れる値と、CKClO3にセットされている値とを比較
し、もしTOD 102にセットされている値が大きけ
れば、CKC割込み要求信号を信号線163及び159
を経由してCUIOIに送出する。
CUIOIによって選択されたホスト又ゲストのCPT
値は、CUlolによって信号線151を介してCPT
105にセットされる。その後、一定間隔でSUB 1
06を用いて−1され、cpTL107を経由して再び
CPT105にセットされる。即ち、CPT105は一
定間隔で−1される。この一定間隔で一1更新されるC
PT値は、常時、負になったか否かをチェックされる。
値は、CUlolによって信号線151を介してCPT
105にセットされる。その後、一定間隔でSUB 1
06を用いて−1され、cpTL107を経由して再び
CPT105にセットされる。即ち、CPT105は一
定間隔で−1される。この一定間隔で一1更新されるC
PT値は、常時、負になったか否かをチェックされる。
負になったか否かの判定は例えば2進数であれば、一番
上位のビット位置が′1″になったか否がで判定する。
上位のビット位置が′1″になったか否がで判定する。
′0”であれば正であり、“1″であれば負である。C
PT値が負であると、CPTIO5は信号線155及び
159を介して、CPT割込み要求信号をCUlolに
送出する。
PT値が負であると、CPTIO5は信号線155及び
159を介して、CPT割込み要求信号をCUlolに
送出する。
以上説明した動作は、従来のタイマ機構の実現法と同じ
である。つまり、CPT105及びCKClO3には、
CUlolが選択したホスト又はゲストのCPT値及び
ホスト又は補正されたゲストのCKC値がセットされる
という点を除き、従来のTOD、CPT及びCKCと何
ら変わるところは無い。
である。つまり、CPT105及びCKClO3には、
CUlolが選択したホスト又はゲストのCPT値及び
ホスト又は補正されたゲストのCKC値がセットされる
という点を除き、従来のTOD、CPT及びCKCと何
ら変わるところは無い。
以下1本発明の特徴とするGSTCKC112の役割、
TEMPCKCI 11の役割とTOD 102、CK
ClO3にセットする動作を第2図乃至第7図を用いて
説明する。尚、TEMPCPTlloの役割とCPT1
05にセットする動作は。
TEMPCKCI 11の役割とTOD 102、CK
ClO3にセットする動作を第2図乃至第7図を用いて
説明する。尚、TEMPCPTlloの役割とCPT1
05にセットする動作は。
先に出願した特願昭61−79921号で説明されてい
ので、こへでは省略する。
ので、こへでは省略する。
第2図は、第1図に示したTOD 102、CKClO
3、TEMPCKCI 11、GSTCKC112及び
CUlolに対応する部分のみを抜き出したブロック図
である。第1図に示すTOD 102がTOD202.
CKClO3がCKC203、TEMPCKCll 1
がTEMPCKC204、GSTCKC112がGST
CKC205゜CUIOIがCu2O3にそれぞれ対応
し、信号線は簡略化して示している。
3、TEMPCKCI 11、GSTCKC112及び
CUlolに対応する部分のみを抜き出したブロック図
である。第1図に示すTOD 102がTOD202.
CKClO3がCKC203、TEMPCKCll 1
がTEMPCKC204、GSTCKC112がGST
CKC205゜CUIOIがCu2O3にそれぞれ対応
し、信号線は簡略化して示している。
第3図は本発明によるゲスト及びホストのクロックコン
パレータをイニシャライズする場合の処理フローチャー
トである。
パレータをイニシャライズする場合の処理フローチャー
トである。
第3図に示す第2図の動作は以下の如くである。
こシでTOD202及びCKC203にはそれぞれホス
1−のTOD値及びCKC値が予めCu2O3によって
設定されている。
1−のTOD値及びCKC値が予めCu2O3によって
設定されている。
ステップ301:Cu2O3は主記憶内の状態記述(以
降SDと略す)テーブルのゲストクロックコンパレータ
値(以降GCKCと略す)を取り出しハードウェア的に
保存する。更にCKC203の値であるHCKCを取り
出しハードウェア的に保存する。
降SDと略す)テーブルのゲストクロックコンパレータ
値(以降GCKCと略す)を取り出しハードウェア的に
保存する。更にCKC203の値であるHCKCを取り
出しハードウェア的に保存する。
ステップ302:Cu2O3は予め取り出しておいたS
D内のGCKCをGSTCKC205にセットする。次
にCu2O3はGCKCの補正を行い、補正結果をTE
MPGCKCとしてハードウェア内に保存する。このG
CKCの補正はT。
D内のGCKCをGSTCKC205にセットする。次
にCu2O3はGCKCの補正を行い、補正結果をTE
MPGCKCとしてハードウェア内に保存する。このG
CKCの補正はT。
D202のホストTOD値とGCKCの間の整合をとる
ものであり、この補正によって、VMの時刻を現在の時
刻にとられれず自由に設定することが可能となる。この
GCKCの補正は本発明の核心をなすものであり、これ
については後述する。
ものであり、この補正によって、VMの時刻を現在の時
刻にとられれず自由に設定することが可能となる。この
GCKCの補正は本発明の核心をなすものであり、これ
については後述する。
ステップ303:ホストのCKC割込みの受付けが許可
されているか否かを判定する。具体的にはホストのプロ
グラム状態語(以降PSWと略す)の外部割込みマスク
が“1”でホストの制御レジスタ(以降CRと略す)の
CKC割込みサブクラスマスクが“1″′の時、ホスト
CKC割込みの受付けは許可される。割込みが許可され
ていればステップ305に進み、許可されていなけれな
ステップ304に進む。
されているか否かを判定する。具体的にはホストのプロ
グラム状態語(以降PSWと略す)の外部割込みマスク
が“1”でホストの制御レジスタ(以降CRと略す)の
CKC割込みサブクラスマスクが“1″′の時、ホスト
CKC割込みの受付けは許可される。割込みが許可され
ていればステップ305に進み、許可されていなけれな
ステップ304に進む。
ステップ304:このケースはホストCKC割込みが許
可されていない場合であり、CKC203をゲストに明
は渡せるケースである。まずCO2O3はHCKC割込
み許可フラグを“0″にセットし、TEMPCKC20
4にCKC203の値をセットする6次にCO2O3は
補正後のGCKC値であるTEMPGCKCttCKC
203にセットし、更に補正されたゲストのCKCがC
KC203にセットされている旨を示すハードウェアフ
ラグGCKCONフラグを“1”にセットする。こ〜で
CKC203のイニシャライズ動作を終了する。
可されていない場合であり、CKC203をゲストに明
は渡せるケースである。まずCO2O3はHCKC割込
み許可フラグを“0″にセットし、TEMPCKC20
4にCKC203の値をセットする6次にCO2O3は
補正後のGCKC値であるTEMPGCKCttCKC
203にセットし、更に補正されたゲストのCKCがC
KC203にセットされている旨を示すハードウェアフ
ラグGCKCONフラグを“1”にセットする。こ〜で
CKC203のイニシャライズ動作を終了する。
ステップ305:このケースはホストCKC割込みが許
可されているケースであり、CKC203にはホスト又
は補正されたゲストのCKCのいずれかが条件によって
セットされるケースである。
可されているケースであり、CKC203にはホスト又
は補正されたゲストのCKCのいずれかが条件によって
セットされるケースである。
CO2O3はまずHCK C割込み許可フラグを111
jFにセットし1次いで、HCKCをTEMPHCK
Cとしてハードウェア的に保存する。
jFにセットし1次いで、HCKCをTEMPHCK
Cとしてハードウェア的に保存する。
ステップ306:ステップ302で作成したTEMPG
CKCとステップ305で作成したTEMPHCKCと
の比較を行い、その大小関係によってステップ307〜
309のいずれかのステップに進む・ ステップ307:このケースはTEMPHCKCがTE
MPGCKCより大きいケース即ち補正後のゲストのC
KCの方がホストのCKCより小さいと見做されたケー
スである。CO2O3はTEMPCKC204にTEM
PHCKCをセットし、TEMPGCK(lcKc20
3にセットする。以降ホストTODと補正後のゲストC
KCとの比較が比較器で行われる。次にゲストのCKC
がCKC203にセットされている旨を示すハードウェ
アフラグGCKGONフラグを“1”にセットする。こ
へでCKC203のイニシャライズ動作を終了する。
CKCとステップ305で作成したTEMPHCKCと
の比較を行い、その大小関係によってステップ307〜
309のいずれかのステップに進む・ ステップ307:このケースはTEMPHCKCがTE
MPGCKCより大きいケース即ち補正後のゲストのC
KCの方がホストのCKCより小さいと見做されたケー
スである。CO2O3はTEMPCKC204にTEM
PHCKCをセットし、TEMPGCK(lcKc20
3にセットする。以降ホストTODと補正後のゲストC
KCとの比較が比較器で行われる。次にゲストのCKC
がCKC203にセットされている旨を示すハードウェ
アフラグGCKGONフラグを“1”にセットする。こ
へでCKC203のイニシャライズ動作を終了する。
ステップ308:このケースはTEMPHCKCとTE
MPGCKGの値が等しいケースである。
MPGCKGの値が等しいケースである。
CO2O3はTEMPCKC204にTEMPGCKC
をセットし、CKC203はそのま5とする。以降ホス
トTODとHCKCとの比較が比較器で行われる。次に
ホストのCKCと補正後のゲストのCKCが等しい旨を
示すハードウェアフラグHEQGCKGフラグを“1”
にセットする。
をセットし、CKC203はそのま5とする。以降ホス
トTODとHCKCとの比較が比較器で行われる。次に
ホストのCKCと補正後のゲストのCKCが等しい旨を
示すハードウェアフラグHEQGCKGフラグを“1”
にセットする。
こNでCKC203のイニシャライズ動作を終了する。
ステップ309:このケースはTEMPHCKCがTE
MPGCKCより小さいケース即ち補正後のゲストのC
KCの方がホストのCKCより大きいと見做されたケー
スである。CO2O3はTEMPCKC204にTEM
PGCKCをセットし、TEMPHCKCをCKC20
3にセットする。以降ホストTODとHCKCとの比較
が比較器で行われる。次にホストのCKCがCKC20
3にセットされている旨を示すハードウェアフラグHC
KCONフラグを“1”にセットする。ニーでCKC2
03のイニシャライズ動作を終了する。
MPGCKCより小さいケース即ち補正後のゲストのC
KCの方がホストのCKCより大きいと見做されたケー
スである。CO2O3はTEMPCKC204にTEM
PGCKCをセットし、TEMPHCKCをCKC20
3にセットする。以降ホストTODとHCKCとの比較
が比較器で行われる。次にホストのCKCがCKC20
3にセットされている旨を示すハードウェアフラグHC
KCONフラグを“1”にセットする。ニーでCKC2
03のイニシャライズ動作を終了する。
第4図はGCKCを補正する時の処理フローである。こ
のGCKCの補正はTOD 202のホストTOD値と
GCKC間の整合をとるものであり、この補正によって
、vMの時刻を現在の時刻にとられれず自由に設定する
ことが可能となる。
のGCKCの補正はTOD 202のホストTOD値と
GCKC間の整合をとるものであり、この補正によって
、vMの時刻を現在の時刻にとられれず自由に設定する
ことが可能となる。
第4図に示す第2図の動作は以下の如くである。
ステップ401:二\では、GCKCがオール“F”か
否かを判定する。GCKCがオール14 F”の時はス
テップ408に進み、GCKCがオールit F”でな
い時はステップ402へ進む。
否かを判定する。GCKCがオール14 F”の時はス
テップ408に進み、GCKCがオールit F”でな
い時はステップ402へ進む。
ステップ402:このケースはGCKCがオール“F
I+でない即ちゲストのCKC割込みが発生する可能性
がある場合である。このステップではGCKCがオール
“013か否かを判定する。GCKCがオールII O
17の時はステップ407へ進み、GCKCがオール″
0″′でない時はステップ4゜3へ進む。
I+でない即ちゲストのCKC割込みが発生する可能性
がある場合である。このステップではGCKCがオール
“013か否かを判定する。GCKCがオールII O
17の時はステップ407へ進み、GCKCがオール″
0″′でない時はステップ4゜3へ進む。
ステップ403:このケースはGCKCがオール“0”
でないケースである。このステップではゲストTOD値
(以下GTOD)を算出する。まずCu2O3はTOD
202(7)値であるHTODを取り出す。次いでCu
2O3は主記憶からSD内のエポック差異(ED)を取
り出し、HTODに加算する。すなわち(HTOD+E
D)なる演算を行い、演算結果をGTODとしてハード
ウェア的に保存する。次にステップ404に進む。
でないケースである。このステップではゲストTOD値
(以下GTOD)を算出する。まずCu2O3はTOD
202(7)値であるHTODを取り出す。次いでCu
2O3は主記憶からSD内のエポック差異(ED)を取
り出し、HTODに加算する。すなわち(HTOD+E
D)なる演算を行い、演算結果をGTODとしてハード
ウェア的に保存する。次にステップ404に進む。
ステップ404:、:>ではGTODとGCKCの大小
関係を判定する。GTODがGCKCより大なる時はス
テップ407へ進み、そうでなければステップ405へ
進む。
関係を判定する。GTODがGCKCより大なる時はス
テップ407へ進み、そうでなければステップ405へ
進む。
ステップ407:このケースは、GCKCがオール“0
”か又はGCKGがGTODより小さいケースである。
”か又はGCKGがGTODより小さいケースである。
即ちたゾちにゲストCKC割込みが発生するケースであ
る。この時は補正後のGCKCとしてオールit On
を設定し、補正を終了する。
る。この時は補正後のGCKCとしてオールit On
を設定し、補正を終了する。
ステップ405:このケースはGCKCがGTODと等
しいか又は大きい場合である。このステップではCu2
O3は(GCKC−ED)なる演算を行い、演算結果を
GCKC傘としてハードウェア的に保存する。次にステ
ップ406へ進む。
しいか又は大きい場合である。このステップではCu2
O3は(GCKC−ED)なる演算を行い、演算結果を
GCKC傘としてハードウェア的に保存する。次にステ
ップ406へ進む。
ステップ406:こ\ではHTODとGCKC傘の大小
関係を判定する。HTODがGCKC*より大きければ
ステップ408へ進む、HTODがGCKC串と等しい
か又は小さければ、GCKC申を補正後のGCKCとし
て設定し、補正を終了する。
関係を判定する。HTODがGCKC*より大きければ
ステップ408へ進む、HTODがGCKC串と等しい
か又は小さければ、GCKC申を補正後のGCKCとし
て設定し、補正を終了する。
ステップ408:このケースは、ステップ401でGC
KCがオール“F”即ちゲストCKC割込みは絶対に発
生しない場合か、又はステップ404ではGTODがG
CKCと等しいか又は小さいと判定されたにもか−わら
ず、ステップ406ではHTODがGCKC申より大き
いと判定されたケース、即ちステップ405で行った(
GCKG−ED)なる演算が桁あふれを起こし、GCK
C*が不当に小さな値となっている場合である。
KCがオール“F”即ちゲストCKC割込みは絶対に発
生しない場合か、又はステップ404ではGTODがG
CKCと等しいか又は小さいと判定されたにもか−わら
ず、ステップ406ではHTODがGCKC申より大き
いと判定されたケース、即ちステップ405で行った(
GCKG−ED)なる演算が桁あふれを起こし、GCK
C*が不当に小さな値となっている場合である。
この時は補正後のGCKCとしてオール“F+ jlを
設定し、補正を終了する。
設定し、補正を終了する。
次に、イニシャライズされて動作を開始したクロック・
コンパレータ機構に対し、VMの命令語がVMのクロッ
ク・コンパレータ値をアクセスしに来た場合について、
第2図と第5図を用いて説明する。このクロック・コン
パレータ値を取り出す命令としては例えばIBMシステ
ム307情報処理装置における5TORE CLOC
KCOMPARATOR命令がある。第5wIは本命令
の処理を示すマイクロプログラムによるフローチャート
である。
コンパレータ機構に対し、VMの命令語がVMのクロッ
ク・コンパレータ値をアクセスしに来た場合について、
第2図と第5図を用いて説明する。このクロック・コン
パレータ値を取り出す命令としては例えばIBMシステ
ム307情報処理装置における5TORE CLOC
KCOMPARATOR命令がある。第5wIは本命令
の処理を示すマイクロプログラムによるフローチャート
である。
ステップ501:CKC値を読み出す命令がVMから発
行されると、Cu2O3はGSTCKC205を取り出
し、ハードウェア的に保存し、ステップ502へ進む。
行されると、Cu2O3はGSTCKC205を取り出
し、ハードウェア的に保存し、ステップ502へ進む。
ステップ502:Cu2O3はステップ501で取り出
しておいたGSTCKC205の値を第2オペランドロ
ケーシヨンにストアする。
しておいたGSTCKC205の値を第2オペランドロ
ケーシヨンにストアする。
以上の動作により、二へでストアされたCKC値は、V
Mの側の、補正されていないCKCであることが保障さ
れる。
Mの側の、補正されていないCKCであることが保障さ
れる。
次に、VMのクロックコンパレータ値をVMがセットす
る命令を発行した場合について第2図と第6図を用いて
説明する。このクロックコンパレータをセットする命令
としては例えばIBMシステム370情報処理装置にお
けるSET CLOLKCOMPARATOR命令が
ある。第6図は本命令の処理手順を示すマイクロプログ
ラムのフローチャートである。
る命令を発行した場合について第2図と第6図を用いて
説明する。このクロックコンパレータをセットする命令
としては例えばIBMシステム370情報処理装置にお
けるSET CLOLKCOMPARATOR命令が
ある。第6図は本命令の処理手順を示すマイクロプログ
ラムのフローチャートである。
ステップ601:Cu2O3は命令で与えられた第2オ
ペランドを読出し、GCKCとしてハードウェア的に保
存する。次にCu2O3はGCKCをGSTCKC20
5にセットする。そして。
ペランドを読出し、GCKCとしてハードウェア的に保
存する。次にCu2O3はGCKCをGSTCKC20
5にセットする。そして。
Cu2O3はGCKCを補正し、TEMPGCKCとし
てハードウェア的に保存する。このGCKCの補正は先
に第4図を用いて説明した通りである。次にステップ6
02へ進む。
てハードウェア的に保存する。このGCKCの補正は先
に第4図を用いて説明した通りである。次にステップ6
02へ進む。
ステップ602:Cu2O3は、ホストCKC割込み許
可フラグの値を調べ、この値がj(1#lであればステ
ップ604へ、“0”であればステップ603へ進む。
可フラグの値を調べ、この値がj(1#lであればステ
ップ604へ、“0”であればステップ603へ進む。
ステップ603:このケースはホストのCKC割込みが
禁止されている場合であるので、CKC203をゲスト
へ明は渡す。Cu2O3はTEMPGCKCをCKC2
03ヘセットし1本命令の動作を終了する。
禁止されている場合であるので、CKC203をゲスト
へ明は渡す。Cu2O3はTEMPGCKCをCKC2
03ヘセットし1本命令の動作を終了する。
ステップ604:このケースはホストのCKC割込みが
許可されている場合であり、ホストCKCとゲストCK
Cのタイマ機構の共用処理を始める。Cu2O3はCK
C203の内容とTEMPCKCの内容を取り出し、ハ
ードウェア的に保存する。
許可されている場合であり、ホストCKCとゲストCK
Cのタイマ機構の共用処理を始める。Cu2O3はCK
C203の内容とTEMPCKCの内容を取り出し、ハ
ードウェア的に保存する。
ステップ605:Cu2O3はハードウェアフラグであ
るGCKCONフラグの値を調べ、本フラグの値が′1
″であればステップ607へ、“0”であればステップ
606へ進む。
るGCKCONフラグの値を調べ、本フラグの値が′1
″であればステップ607へ、“0”であればステップ
606へ進む。
ステップ606:このケースはCKC203がホストC
KCの値になっている場合である。Cu2O3はCKC
203の内容をTEMPHCKCとしてハードウェア的
に保存する。その後ステップ608へ進む。
KCの値になっている場合である。Cu2O3はCKC
203の内容をTEMPHCKCとしてハードウェア的
に保存する。その後ステップ608へ進む。
ステップ607::(7)ケースはCKC203にゲス
トCKCの値になっている場合である。Cu2O3はT
EMPCKCの内容をT E M P HCKCとして
ハードウェア的に保存する。その後ステップ608へ進
む。
トCKCの値になっている場合である。Cu2O3はT
EMPCKCの内容をT E M P HCKCとして
ハードウェア的に保存する。その後ステップ608へ進
む。
ステップ608:Cu2O3はハードウェアとして保持
しているフラグであるGCKCONフラグ、HEQCK
Cフラグ及びHCKCONフラグをu O”にクリアす
る。その後ステップ609へ進む・ ステップ609 : TEMPHCKCとTEMPGC
KCとの比較を行い、その大小関係によってステップ6
10〜612のいずれかに進む。
しているフラグであるGCKCONフラグ、HEQCK
Cフラグ及びHCKCONフラグをu O”にクリアす
る。その後ステップ609へ進む・ ステップ609 : TEMPHCKCとTEMPGC
KCとの比較を行い、その大小関係によってステップ6
10〜612のいずれかに進む。
メチツブ610:こ−での動作は前述したステップ30
7と同じ動作を行う。
7と同じ動作を行う。
ステップ611:こNでの動作は前述したステップ30
8と同じ動作を行う。
8と同じ動作を行う。
ステップ612:二\での動作は前述したステップ30
9と同じ動作を行う。
9と同じ動作を行う。
以上の動作を行うことにより、本発明のタイマ機構に新
しいゲストCKCの値が設定され、クロックコンパレー
タをセットする命令の実行が完了する。
しいゲストCKCの値が設定され、クロックコンパレー
タをセットする命令の実行が完了する。
以上、本発明におけるタイマ機構の一実施例について説
明した。本実施例では、GSTCKC205はハードウ
ェアラッチとしたが、ハードウェアのワーク記憶上でも
良く又主記憶を使用しても良い。又、本実施例ではゲス
トのタイマ機構が1つの例を示したが、当然のことなが
ら2つ以上であっても良い6 〔発明の効果〕 本発明によれば、ハードウェア論理としては1組のタイ
マ機構を具備する情報処理装置において、独立した複数
のタイマ機構を持つ仮想計算機システムを、コストの上
昇及びハードウェア論理の大巾な変更を伴うことなく実
現できるという大きな効果がある。
明した。本実施例では、GSTCKC205はハードウ
ェアラッチとしたが、ハードウェアのワーク記憶上でも
良く又主記憶を使用しても良い。又、本実施例ではゲス
トのタイマ機構が1つの例を示したが、当然のことなが
ら2つ以上であっても良い6 〔発明の効果〕 本発明によれば、ハードウェア論理としては1組のタイ
マ機構を具備する情報処理装置において、独立した複数
のタイマ機構を持つ仮想計算機システムを、コストの上
昇及びハードウェア論理の大巾な変更を伴うことなく実
現できるという大きな効果がある。
第1図は本発明の一実施例のブロック図、第2図は第1
図より本発明の特徴的な部分を抜出したブロック図、第
3図は本発明によるゲスト及びホストのクロックコンパ
レータをイニシャライズする場合のフローチャート、第
4図はゲストのクロックコンパレータを補正する場合の
フローチャート、第5図はVMがVMのクロック・コン
パレータ値をアクセスする命令を発行した場合のフロー
チャート、第6図はVMのクロックコンパレータ値をV
Mがセットする命令を発行した場合のフローチャートで
ある。 101.201・・・制御装置。 102.202・・・タイム・オブ・ディ・クロック(
TOD)、 105・・・CPUタイマ(cpT)、
108,203・・・クロックコンパレータ(CK
C)、 110・・・作業用CPUタイマ、111,
204・・・作業用クロックコンパレータ、112.2
05・・・ゲストCKC保存用クロックコンパレータ、
103・・・加算器。 104・・・中継ラッチ、 106・・・減算器、1
07・・・中継ラッチ、 109・・・比較器、11
2・・・セレクタ。 第1図 第2図 第3図 第4図
図より本発明の特徴的な部分を抜出したブロック図、第
3図は本発明によるゲスト及びホストのクロックコンパ
レータをイニシャライズする場合のフローチャート、第
4図はゲストのクロックコンパレータを補正する場合の
フローチャート、第5図はVMがVMのクロック・コン
パレータ値をアクセスする命令を発行した場合のフロー
チャート、第6図はVMのクロックコンパレータ値をV
Mがセットする命令を発行した場合のフローチャートで
ある。 101.201・・・制御装置。 102.202・・・タイム・オブ・ディ・クロック(
TOD)、 105・・・CPUタイマ(cpT)、
108,203・・・クロックコンパレータ(CK
C)、 110・・・作業用CPUタイマ、111,
204・・・作業用クロックコンパレータ、112.2
05・・・ゲストCKC保存用クロックコンパレータ、
103・・・加算器。 104・・・中継ラッチ、 106・・・減算器、1
07・・・中継ラッチ、 109・・・比較器、11
2・・・セレクタ。 第1図 第2図 第3図 第4図
Claims (1)
- (1)現在の時刻を計時するタイマもしくは間隔時間を
計時する1組のタイマ機構を具備し、プログラムの与え
る複数のタイマ値を個別にハードウェア上で保存し、上
記タイマ機構に上記複数のタイマ値より選択して設定す
る事により複数のタイマ機構を実現する仮想計算機シス
テムにおいて、プログラムの与える複数のタイマ値を割
込み制御用と命令読出し用とにわけてハードウェア上で
保存すると共に、割込み制御用タイマ値を自由に補正で
きる様にし、その補正にあたっては現在の時刻との比較
と仮想的な時刻との比較の2回比較を行うことを特徴と
する仮想計算機システムの計時方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP27403986A JPS63128443A (ja) | 1986-11-19 | 1986-11-19 | 仮想計算機システムの計時方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP27403986A JPS63128443A (ja) | 1986-11-19 | 1986-11-19 | 仮想計算機システムの計時方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63128443A true JPS63128443A (ja) | 1988-06-01 |
Family
ID=17536112
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP27403986A Pending JPS63128443A (ja) | 1986-11-19 | 1986-11-19 | 仮想計算機システムの計時方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63128443A (ja) |
-
1986
- 1986-11-19 JP JP27403986A patent/JPS63128443A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4961161A (en) | Arithmetic processor performing mask and trap operations for exceptions | |
| US4199810A (en) | Radiation hardened register file | |
| JPS5887646A (ja) | タイマ・エラ−訂正方法 | |
| JPH0652070A (ja) | 集積回路のデータ保護装置およびデータ保護方法 | |
| US4797816A (en) | Virtual memory supported processor having restoration circuit for register recovering | |
| JPS63263513A (ja) | 仮想計算機システムの計時方式 | |
| JP2904172B2 (ja) | 論理回路シミュレータ | |
| JPH0588884A (ja) | 状態モード設定方式 | |
| JP2552738B2 (ja) | データ処理装置 | |
| JPS62237532A (ja) | 仮想計算機システムのタイマ制御方法 | |
| JPH0616287B2 (ja) | マスク付きベクトル演算処理装置 | |
| JPS63155330A (ja) | マイクロプログラム制御装置 | |
| JP2539079B2 (ja) | カラムデ―タ選択処理回路 | |
| JPS6220032A (ja) | 情報処理装置 | |
| JPH08339307A (ja) | 仮想計算機システムの計時方式 | |
| KR100681427B1 (ko) | 다중 프로세서 시스템을 위한 리셋 회로 | |
| JPS583012A (ja) | タイムオブディクロックの同期化方式 | |
| JPH03175538A (ja) | 二重化処理装置 | |
| JPH1055289A (ja) | デバッグ情報生成回路、およびそれを用いた情報処理装置 | |
| JPH0519745B2 (ja) | ||
| JPH02253459A (ja) | データ処理装置 | |
| JPS6383826A (ja) | ハ−ドコピ−制御装置 | |
| JPH04172852A (ja) | データ照合方式 | |
| JPS63103312A (ja) | タイマ制御方式 | |
| JPS60140437A (ja) | 仮想計算機システムタイマ制御方式 |