JP3203007B2 - I / O address conversion method for virtual machines - Google Patents

I / O address conversion method for virtual machines

Info

Publication number
JP3203007B2
JP3203007B2 JP08644391A JP8644391A JP3203007B2 JP 3203007 B2 JP3203007 B2 JP 3203007B2 JP 08644391 A JP08644391 A JP 08644391A JP 8644391 A JP8644391 A JP 8644391A JP 3203007 B2 JP3203007 B2 JP 3203007B2
Authority
JP
Japan
Prior art keywords
address
display control
machine
control unit
target machine
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 - Fee Related
Application number
JP08644391A
Other languages
Japanese (ja)
Other versions
JPH04318648A (en
Inventor
浩道 伊藤
行宏 関
良裕 林
正巳 山岸
利男 田中
雅幸 永岡
進 小野寺
重信 石本
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 JP08644391A priority Critical patent/JP3203007B2/en
Publication of JPH04318648A publication Critical patent/JPH04318648A/en
Application granted granted Critical
Publication of JP3203007B2 publication Critical patent/JP3203007B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、パーソナルコンピュー
タやワークステーション等において、複数の異なるアー
キテクチャを持つ異機種間でのプログラムの互換性を保
つ仮想計算機のI/Oアドレス変換方式に係り、特に、
仮想計算機のハードウェアとその制御ソフトウェアであ
る仮想計算機モニタプログラムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an I / O address conversion method for a virtual computer for maintaining compatibility of a program between different models having a plurality of different architectures in a personal computer, a workstation or the like.
The present invention relates to virtual machine hardware and a virtual machine monitor program that is control software for the hardware.

【0002】[0002]

【従来の技術】パーソナルコンピュータ(以下パソコン
と略す)などの情報処理装置においては、各メーカが独
自性を表した結果、数多くのアーキテクチャが存在して
いる。ここでアーキテクチャとは、メモリマップ、I/
Oマップ、使用しているLSI、OSファンクション、
BIOSファンクションなどをいう。これらのハードウ
ェアやソフトウェアの構成が機種間で異なるため、それ
ぞれの機種用に開発されたアプリケーションソフトウェ
ア間での互換性はない。そのため使用者は、自分の使用
したいアプリケーションソフトウェアが動作する装置を
新たに購入したり、あるいは既に所有している装置の上
で動作するようにアプリケーションソフトウェアを改
造、移植しなければならない。
2. Description of the Related Art In an information processing apparatus such as a personal computer (hereinafter abbreviated as a personal computer), a number of architectures exist as a result of each manufacturer expressing its uniqueness. Here, the architecture is a memory map, I /
O map, LSI used, OS function,
Refers to a BIOS function or the like. Since the configuration of these hardware and software differs between models, there is no compatibility between application software developed for each model. For this reason, the user must purchase a new device that runs the application software that he or she wants to use, or modify or port the application software to operate on a device that the user already owns.

【0003】このような問題に対し、ある特定の機種
(ベースマシンと呼ぶ)上で、この機種とは異なるアー
キテクチャを持つ他の機種(ターゲットマシンと呼ぶ)
との互換性を保とうとする試みは、いわゆる仮想計算機
として古くから大型コンピュータで行われてきた。さら
に、LSI技術の進歩等によって、近年ではパソコンの
レベルにまで応用されるようになってきている。
In order to solve such a problem, on a specific model (called a base machine), another model (called a target machine) having an architecture different from that of this model.
Attempts to maintain compatibility with have been made on large computers since ancient times as so-called virtual machines. Furthermore, due to advances in LSI technology and the like, in recent years, it has been applied to the level of personal computers.

【0004】パソコン上で仮想計算機を実現するために
は、少なくともOSとBIOSファンクションコールの
エミュレーションを行う必要がある。これについては特
開昭61−184643号公報に特権命令を用いたシス
テムコールをエミュレーションする方法が開示されてい
る。
In order to realize a virtual machine on a personal computer, it is necessary to emulate at least an OS and a BIOS function call. Regarding this, Japanese Patent Application Laid-Open No. 61-184463 discloses a method of emulating a system call using a privileged instruction.

【0005】また、パソコンでは、その処理を高速に行
うために表示制御部をアプリケーションソフトウェアが
直接アクセスする場合が一般的である。従って、表示制
御部に関しては、ターゲットマシンのハードウェアをな
んらかの方法でエミュレーションする必要がある。これ
については、ベースマシンの表示制御部を用いてターゲ
ットマシンの表示制御部をエミュレーションする方法
が、例えば日経BP社発行の日経バイト誌1987年1
0月号第140頁から第150頁に論じられている。ま
た、I/Oをソフトウェアによってエミュレーションす
る方法は、特開昭62−279431号公報に開示され
ている。
[0005] In a personal computer, application software directly accesses a display control unit in order to perform the processing at high speed. Therefore, regarding the display control unit, it is necessary to emulate the hardware of the target machine by some method. Regarding this, a method of emulating the display control unit of the target machine using the display control unit of the base machine is described in, for example, Nikkei Byte Magazine, 1987, published by Nikkei BP.
It is discussed in the January issue, pages 140-150. A method for emulating I / O by software is disclosed in Japanese Patent Application Laid-Open No. 62-279431.

【0006】さらに、高速性が要求される表示機能に関
しては、ターゲットマシン用表示制御部とベースマシン
用表示制御部の両方のハードウェアを持たせることによ
って、ソフトウェアによるエミュレーションを不要とす
る方法が、特願平1−166631号に提案されてい
る。この出願においては、ターゲットマシンの表示制御
部の占有するメモリ領域、I/O領域がベースマシンの
それと重なる場合、アドレス変換によって、重ならない
領域に配置する方法が開示されている。例えば、図2の
I/Oの物理マップに示すように、00C0Hから00
DFHまでのアドレス領域にはベースマシンのDMAコ
ントローラが、03B0Hから03DFHまでのアドレ
ス領域には、ベースマシンの表示制御部のI/Oがそれ
ぞれマッピングされているとする。これに対して、ター
ゲットマシン本来の表示制御部のI/Oがアドレス00
C0Hから00DFHであるとする。この場合、ターゲ
ットマシン表示制御部のI/Oアドレスは前記DMAコ
ントローラのI/Oアドレスと重なってしまう。そこ
で、破線で示すように、ターゲットマシン表示制御部を
ベースマシン上の空き領域である01C0Hから01D
FHまでの領域にマッピングしておく。ターゲットマシ
ン用のアプリケーションソフトウェアを動作させるター
ゲットモードでは、前記ソフトウェアが00C0Hから
00DFHの表示制御部のI/Oアクセスを行うと、そ
のアドレスを01C0Hから01DFHのアドレスに変
換してターゲットマシンの表示ハードウェアをアクセス
する。このアドレス変換の例として、ハードウェアによ
って変換する例と、CPUのトラップ機能を用いたソフ
トウェアによる変換の例が開示されている。
Further, with respect to a display function that requires high speed, a method that eliminates the need for emulation by software by providing hardware for both a display control unit for a target machine and a display control unit for a base machine has been proposed. This is proposed in Japanese Patent Application No. 1-166631. In this application, a method is disclosed in which, when a memory area and an I / O area occupied by a display control unit of a target machine overlap with those of a base machine, they are arranged in a non-overlapping area by address conversion. For example, as shown in the I / O physical map of FIG.
It is assumed that a DMA controller of the base machine is mapped to an address area up to DFH, and an I / O of a display control unit of the base machine is mapped to address areas from 03B0H to 03DFH. On the other hand, the I / O of the original display control unit of the target machine is set to the address 00.
It is assumed that the value is C0H to 00DFH. In this case, the I / O address of the target machine display controller overlaps with the I / O address of the DMA controller. Therefore, as indicated by the broken line, the target machine display control unit is changed from the free space 01C0H to 01D
It maps to the area up to FH. In the target mode in which the application software for the target machine is operated, when the software makes an I / O access to the display control unit from 00C0H to 00DFH, the address is converted from an address from 01C0H to 01DFH to display the display hardware of the target machine. To access. As an example of the address conversion, an example of conversion by hardware and an example of conversion by software using a trap function of the CPU are disclosed.

【0007】[0007]

【発明が解決しようとする課題】上記の仮想計算機実現
方法は、使い勝手の上で最も重要な表示を高速に実現で
きるという点で優れたものである。しかし、ターゲット
マシンの表示I/Oアドレスが占有するI/Oアドレス
領域の大きさに比べてベースマシンの空きI/Oアドレ
ス領域が小さい場合に、ターゲットマシンの表示I/O
部を割り付けることができるI/Oアドレスを確保でき
ない事態が生じる。また、I/Oアドレスを確保するこ
とができたとしても、ベースマシンの空きI/Oアドレ
スが使用者の使用するオプションI/Oアダプタ等によ
って変化する場合に、そのI/Oアドレスとターゲット
マシンの表示I/O部に割当てたI/Oアドレスとが事
後的に衝突するおそれがある。
The above-described virtual machine realizing method is excellent in that the most important display can be realized at high speed with ease of use. However, when the free I / O address area of the base machine is smaller than the size of the I / O address area occupied by the display I / O address of the target machine, the display I / O of the target machine is reduced.
A situation arises in which an I / O address to which a unit can be allocated cannot be secured. Further, even if the I / O address can be secured, if the free I / O address of the base machine changes depending on the optional I / O adapter used by the user, the I / O address and the target machine There is a possibility that the I / O address assigned to the display I / O section of FIG.

【0008】本発明の目的は、ターゲットマシン表示ハ
ードウェアを持つ仮想計算機において、ターゲットマシ
ン表示ハードウェアのI/Oアドレス割り付けを、ベー
スマシンの空きI/Oアドレスに対応して行うことので
きるI/Oアドレス変換方式を提供することにある。
An object of the present invention is to provide a virtual machine having target machine display hardware in which I / O addresses of the target machine display hardware can be allocated in correspondence with free I / O addresses of the base machine. An object of the present invention is to provide a / O address conversion method.

【0009】本発明の他の目的は、前記ターゲットマシ
ン表示ハードウェアのI/Oアドレスが占有するアドレ
ス領域を削減することができるI/Oアドレス変換方式
を提供することにある。
Another object of the present invention is to provide an I / O address conversion system capable of reducing an address area occupied by I / O addresses of the target machine display hardware.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するため
に、本発明による仮想計算機のI/Oアドレス変換方式
は、ベースマシン上でターゲットマシン用のアプリケー
ションプログラムを動作させる仮想計算機において、ベ
ースマシンの表示制御部である第1の表示制御ハードウ
ェアと、仮想計算機モニタプログラムによってエミュレ
ートするターゲットマシンの表示制御部である第2の表
示制御ハードウェアとを設け、前記第2の表示制御ハー
ドウエアをベースマシンの複数のI/Oアドレス領域の
いずれかに選択的に割り付けるとともに、前記ターゲッ
トマシン用のアプリケーションプログラムからみたター
ゲットマシンの表示制御部のI/Oアドレスを前記割り
付けられた空きアドレス領域内のI/Oアドレスに変換
するようにしたものである。前記ターゲットマシン用の
アプリケーションプログラムからみたターゲットマシン
の表示制御部のI/Oアドレスを前記割り付けられた空
きアドレス領域内のI/Oアドレスへ変換するアドレス
変換方式として、好ましくは、前記表示制御部のI/O
アドレスに一定値を加減算または乗除算することにより
I/Oアドレスを求める第1のアドレス変換方式、およ
び、予め定めたI/Oアドレスに割り付けたインデクス
レジスタに書き込んだデータをI/Oアドレスとして用
いる第2のアドレス変換方式の少なくとも1つの変換方
式を採用する。
In order to achieve the above object, an I / O address conversion method for a virtual machine according to the present invention provides a virtual machine for operating an application program for a target machine on a base machine. And a second display control hardware which is a display control unit of a target machine emulated by a virtual machine monitor program, wherein the first display control hardware is a second display control hardware. Is selectively assigned to any one of the plurality of I / O address areas of the base machine, and the I / O address of the display control unit of the target machine viewed from the application program for the target machine is stored in the allocated free address area. To convert to I / O address It is. As an address conversion method for converting an I / O address of the display control unit of the target machine viewed from the application program for the target machine into an I / O address in the allocated free address area, preferably, I / O
A first address conversion method for obtaining an I / O address by adding / subtracting or multiplying / dividing a constant value to an address, and using data written in an index register assigned to a predetermined I / O address as an I / O address. At least one of the second address conversion methods is adopted.

【0011】第1および第2のアドレス変換方式の双方
を採用する場合には、少なくとも一方のアドレス変換を
禁止する手段を設ける。
When both the first and second address translation methods are employed, a means for inhibiting at least one address translation is provided.

【0012】本発明による他のI/Oアドレス変換方式
は、ベースマシン上でターゲットマシン用のアプリケー
ションプログラムを動作させる仮想計算機において、C
PUと、ベースマシンの表示制御部である第1の表示制
御ハードウェアと、仮想計算機モニタプログラムによっ
てエミュレートするターゲットマシンの表示制御部であ
る第2の表示制御ハードウェアと、ベースマシンモード
とターゲットマシンモードとを切替えるモード切替手段
と、前記第2の表示制御ハードウェアを第1または第2
のI/Oアドレスに選択的に割り付けるアドレス割り付
け手段と、ターゲットマシンモード時に前記CPUから
前記第2の表示制御ハードウエアをアクセスするアドレ
スを前記第1または第2のI/Oアドレスに選択的に変
換するアドレス変換手段と、該アドレス変換手段および
前記アドレス割当て手段の各々の選択動作を切替るI/
Oマップ切替手段と、を設けたものである。
Another I / O address conversion method according to the present invention is a virtual machine which runs an application program for a target machine on a base machine.
PU, first display control hardware as a display control unit of a base machine, second display control hardware as a display control unit of a target machine emulated by a virtual machine monitor program, base machine mode and target A mode switching means for switching between a machine mode and a second or first display control hardware.
Address allocating means for selectively allocating to the I / O addresses of the first and second I / O addresses, and an address for accessing the second display control hardware from the CPU in the target machine mode to the first or second I / O addresses. Address converting means for converting, and an I / O for switching selection operations of the address converting means and the address allocating means.
O map switching means.

【0013】本発明による更に他のI/Oアドレス変換
方式は、ベースマシン上でターゲットマシン用のアプリ
ケーションプログラムを動作させる仮想計算機におい
て、ベースマシンの表示制御部である第1の表示制御ハ
ードウェアと、仮想計算機モニタプログラムによってエ
ミュレートするターゲットマシンの表示制御部である第
2の表示制御ハードウェアと、ベースマシンモードとタ
ーゲットマシンモードとを切替えるモード切替手段と、
予め定めたアドレスを発生するアドレス発生手段と、前
記予め定めたアドレスに割り付けられたインデクスレジ
スタとを設け、ターゲットマシンにおける前記表示制御
部の本来のI/Oアドレスのアクセス時に前記予め定め
たアドレスを選択して前記インデクスレジスタにインデ
クス値を書き込み、該インデクス値により前記ターゲッ
トマシンの表示制御部をアクセスするようにしたもので
ある。
Still another I / O address conversion method according to the present invention is a virtual machine for operating an application program for a target machine on a base machine, comprising: a first display control hardware which is a display control unit of the base machine; A second display control hardware which is a display control unit of a target machine emulated by a virtual machine monitor program, and mode switching means for switching between a base machine mode and a target machine mode;
An address generating means for generating a predetermined address; and an index register assigned to the predetermined address, wherein the predetermined address is stored when the display controller in the target machine accesses the original I / O address. An index value is selected and written into the index register, and the display control unit of the target machine is accessed using the index value.

【0014】前記アドレス発生手段の予め定めたアドレ
スは可変とすることもできる。
[0014] The predetermined address of the address generating means may be variable.

【0015】なお、本発明において、I/Oアドレスの
割り付けの対象を、前記表示制御部に代えて通信制御部
等の他のI/O部とすることも可能である。
In the present invention, the I / O address can be assigned to another I / O unit such as a communication control unit instead of the display control unit.

【0016】[0016]

【作用】ベースマシン上にターゲットマシン表示ハード
ウェアを設けた仮想計算機において、前記ターゲットマ
シン表示ハードウェアのI/Oアドレス割り付けを可変
とすることにより、ベースマシンの空きI/Oアドレス
が使用者が使用するオプションI/Oアダプタによって
変化する場合でも、前記ターゲットマシン表示ハードウ
ェアのI/Oを空きI/Oアドレス領域に割り付けるよ
うに動作する。これによって、使用者が使用するオプシ
ョンI/Oアダプタに関わらず仮想計算機を実現でき
る。
In the virtual machine having the target machine display hardware provided on the base machine, the I / O address allocation of the target machine display hardware is made variable so that the user can obtain the free I / O address of the base machine. Even if it changes depending on the optional I / O adapter to be used, the operation is performed to allocate the I / O of the target machine display hardware to a free I / O address area. Thus, a virtual machine can be realized regardless of the optional I / O adapter used by the user.

【0017】また、ターゲットマシン表示ハードウェア
のI/Oアドレスを、インデクス方式によって変換する
方式によれば、インデクスを指定するためのインデクス
レジスタとデータをアクセスするためのデータレジスタ
を用意し、ターゲットマシン本来の多くの表示I/Oそ
れぞれに固有のインデクス値を割り当てる。アクセスす
る表示I/Oのインデクス値を前記インデクスレジスタ
に設定後、データレジスタをアクセスすれば、前記ター
ゲットマシン表示ハードウェアのI/Oへのアクセスが
できる。すなわち、この方式によればインデクスレジス
タとデータレジスタのための2個のI/Oのアドレスを
占有するだけで実現することができる。また、ベースマ
シンの空きI/Oアドレスが少ない場合は、ターゲット
マシン表示ハードウェアのI/Oアドレスを、ターゲッ
トマシン本来のI/Oアドレスに0を含む一定値を加減
算あるいは乗除算することによって変換したI/Oアド
レスへ割り付けるアドレス変換方式を禁止し、インデク
ス方式のアドレス変換方式を使用することによって、ベ
ースマシンのI/Oとの衝突を避けることができる。
According to the method of converting the I / O address of the display hardware of the target machine by the index method, an index register for designating the index and a data register for accessing the data are prepared. A unique index value is assigned to each of the many display I / Os. After setting the index value of the display I / O to be accessed in the index register, by accessing the data register, the I / O of the target machine display hardware can be accessed. That is, according to this method, it can be realized by occupying only two I / O addresses for the index register and the data register. If the available I / O address of the base machine is small, the I / O address of the display hardware of the target machine is converted by adding, subtracting, or multiplying / dividing a constant value including 0 to the original I / O address of the target machine. By prohibiting the address conversion system assigned to the I / O address and using the index-based address conversion system, it is possible to avoid collision with the I / O of the base machine.

【0018】また、ターゲットマシン表示ハードウェア
のI/Oアドレスを、インデクス方式によってI/Oア
ドレスに割り付ける際、ターゲットマシン本来のI/O
アドレスに0を含む一定値を加減算あるいは乗除算した
値をインデックス値として用いることによって、ターゲ
ットマシン本来のI/Oアドレスからインデクス値への
変換が容易になる。これによって、変換ハードウェアあ
るいは、変換ソフトウェアを簡単化することができる。
When the I / O address of the display hardware of the target machine is assigned to the I / O address by the indexing method, the I / O address of the target machine is used.
By using, as an index value, a value obtained by adding, subtracting, or multiplying or dividing a constant value including 0 in an address, conversion from an original I / O address of the target machine to an index value becomes easy. Thereby, the conversion hardware or the conversion software can be simplified.

【0019】さらに具体的に、インデクス方式のアドレ
ス変換方式では、CPUのアクセスアドレスがターゲッ
トマシン本来の表示I/Oアドレスであることを検出す
ると、まず、CPUのアドレスをインデクスレジスタの
I/Oアドレスに変換し、CPUのデータを前記表示I
/Oに割り付けられたインデクス値に変換し第一のアク
セスを行う。次に、CPUのアドレスを前記データレジ
スタのI/Oアドレスに変換し、データとしてはCPU
のデータを用いて第二のアクセスを行う。このようにし
て、ハードウェアのみによって、ターゲットマシン本来
の表示I/Oアドレスへのアクセスを、インデクス方式
のアクセスに変換することができ、ソフトウェアによる
変換に比べ、高速化が達成できる。
More specifically, in the address conversion method of the index system, when it is detected that the access address of the CPU is the display I / O address inherent in the target machine, first, the CPU address is converted to the I / O address of the index register. And the CPU data is converted to the display I
The value is converted to the index value assigned to / O and the first access is performed. Next, the CPU address is converted into an I / O address of the data register, and
The second access is performed using the data of. In this way, the access to the display I / O address inherent in the target machine can be converted into the access of the index system only by the hardware, and the speed can be increased as compared with the conversion by software.

【0020】[0020]

【実施例】以下、本発明の実施例について詳細に説明す
る。
Embodiments of the present invention will be described below in detail.

【0021】図1に、本発明の一実施例として、仮想計
算機を構成するパソコンの構成を示す。同図中、1はC
PU、22はCPUアドレスバス、23はCPUデータ
バス、2はアドレスバス、3はデータバス、4はベース
マシン表示制御部、5はターゲットマシン表示制御部、
6は動作モードに応じて表示信号を選択しCRT8に送
るセレクタ、7は仮想計算機モニタが動作モードを設定
するモードレジスタ、9はアドレス変換をハードウェア
で行うアドレス変換器、10はモードレジスタ7の設定
値であるモード信号、11はDMAコントローラ、12
はメモリ、15はI/Oマップを選択するI/Oマップ
切替レジスタ、16はI/Oマップ切替レジスタ15の
設定値であるI/Oマップ切替信号、17は使用者が任
意に組み込むことができるオプションI/Oアダプタで
ある。仮想計算機モニタ13およびアプリケーションソ
フトウェア14は、メモリ12上におかれている。表示
制御部としては、例えば、CRTコントローラ、フレー
ムメモリ(画像メモリ)等を含む。ベースマシン表示制
御部4とターゲットマシン表示制御部5とは、別個に示
しているが、共通に使用できる部分は共有することがで
きる。
FIG. 1 shows the configuration of a personal computer constituting a virtual machine as one embodiment of the present invention. In the figure, 1 is C
PU, 22 is a CPU address bus, 23 is a CPU data bus, 2 is an address bus, 3 is a data bus, 4 is a base machine display control unit, 5 is a target machine display control unit,
6 is a selector for selecting a display signal according to the operation mode and sending it to the CRT 8, 7 is a mode register for setting the operation mode of the virtual machine monitor, 9 is an address converter for performing address conversion by hardware, and 10 is a mode register 7. A mode signal which is a set value, 11 is a DMA controller, 12
Is a memory, 15 is an I / O map switching register for selecting an I / O map, 16 is an I / O map switching signal which is a set value of the I / O map switching register 15, and 17 is a user-arbitrarily built-in signal. An optional I / O adapter that can be used. The virtual machine monitor 13 and the application software 14 are located on the memory 12. The display control unit includes, for example, a CRT controller, a frame memory (image memory), and the like. Although the base machine display control unit 4 and the target machine display control unit 5 are shown separately, the parts that can be used in common can be shared.

【0022】アプリケーションソフトウェア14がター
ゲットマシン用のときは、仮想計算機モニタ13の設定
したモードレジスタ7の設定値によって、セレクタ6が
ベースマシン表示制御部4からの表示信号を選択すると
ともに、アドレス変換器9はアドレス変換を行わずCP
Uアドレスバス22の値をそのままアドレスバス2に出
力する。
When the application software 14 is for a target machine, the selector 6 selects a display signal from the base machine display control unit 4 in accordance with the set value of the mode register 7 set by the virtual machine monitor 13 and the address converter. 9 is CP without address conversion
The value of the U address bus 22 is output to the address bus 2 as it is.

【0023】アプリケーションソフトウェア14がベー
スマシン用のときは、仮想計算機モニタ13の設定した
モードレジスタ7の設定値によって、セレクタ6がター
ゲットマシン表示制御部5からの表示信号を選択すると
ともに、アドレス変換器9はCPUアドレス22の値に
対しアドレス変換を行なった後、アドレスバス2に出力
する。
When the application software 14 is for a base machine, the selector 6 selects a display signal from the target machine display control unit 5 according to the set value of the mode register 7 set by the virtual machine monitor 13 and an address converter. 9 performs address conversion on the value of the CPU address 22 and outputs the result to the address bus 2.

【0024】図3に、本実施例に関するI/Oマップの
例を示す。(a)は物理マップであり、00C0Hから
00DFHまでのアドレス領域100にはベースマシン
のDMAコントローラ11が、03B0Hから03DF
Hまでのアドレス領域にはベースマシン表示制御部4の
表示I/O(表示制御部)がそれぞれマッピングされて
いる。ベースマシン用のアプリケーションソフトウェア
14はこのI/Oマップに依存して作成されている。一
方、ターゲットマシンの表示I/Oは、本来は00C0
Hから00DFHまでのアドレス領域にマッピングされ
ているものとすると、これを本例のベースマシンに接続
すると、DMAコントローラ11との間でI/Oアドレ
スが重なってしまう。そこで、ターゲットマシンの表示
制御部をベースマシン上の空き領域である01C0Hか
ら01DFHまでのアドレス領域101、および02C
0Hから02DFHまでのアドレス領域102、のいず
れかに選択的にマッピングできるようにしておく。図1
に示したオプションI/Oアダプタ17を使用する場合
には、これら2種類のアドレス領域のうち、オプション
I/Oアダプタ17のI/Oアドレスと重ならない方の
アドレス領域を選択する。この選択は、I/Oマップ切
替レジスタ15の設定値を変更することによって行な
う。図3(b),(c)については後述する。
FIG. 3 shows an example of an I / O map according to this embodiment. (A) is a physical map in which the DMA controller 11 of the base machine stores data in the address area 100 from 00C0H to 00DFH.
Display I / Os (display control units) of the base machine display control unit 4 are mapped to address areas up to H, respectively. The application software 14 for the base machine is created depending on this I / O map. On the other hand, the display I / O of the target machine is originally 00C0.
If this is mapped to the address area from H to 00DFH, if this is connected to the base machine of the present example, I / O addresses will overlap with the DMA controller 11. Therefore, the display control unit of the target machine is changed to address areas 101 from 01C0H to 01DFH, which are empty areas on the base machine, and 02C.
It can be selectively mapped to any of the address areas 102 from 0H to 02DFH. FIG.
When using the optional I / O adapter 17 shown in (1), an address area that does not overlap with the I / O address of the optional I / O adapter 17 is selected from these two types of address areas. This selection is made by changing the set value of the I / O map switching register 15. 3B and 3C will be described later.

【0025】図8に、ターゲットマシン表示制御部5を
アドレス領域101およびアドレス領域102のいずれ
かに選択的に割り付けるためのターゲットマシン表示制
御部5の本発明に関与する部分の構成を示す。通常、表
示制御部は、I/Oアドレスをデコードするデコーダ5
3と、このデコーダ53のデコード出力によって選択さ
れる各種表示制御レジスタ56〜58を有する。ここで
は、デコーダ53は1C0Hから1DFHまでのI/O
アドレスをデコードするものとする。この構成に対し
て、本実施例では、I/Oマップ切替レジスタ15(図
1)からのマップ切替信号16がインアクティブ
(“0”)のときI/OアドレスバスのビットA8およ
びA9に何ら変更を加えず、アクティブ(“1”)のと
き両ビットを同時に反転する、という働きをする排他的
論理和ゲート54,55を設けている。これによって、
ターゲットマシン表示制御部5には、選択的に、1C0
Hから1DFHまでの第1のアドレス領域と、2C0H
から2DFHまでの第2のアドレス領域が選択可能に割
当てられたことになる。すなわち、ターゲットマシン表
示制御部5は、マップ切替信号16が“0”のとき第1
のアドレス領域に割当てられ、マップ切替信号16が
“1”のとき第2のアドレス領域に割当てられたことに
なる。なお、本実施例では2個のアドレス領域のいずれ
かを選択的に割り付けるようにしたが、3個以上のアド
レスのいずれかを選択的に割り付けるようにすることも
可能である。
FIG. 8 shows a configuration of a part related to the present invention of the target machine display control unit 5 for selectively assigning the target machine display control unit 5 to one of the address area 101 and the address area 102. Normally, the display control unit includes a decoder 5 for decoding an I / O address.
3 and various display control registers 56 to 58 selected by the decode output of the decoder 53. Here, the decoder 53 performs I / O from 1C0H to 1DFH.
The address shall be decoded. In contrast to this configuration, in the present embodiment, when the map switching signal 16 from the I / O map switching register 15 (FIG. 1) is inactive ("0"), there are no bits A8 and A9 of the I / O address bus. Exclusive OR gates 54 and 55 are provided which function to invert both bits simultaneously when active ("1") without any change. by this,
The target machine display control unit 5 selectively includes 1C0
H to 1DFH, 2C0H
2DFH to the second address area are selectably allocated. That is, when the map switching signal 16 is “0”, the target machine display control unit 5
, And when the map switching signal 16 is “1”, it is assigned to the second address area. In this embodiment, any one of the two address areas is selectively assigned. However, it is also possible to selectively assign any one of three or more addresses.

【0026】図4はアドレス変換器9の一構成例であ
る。このアドレス変換器9は、アドレスバスの一部のビ
ットを操作することによりアドレスを実質的に加減算し
て変換するものであるが、乗除算により変換することも
可能である。アドレスデコーダ20、アンドゲート1
9,25,26、インバータ27、排他的論理和ゲート
28,29からなる。CPU1が00C0Hから00D
FHまでの範囲内のアドレスをアクセスした場合を考え
る。アドレスデコーダ20は、そのアドレスをデコード
してデコード信号21をアクティブにする。もし、仮想
計算機モニタ13の動作モードがベースマシンモードで
あれば、モードレジスタ7からのモード信号10がイン
アクティブ(この例では“0”)となっており、アドレ
ス変換イネーブル信号24はインアクティブのままであ
り、アンドゲート25,26のそれぞれのA9反転信号
31およびA8反転信号32は共にインアクティブ
(“0”)である。したがって、ベースマシンモードの
ときには、CPU1からのアドレスは何ら変換されずに
そのままアドレスバス2へ出力されることになる。すな
わち、先の例では、このアドレスによるアクセスは、ベ
ースマシンのDMAコントローラに対するものとなる。
FIG. 4 shows an example of the configuration of the address converter 9. Although the address converter 9 operates by partially adding or subtracting an address by manipulating some bits of the address bus, the address can be converted by multiplication / division. Address decoder 20, AND gate 1
9, 25, 26, an inverter 27, and exclusive OR gates 28, 29. CPU1 changes from 00C0H to 00D
Consider a case where an address within the range up to FH is accessed. Address decoder 20 decodes the address and activates decode signal 21. If the operation mode of the virtual machine monitor 13 is the base machine mode, the mode signal 10 from the mode register 7 is inactive (“0” in this example), and the address translation enable signal 24 is inactive. The A9 inverted signal 31 and the A8 inverted signal 32 of the AND gates 25 and 26 are both inactive ("0"). Therefore, in the base machine mode, the address from the CPU 1 is output to the address bus 2 without any conversion. That is, in the above example, the access by this address is to the DMA controller of the base machine.

【0027】ターゲットマシンモードが選択されている
場合には、モードレジスタ7のモード信号10がアクテ
ィブ(“1”)である。このとき、前述のようにデコー
ド信号21がアクティブになると、アドレス変換イネー
ブル信号24がアクティブ(“1”)になる。更にこの
とき、I/Oマップ切替レジスタ15に、01C0Hか
ら01DFHまでのアドレス領域101を選択するよう
設定されていたとすると(この例では設定値が“0”の
場合)、I/Oマップ切替信号16はインアクティブ
(“0”)となる。これにより、アンドゲート25が出
力するA9反転信号31はインアクティブ(“0”)に
なり、インバータ27の作用によって、アンドゲート2
6が出力するA8反転信号32はアクティブ(“1”)
となる。従って、CPU1の出力するアドレスのうち、
第9ビット目であるCA8だけが反転されてアドレスバ
ス2に出力される。その結果、図3(a)に示したI/
Oマップは、00C0Hから00DFHまでのアドレス
領域100と、01C0Hから01DFHまでのアドレ
ス領域101とが互いに入れ替わり、アプリケーション
ソフトウェアから見た(CPUアドレスバス22上の)
論理I/Oマップは図3(b)のようになる。しかしな
がら、I/Oアドレスバス2上の物理I/Oマップで
は、依然、図3(a)の01C0Hから01DFHまで
のアドレス領域101のままである。このI/Oアドレ
スバス2上のアドレスは、図8に示したターゲットマシ
ン表示制御部5へ導かれる。今、I/Oマップ切替信号
16は“0”なので、I/Oアドレスはそのままデコー
ダ53に入力され、デコーダ53は、この1C0Hから
1DFHまでのI/Oアドレスをデコードして、複数の
デコード出力のいずれかをアクティブにする。
When the target machine mode is selected, the mode signal 10 of the mode register 7 is active ("1"). At this time, when the decode signal 21 becomes active as described above, the address conversion enable signal 24 becomes active ("1"). Further, at this time, if the I / O map switching register 15 is set to select the address area 101 from 01C0H to 01DFH (in this example, the setting value is “0”), the I / O map switching signal 16 becomes inactive ("0"). As a result, the A9 inverted signal 31 output from the AND gate 25 becomes inactive (“0”), and the operation of the inverter 27 causes the AND gate 2
The A8 inversion signal 32 output from 6 is active ("1")
Becomes Therefore, of the addresses output by the CPU 1,
Only the ninth bit CA8 is inverted and output to the address bus 2. As a result, I / O shown in FIG.
In the O map, the address area 100 from 00C0H to 00DFH and the address area 101 from 01C0H to 01DFH are exchanged with each other and viewed from application software (on the CPU address bus 22).
The logical I / O map is as shown in FIG. However, in the physical I / O map on the I / O address bus 2, the address area 101 from 01C0H to 01DFH in FIG. The address on the I / O address bus 2 is led to the target machine display controller 5 shown in FIG. Now, since the I / O map switching signal 16 is "0", the I / O address is directly input to the decoder 53, and the decoder 53 decodes the I / O addresses from 1C0H to 1DFH and outputs a plurality of decoded outputs. Activate one of

【0028】一方、図4に戻り、I/Oマップ切替レジ
スタ15に02C0Hから02DFHまでのアドレス領
域102を選択するよう設定されていたとすると(この
例では設定値が“1”の場合)、I/Oマップ切替信号
16はアクティブとなる。この場合は、前述の動作とは
逆に、アンドゲート25が出力するA9反転信号31は
アクティブに、アンドゲート26が出力するA8反転信
号32はインアクティブとなる。従って、CPU1の出
力するアドレスのうち、CA9だけが反転されてアドレ
スバス2に出力される。その結果、アプリケーションソ
フトウェアから見た論理I/Oマップは図3(c)のよ
うになる。図8のターゲットマシン表示制御部5では、
マップ切替信号16が“1”であるため、I/Oアドレ
スバス2のビットA8,A9が共に反転してデコーダ5
3に入力される。従って、I/Oアドレスバス2上の0
2C0Hから02DFHまでのアドレスが1C0Hから
1DFHまでのI/Oアドレスに変換され、デコーダ5
3は複数のデコード出力のいずれかをアクティブにす
る。
Returning to FIG. 4, if the I / O map switching register 15 is set to select the address area 102 from 02C0H to 02DFH (in this example, when the set value is "1"), The / O map switching signal 16 becomes active. In this case, contrary to the above operation, the A9 inverted signal 31 output from the AND gate 25 becomes active, and the A8 inverted signal 32 output from the AND gate 26 becomes inactive. Therefore, of the addresses output by the CPU 1, only CA9 is inverted and output to the address bus 2. As a result, the logical I / O map viewed from the application software is as shown in FIG. In the target machine display control unit 5 of FIG.
Since the map switching signal 16 is "1", both the bits A8 and A9 of the I / O address bus 2 are inverted and the decoder 5
3 is input. Therefore, 0 on the I / O address bus 2
The addresses from 2C0H to 02DFH are converted to I / O addresses from 1C0H to 1DFH,
3 activates one of the plurality of decode outputs.

【0029】このように、ターゲットマシン表示制御部
5を複数のI/Oアドレス領域に選択的に割り付けてお
き、ベースマシンのI/Oアドレスの空き領域の位置に
応じて、I/Oマップ切替レジスタ16の設定によりそ
のいずれかのI/Oアドレス領域を選択することが可能
となる。同時に、I/O切替レジスタ16の設定によっ
て、CPU1からのアドレスを変換する変換内容が切替
えられ、CPUアドレスが前記選択されたI/Oアドレ
ス領域内のアドレスに変換される。なお、本実施例で
は、ハードウェアによるアドレス変換の例を示したが、
ソフトウェアの例外処理を利用したアドレス変換を行う
こともできる。
As described above, the target machine display control section 5 is selectively allocated to a plurality of I / O address areas, and the I / O map is switched according to the position of the free area of the I / O address of the base machine. By setting the register 16, one of the I / O address areas can be selected. At the same time, according to the setting of the I / O switching register 16, the conversion content for converting the address from the CPU 1 is switched, and the CPU address is converted to an address in the selected I / O address area. In the present embodiment, an example of address translation by hardware has been described.
Address translation using software exception processing can also be performed.

【0030】次に、本発明の他の実施例について説明す
る。図5(a)は、本実施例におけるI/Oマップの例
である。本実施例の特徴は、第1の実施例において01
C0Hから01DFHまでのアドレス領域あるいは02
C0Hから02DFHまでのアドレス領域にマッピング
していたターゲットマシン表示制御部5を、0200H
のインデクスレジスタと0201Hのデータレジスタを
用いてアクセスするようにしたことである。このアクセ
スに用いるインデクス値としては、ここではターゲット
マシン表示制御部の本来のアドレスである00C0Hか
ら00DFHまでのアドレスの下位の8ビット、すなわ
ちC0HからD0Hをそのまま使用する。インデクスマ
ップを図5(b)に示す。使用するインデクス値の決め
方は他の方法でも良いが、本実施例の方法が、ソフトウ
ェアあるいはハードウェアで行なうアドレス変換を容易
にするという点で優れている。
Next, another embodiment of the present invention will be described. FIG. 5A is an example of the I / O map in the present embodiment. The feature of the present embodiment is that in the first embodiment, 01
Address area from C0H to 01DFH or 02
The target machine display control unit 5, which has been mapped to the address area from C0H to 02DFH,
And the data register of 0201H is accessed. Here, as the index value used for this access, the lower 8 bits of the addresses from 00C0H to 00DFH which are the original addresses of the target machine display control unit, that is, C0H to D0H are used as they are. FIG. 5B shows the index map. The index value to be used may be determined by other methods, but the method of the present embodiment is superior in that the address conversion performed by software or hardware is facilitated.

【0031】図6は、図5に示したI/Oマップを実現
するためのアドレス変換器9をハードウェアで構成した
一例である。34、35、36、37はセレクタ、33
はアクセス制御回路、39はCPUのアクセス動作を示
すCPUコマンド信号、40は各I/Oに出力するコマ
ンド信号、41はCPU1にアクセスの完了を知らせる
CPUレディ信号、42は各I/Oのアクセスの完了を
知らせるレディ信号である。また、51はアドレス02
00Hを発生するアドレス発生器、52はアドレス02
01Hを発生するアドレス発生器である。これらのアド
レス発生器51,52は、高レベルおよび低レベルの電
位の固定的なパターンであってもよいが、可変とするた
めには、DIPスイッチまたはレジスタ等の可変設定手
段を用いるこができる。
FIG. 6 is an example in which the address converter 9 for realizing the I / O map shown in FIG. 5 is constituted by hardware. 34, 35, 36 and 37 are selectors, 33
Is an access control circuit, 39 is a CPU command signal indicating an access operation of the CPU, 40 is a command signal output to each I / O, 41 is a CPU ready signal for notifying the CPU 1 of completion of access, and 42 is an access of each I / O. Ready signal for notifying the completion of. 51 is an address 02
00H, an address generator 52 for generating an address 02
An address generator for generating 01H. These address generators 51 and 52 may be a fixed pattern of high and low level potential, but to a variable, the variable setting means such as a DIP switch or a register and a Mochiiruko it can.

【0032】図9に、図6のアドレス変換器9に適した
ターゲットマシン表示制御部5の関連部分の構成を示
す。図中、90はI/Oレジスタ書込み制御回路、9
1,92は、それぞれアドレス200Hおよび201H
をデコードするデコーダ、93はインデクスレジスタ、
94はデコーダ、95〜97はアドレス201Hが割当
てられた前記データレジスタに相当する表示制御レジス
タ群である。
FIG. 9 shows a configuration of a relevant portion of the target machine display control unit 5 suitable for the address converter 9 of FIG. In the figure, 90 is an I / O register write control circuit, 9
1, 92 are addresses 200H and 201H, respectively.
Decoder, 93 is an index register,
Reference numeral 94 denotes a decoder, and reference numerals 95 to 97 denote display control register groups corresponding to the data registers to which the address 201H is assigned.

【0033】図6において、CPU1が00C0Hから
00DFHまでのいずれかのアドレスをアクセスする
と、アドレスデコーダ20がそのアドレスをデコード
し、デコード信号21をアクティブにする。もし、仮想
計算機モニタ13の動作モードがターゲットマシンモー
ドであれば、モード信号10がアクティブとなっている
ので、アドレス変換イネーブル信号24もアクティブと
なる。このとき、セレクタ36およびセレクタ37は、
それぞれセレクタ34およびセレクタ35の出力を選択
する。アクセス制御回路33はアドレス変換イネーブル
信号24がアクティブのとき、図7のタイムチャートに
示すような動作を行なう。ここでは、CPU1が00C
0Hのアドレスに55Hのデータを書き込むアクセスを
行った場合を示す。第2サイクル信号38の初期状態は
インアクティブであり、セレクタ34はCPUアドレス
バス22の下位8ビットすなわちC0Hを選択し、セレ
クタ35はインデクスレジスタ93に割当てられたI/
Oアドレスすなわち0200Hを選択している。先に述
べた、セレクタ36、セレクタ37の状態によって、C
0Hがデータバス3上に、0200Hがアドレスバス2
にそれぞれ出力される。CPUコマンド信号39がアク
ティブになると、アクセス制御回路33は、コマンド4
0をアクティブとしターゲットマシン表示制御部5から
のレディ信号42がアクティブになるのを待つ。ターゲ
ットマシン表示制御部5は、デコーダ91のデコード出
力に応答して、データバス3上のデータC0Hをインデ
クスレジスタ93に書き込む。そこで、I/Oレジスタ
書込み制御回路90が出力するレディ信号42をアクテ
ィブにすると、アクセス制御回路33は第2サイクル信
号38をアクティブとする。これに応じて、セレクタ3
4はCPUデータバス23の値すなわち55Hを選択
し、セレクタ35はデータレジスタに割当てられたI/
Oアドレスすなわち0201Hを選択するように動作す
る。この状態でコマンド40を再びアクティブとし、タ
ーゲットマシン表示制御部5からのレディ信号42がア
クティブになるのを待つ。ターゲットマシン表示制御部
5では、0201Hを受けたデコーダ92のデコード出
力がアクティブになり、デコーダ94をイネーブルし
て、インデクスレジスタ93の内容をデコードする。こ
のデコード出力は、I/Oレジスタ書込み制御回路90
から出力される書込みクロックと論理積を取られ、各表
示制御レジスタ95〜97に与えられる。この例では、
インデクスレジスタ93の内容であるC0Hに対応する
表示制御レジスタにデータ55Hが書き込まれる。続い
て、ターゲットマシン表示制御部5がレディ信号42を
アクティブにすると、アクセス制御回路33は第2サイ
クル信号38をインアクティブとするとともに、CPU
レディ信号41をアクティブとし、アクセスを完了す
る。
In FIG. 6, when the CPU 1 accesses any address from 00C0H to 00DFH, the address decoder 20 decodes the address and activates the decode signal 21. If the operation mode of the virtual machine monitor 13 is the target machine mode, since the mode signal 10 is active, the address translation enable signal 24 is also active. At this time, the selector 36 and the selector 37
The outputs of the selector 34 and the selector 35 are selected, respectively. When the address conversion enable signal 24 is active, the access control circuit 33 performs an operation as shown in the time chart of FIG. Here, CPU1 is 00C
This shows a case where an access for writing 55H data to an address of 0H is made. The initial state of the second cycle signal 38 is inactive, the selector 34 selects the lower 8 bits of the CPU address bus 22, that is, C0H, and the selector 35 selects the I / O assigned to the index register 93.
O address, that is, 0200H is selected. Depending on the states of the selector 36 and the selector 37 described above, C
0H is on data bus 3 and 0200H is on address bus 2
Respectively. When the CPU command signal 39 becomes active, the access control circuit 33 issues a command 4
0 is set to active, and waits until the ready signal 42 from the target machine display control unit 5 becomes active. The target machine display control unit 5 writes the data C0H on the data bus 3 into the index register 93 in response to the decode output of the decoder 91. Therefore, when the ready signal 42 output from the I / O register write control circuit 90 is activated, the access control circuit 33 activates the second cycle signal 38. In response, selector 3
4 selects the value of the CPU data bus 23, that is, 55H, and the selector 35 selects I / O assigned to the data register.
It operates to select the O address, that is, 0201H. In this state, the command 40 is made active again, and waits until the ready signal 42 from the target machine display control unit 5 becomes active. In the target machine display control unit 5, the decode output of the decoder 92 receiving 0201H becomes active, the decoder 94 is enabled, and the contents of the index register 93 are decoded. This decoded output is supplied to the I / O register write control circuit 90.
And a logical product of the write clock output from the display control registers 95-97. In this example,
Data 55H is written to the display control register corresponding to C0H which is the content of the index register 93. Subsequently, when the target machine display control unit 5 activates the ready signal 42, the access control circuit 33 deactivates the second cycle signal 38 and
The ready signal 41 is activated to complete the access.

【0034】以上述べた動作によって、ターゲットマシ
ンにおける本来のI/Oアドレスとは違うアドレスの、
しかもインデクス形式のマップ上に置かれたI/Oを、
ソフトウェアからは本来のI/Oアドレスと同じアドレ
スを用いてアクセスすることができる。しかも、ベース
マシン上では、わずか2つのアドレスを占有するだけで
済む。図9のターゲットマシン表示制御部5に割当てる
アドレスとしてのデコーダ91,92のデコード内容を
切替られるようにしておくとともに、これに対応して図
6のアドレス変換器内のアドレス発生器51,52の設
定アドレスを可変設定することもできる。この構成によ
り、ベースマシンのI/Oアドレスの占有を最小限に抑
えることができると共に、そのI/Oアドレスをも移動
させることが可能になる。本実施例では、インデクスレ
ジスタとデータレジスタを異なるアドレスに割り付けた
が、同じアドレスとし、アクセスする毎にトグルするよ
うにしても良い。また、ベースマシンの他のI/Oにイ
ンデクス形式のI/Oがある場合、その空きインデクス
領域を利用しても良い。
By the operation described above, an address different from the original I / O address in the target machine is
Moreover, I / O placed on the index format map is
Software can access using the same address as the original I / O address. Moreover, only two addresses are occupied on the base machine. The decoding contents of the decoders 91 and 92 as addresses to be assigned to the target machine display control unit 5 in FIG. 9 can be switched, and the address generators 51 and 52 in the address converter in FIG. The setting address can be variably set. With this configuration, the occupation of the I / O address of the base machine can be minimized, and the I / O address can be moved. In the present embodiment, the index register and the data register are assigned to different addresses. However, the index register and the data register may be set to the same address and toggle each time the access is made. If another I / O of the base machine has an I / O in the index format, the empty index area may be used.

【0035】また、第2の実施例によるアドレス変換と
第1の実施例のアドレス変換と組み合わせて使用するこ
ともできる。その場合には、いずれか一方のアドレス変
換を禁止する手段を設ける。アドレス変換の禁止はデコ
ーダをディスエーブルすることにより行なえる。
The address conversion according to the second embodiment and the address conversion according to the first embodiment can be used in combination. In that case, a means for inhibiting any one of the address conversions is provided. Prohibition of address translation can be performed by disabling the decoder.

【0036】以上述べた実施例では、表示部のI/Oに
ついて示したが、表示制御部と同様に、仮想計算機にお
いてその実行速度が重要である通信I/Oに本発明を適
用することもできる。もちろんI/Oアドレスの数値な
どは、上記以外の値でもよい。
In the above-described embodiment, the I / O of the display unit has been described. However, similarly to the display control unit, the present invention can be applied to the communication I / O whose execution speed is important in the virtual machine. it can. Of course, the numerical value of the I / O address may be a value other than the above.

【0037】[0037]

【発明の効果】本発明においては、ベースマシンの空き
アドレスに応じて、変換アドレスを替えることができる
ので、オプションI/Oアダプタ等の使用によって空き
アドレスが変化した場合でもターゲットマシンのI/O
を使用することができる。
According to the present invention, since the translation address can be changed according to the free address of the base machine, the I / O of the target machine can be changed even when the free address changes due to the use of an optional I / O adapter or the like.
Can be used.

【0038】また、本発明においては、ターゲットマシ
ンの複数のI/Oを、物理マップ上はインデクス形式の
I/Oとして同じインデクスレジスタおよびデータレジ
スタからアクセスできるので、ターゲットマシンの複数
のI/Oによって占有されるI/Oアドレス領域を大幅
に削減することができる。
Further, in the present invention, a plurality of I / Os of the target machine can be accessed from the same index register and data register as I / Os in the form of an index on the physical map. The I / O address area occupied by this can be greatly reduced.

【0039】また、本発明のアドレス変換方式において
は、前記I/Oアドレス領域の削減をハードウェアによ
って実現することができるので、性能低下が全くないと
いう効果がある。
Further, in the address conversion method according to the present invention, since the reduction of the I / O address area can be realized by hardware, there is an effect that the performance is not reduced at all.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施例を示す構成図である。FIG. 1 is a configuration diagram showing a first embodiment of the present invention.

【図2】従来の仮想計算機におけるI/Oマップの例を
示す図である。
FIG. 2 is a diagram illustrating an example of an I / O map in a conventional virtual machine.

【図3】本発明の第1の実施例におけるI/Oマップの
例を示す図である。
FIG. 3 is a diagram illustrating an example of an I / O map according to the first embodiment of the present invention.

【図4】本発明の第1の実施例におけるアドレス変換器
を示す図である。
FIG. 4 is a diagram showing an address converter according to the first embodiment of the present invention.

【図5】本発明の第2の実施例におけるI/Oマップの
例を示す図である。
FIG. 5 is a diagram illustrating an example of an I / O map according to a second embodiment of the present invention.

【図6】本発明の第2の実施例におけるアドレス変換器
の例を示す図である。
FIG. 6 is a diagram illustrating an example of an address converter according to a second embodiment of the present invention.

【図7】本発明の第2の実施例におけるアドレス変換器
の動作を示すタイムチャートである。
FIG. 7 is a time chart illustrating an operation of the address converter according to the second embodiment of the present invention.

【図8】本発明の第1の実施例におけるターゲットマシ
ン表示制御部の例を示す図である。
FIG. 8 is a diagram illustrating an example of a target machine display control unit according to the first embodiment of the present invention.

【図9】本発明の第2の実施例におけるターゲットマシ
ン表示制御部の例を示す図である。
FIG. 9 is a diagram illustrating an example of a target machine display control unit according to a second embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1…CPU、2…アドレスバス、3…データバス、4…
ベースマシン表示制御部、5…ターゲットマシン表示制
御部、6…セレクタ、7…モードレジスタ、9…アドレ
ス変換器、10…モード信号、11…DMAコントロー
ラ、12…メモリ、13…仮想計算機モニタ、14…ア
プリケーションソフトウェア、15…I/Oマップ切替
レジスタ、16…I/Oマップ切替信号、17…I/O
アダプタ、19…ANDゲート、20…アドレスデコー
ダ、21…デコード信号、22…CPUアドレスバス、
23…CPUデータバス、24…アドレス変換イネーブ
ル信号、25…アンドゲート、26…アンドゲート、2
7…インバータ、28…EORゲート、29…EORゲ
ート、30…I/Oマップ切替信号、31…A9反転信
号、32…A8反転信号、33…アクセス制御回路、3
4…セレクタ、35…セレクタ、36…セレクタ、37
…セレクタ、38…第2サイクル信号、39…CPUコ
マンド信号、40…コマンド信号、41…CPUレディ
信号、42…レディ信号、90…インデクスレジスタ書
込み制御回路、93…インデクスレジスタ。
1 CPU, 2 address bus, 3 data bus, 4
Base machine display controller, 5 target machine display controller, 6 selector, 7 mode register, 9 address converter, 10 mode signal, 11 DMA controller, 12 memory, 13 virtual machine monitor, 14 ... Application software, 15 ... I / O map switching register, 16 ... I / O map switching signal, 17 ... I / O
Adapter, 19: AND gate, 20: address decoder, 21: decode signal, 22: CPU address bus,
23: CPU data bus, 24: Address conversion enable signal, 25: AND gate, 26: AND gate, 2
7 inverter, 28 EOR gate, 29 EOR gate, 30 I / O map switching signal, 31 A9 inverted signal, 32 A8 inverted signal, 33 access control circuit, 3
4 selector, 35 selector, 36 selector, 37
... selector, 38 ... second cycle signal, 39 ... CPU command signal, 40 ... command signal, 41 ... CPU ready signal, 42 ... ready signal, 90 ... index register write control circuit, 93 ... index register.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 関 行宏 神奈川県横浜市戸塚区吉田町292番地 株式会社 日立製作所 マイクロエレク トロニクス機器開発研究所内 (72)発明者 林 良裕 千葉県習志野市東習志野七丁目1番1号 株式会社 日立製作所 習志野工場内 (72)発明者 山岸 正巳 神奈川県横浜市戸塚区吉田町292番地 株式会社 日立製作所 マイクロエレク トロニクス機器開発研究所内 (72)発明者 田中 利男 神奈川県横浜市戸塚区吉田町292番地 株式会社 日立製作所 マイクロエレク トロニクス機器開発研究所内 (72)発明者 永岡 雅幸 神奈川県横浜市戸塚区吉田町292番地 株式会社 日立製作所 マイクロエレク トロニクス機器開発研究所内 (72)発明者 小野寺 進 神奈川県横浜市戸塚区吉田町292番地 株式会社日立画像情報システム内 (72)発明者 石本 重信 神奈川県横浜市戸塚区吉田町292番地 株式会社日立画像情報システム内 (56)参考文献 特開 平3−33937(JP,A) 特開 平2−195462(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/10 - 13/14 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Yukihiro Seki 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Within Hitachi, Ltd. Microelectronics Equipment Development Laboratory (72) Inventor Yoshihiro Hayashi 7-1-1 Higashi Narashino, Narashino City, Chiba Prefecture No. 1 Inside the Narashino Plant, Hitachi, Ltd. (72) Inventor Masami Yamagishi 292, Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Inside the Micro-Electronics Equipment Development Laboratory, Hitachi, Ltd. (72) Toshio Tanaka, Totsuka, Yokohama-shi, Kanagawa Prefecture 292 Yoshida-cho, Ward Hitachi, Ltd. Microelectronics Device Development Laboratory (72) Inventor Masayuki Nagaoka 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Hitachi, Ltd. Microelectronics Device Development Laboratory (72) Invention Susumu Onodera 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Inside Hitachi Image Information System Co., Ltd. JP-A-3-33937 (JP, A) JP-A-2-195462 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 13/10-13/14

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】ベースマシン上でターゲットマシン用のア
プリケーションプログラムを動作させる仮想計算機にお
いて、 ベースマシンの表示制御部である第1の表示制御ハード
ウェアと、 仮想計算機モニタプログラムによってエミュレートする
ターゲットマシンの表示制御部である第2の表示制御ハ
ードウェアとを設け、 前記第2の表示制御ハードウエアをベースマシンの複数
のI/Oアドレス領域のいずれかに選択的に割り付ける
とともに、前記ターゲットマシン用のアプリケーション
プログラムからみたターゲットマシンの表示制御部のI
/Oアドレスを前記割り付けられた空きアドレス領域内
のI/Oアドレスに変換するようにし、 前記ターゲットマシン用のアプリケーションプログラム
からみたターゲットマシンの表示制御部のI/Oアドレ
スを前記割り付けられた空きアドレス領域内のI/Oア
ドレスへ変換するアドレス変換方式として、前記表示制
御部のI/Oアドレスに一定値を加減算または乗除算す
ることによりI/Oアドレスを求める第1のアドレス変
換方式、および、予め定めたI/Oアドレスに割り付け
たインデクスレジスタに書き込んだデータをI/Oアド
レスとして用いる第2のアドレス変換方式の双方を採用
し、少なくとも一方のアドレス変換を禁止する手段を設
けたことを特徴とする仮想計算機のI/Oアドレス変換
方式。
1. A virtual machine operating an application program for a target machine on a base machine, comprising: first display control hardware as a display control unit of the base machine; and a target machine emulated by a virtual machine monitor program. Second display control hardware, which is a display control unit, wherein the second display control hardware is selectively allocated to any one of a plurality of I / O address areas of the base machine, and I of the display control unit of the target machine viewed from the application program
The I / O address is converted into an I / O address in the allocated free address area, and the I / O address of the display control unit of the target machine viewed from the application program for the target machine is assigned to the allocated free address. A first address conversion method for obtaining an I / O address by adding / subtracting or multiplying / dividing a constant value to / from the I / O address of the display control unit as an address conversion method for converting to an I / O address in an area; The present invention is characterized by adopting both of the second address conversion systems in which data written in an index register allocated to a predetermined I / O address is used as an I / O address, and providing means for inhibiting at least one address conversion. I / O address conversion method of a virtual machine.
JP08644391A 1991-04-18 1991-04-18 I / O address conversion method for virtual machines Expired - Fee Related JP3203007B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08644391A JP3203007B2 (en) 1991-04-18 1991-04-18 I / O address conversion method for virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08644391A JP3203007B2 (en) 1991-04-18 1991-04-18 I / O address conversion method for virtual machines

Publications (2)

Publication Number Publication Date
JPH04318648A JPH04318648A (en) 1992-11-10
JP3203007B2 true JP3203007B2 (en) 2001-08-27

Family

ID=13887065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08644391A Expired - Fee Related JP3203007B2 (en) 1991-04-18 1991-04-18 I / O address conversion method for virtual machines

Country Status (1)

Country Link
JP (1) JP3203007B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4928884B2 (en) * 2006-09-21 2012-05-09 株式会社ソニー・コンピュータエンタテインメント Emulation device

Also Published As

Publication number Publication date
JPH04318648A (en) 1992-11-10

Similar Documents

Publication Publication Date Title
US5237669A (en) Memory management method
US4285040A (en) Dual mode virtual-to-real address translation mechanism
US5577230A (en) Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch
JPH0326414B2 (en)
JPH01502221A (en) Computer system with computer address translation device
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
JP2878499B2 (en) Multi-window display method and window system
JP2001043180A (en) Microprocessor and storage device therefor
JPH0916462A (en) Apparatus and method for data processing
JPH05210570A (en) Method and means extending address
US5127096A (en) Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes
JP3203007B2 (en) I / O address conversion method for virtual machines
JP2618223B2 (en) Single chip microcomputer
JPH0628243A (en) Semiconductor integrated circuit
JP2782987B2 (en) Computer equipment
JP2860655B2 (en) Parallel instruction execution type processor
JPH0462648A (en) Storage device
JPH0969072A (en) Memory mapped i/o control circuit
JP3006487B2 (en) Emulation device
JPS6113628B2 (en)
JPH02272654A (en) Cache memory device
JPH05216748A (en) Control means for storage means
JPS6265149A (en) Rewriting system for memory control unit
JPS62145431A (en) Processor control system
JPH1115730A (en) Memory bank switching device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080622

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees