JP2782987B2 - 計算機装置 - Google Patents

計算機装置

Info

Publication number
JP2782987B2
JP2782987B2 JP16669891A JP16669891A JP2782987B2 JP 2782987 B2 JP2782987 B2 JP 2782987B2 JP 16669891 A JP16669891 A JP 16669891A JP 16669891 A JP16669891 A JP 16669891A JP 2782987 B2 JP2782987 B2 JP 2782987B2
Authority
JP
Japan
Prior art keywords
address
bus
processor
output
input
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
JP16669891A
Other languages
English (en)
Other versions
JPH0512188A (ja
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 JP16669891A priority Critical patent/JP2782987B2/ja
Publication of JPH0512188A publication Critical patent/JPH0512188A/ja
Application granted granted Critical
Publication of JP2782987B2 publication Critical patent/JP2782987B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、パーソナルコンピュー
タやワークステーションなどの計算機装置において、ア
ーキテクチャ、特に、基本入出力装置の構成や入出力ア
ドレスの割り当てが異なる異機種計算機装置において利
用可能なソフトウェアを異機種計算機装置のエミュレー
ションを行うことによって利用できるようにし、その応
用範囲を広げることを可能にする計算機装置のハードウ
ェアに関する。
【0002】
【従来の技術】パーソナルコンピュータなどの計算機装
置では、多くのメーカがそれぞれに独自のアーキテクチ
ャに基づいて開発競争を行った結果、相互に互換性のな
いアーキテクチャが多数存在している。これらのパーソ
ナルコンピュータではハードウェアやソフトウェアの構
成が機種間で異なるため、それぞれの機種用に開発され
たアプリケーションソフトや拡張機能を付加するための
ハードウェアにも互換性はない。特にアプリケーション
ソフトの互換性の欠如のために、使用者が他の機種で動
作しているアプリケーションソフトを利用したいと望ん
でも、既に所有している装置の上では必ずしも実行でき
ず、新たにその装置を購入したり、あるいはアプリケー
ションソフトの改造、移植を待たなければならないなど
の不利益を被ることもあった。
【0003】このような問題に対し、ある特定の機種
(以下、ベースマシンと呼ぶ)上で、異なるアーキテク
チャを持つ他の機種(以下、ターゲットマシンと呼ぶ)
との互換性を実現する試みは、いわゆる仮想計算機とし
て古くから大型コンピュータで行なわれてきた。パーソ
ナルコンピュータの場合は、LSI技術の進歩等によっ
て異なるアーキテクチャを持つ装置を同一の基板上に集
積することも不可能ではなくなってきている。前者の方
法は主としてソフトウェアにより異機種向けのアプリケ
ーションを利用できるようにするものであり、後者は主
としてハードウェアにより異機種向けのアプリケーショ
ンを利用できるようにするものである。パーソナルコン
ピュータの場合、主として、その処理速度の制限のため
に複数アーキテクチャの互換性を実現するにはある程度
のハードウェアを付加する必要があり、ソフトウェアに
より他のパーソナルコンピュータの動作をシミュレート
する方法では必要な性能が得られない場合が多いのが現
状である。
【0004】とりわけパーソナルコンピュータでは、画
面の表示情報の書き換えが頻繁であり、これを高速に行
なうために表示制御部をアプリケーションソフトが直接
アクセスして画面の書き換えを行うことも少なくない。
このことは表示制御部に関しては、アプリケーションソ
フトがターゲットマシンのハードウェアと等価な操作を
行えるものではなければならないことを意味すると同時
に、その処理に必要な処理時間も十分に短い、高い性能
を持つものでなければならないことを意味している。
【0005】I/Oをソフトウェアによってシミュレー
トする方法は、特開昭62−279431号公報に開示されてい
る。また、ソフトウェアとハードウェアを併用し、ベー
スマシンの表示制御部を用いてターゲットマシンの表示
制御部をエミュレートする方法は、例えば、日経BP社
発行の日経バイト誌1987年10月号第140頁から
第150頁に論じられている。
【0006】
【発明が解決しようとする課題】ベースマシンの基本入
出力デバイスだけを用いてターゲットマシンの基本入出
力機能をエミュレートする方法では、実現できる機能は
ベースマシンの入出力機能によって制限されることにな
り、必ずしもターゲットマシンのすべての機能を実現で
きるとは限らない。また、入出力命令を実行する都度、
その命令によってターゲットマシンでなされるべき動作
をソフトウェアでシミュレートするので、入出力命令の
シミュレーションプログラムの実行に伴うオーバヘッド
による性能低下を伴う。即ち、ターゲットマシンのエミ
ュレーションを行っている間に実行される入出力命令は
ターゲットマシンにおける入出力アドレスに対するもの
であるので、入出力命令の実行はすべて、一旦、トラッ
プによって横取りし、ベースマシンにおいて実行可能な
入出力操作に置き換えたり、あるいは入出力装置そのも
のをシミュレートすることが必要になるからである。こ
のため、実行処理が一定時間内に終了しなければならな
い場合、例えば、通信制御などや、実時間性を要求する
機能、例えば、表示処理などをパーソナルコンピュータ
でエミュレートするには無理がある。一方、ベースマシ
ンの基本入出力デバイスに加え、ターゲットマシンの基
本入出力デバイスのすべてを同一の装置に組み込むこと
は経済性を損なうばかりでなく、装置の小型・軽量化に
も不向きであるという問題があった。
【0007】本発明の目的はターゲットマシンのエミュ
レーションのための専用ハードウェアを付加し、さら
に、エミュレーションを行うときに特に高速性・実時間
性を要求される処理に対して、入出力アドレスの置き換
えをハードウェアで行うことによって経済性を損なうこ
と無く必要な処理速度を得ることが出来るターゲットマ
シンのエミュレーション機能を備えた計算機装置、特に
パーソナルコンピュータを提供することにある。
【0008】
【課題を解決するための手段】上記目的は、ターゲット
マシンのエミュレーションのための専用ハードウェアを
付加し、さらにエミュレーションを行うときに特に高速
性・実時間性を要求される処理に対して、入出力アドレ
スの置き換えをハードウェアで行い、部分的にではある
がエミュレーションプログラムを介在させること無しに
アプリケーションプログラムを実行可能とすることによ
り達成される。同様にベースマシンとターゲットマシン
に共通するがアドレスの割当が異なるために入出力命令
のトラップが必要な場合、入出力アドレスの置き換えを
ハードウェアで行ってトラップを不要にし、また、エミ
ュレーション専用ハードウェアなどが占めるアドレスと
競合するベースマシンの基本入出力装置のアドレス割当
を他のアドレスに置き換えることにより、ターゲットマ
シンのエミュレーション中にもベースマシンの持つ入出
力機能を利用することが可能である。入出力アドレスの
置き換えはベースマシンの通常動作中とエミュレーショ
ン中とで異なるアドレスのデコードによって適当なアド
レスビットを強制的に1、または0としてバスに接続す
る入出力装置に与えることで実現される。
【0009】
【作用】ベースマシンの基本バス構成は高速プロセッサ
に対応して高速にアクセス可能な主記憶メモリなどを接
続するプロセッサバスと、プロセッサバスの動作速度か
ら比べれば低速であるが、各種の入出力装置を接続する
ことが出来る入出力バスとに分け、入出力バスとプロセ
ッサバスの間のインタフェースはバス変換回路を介す
る。(このようなバス構成はプロセッサの動作速度の向
上に伴って一般的なものとなっており、プロセッサの動
作速度によって入出力バスの動作速度に影響を与えるこ
とがない。)バス変換回路とプロセッサバスとの間に設
けたアドレス変換回路はプロセッサが入出力バス上のデ
バイスをアクセスする時にはアドレス信号が示すアドレ
ス値を別のアドレス値に変換してバス変換回路に与え、
入出力バス上に接続する外部プロセッサデバイスがプロ
セッサからバスのアクセス権を奪ってプロセッサバスに
接続されているメモリデバイスをアクセスする時には外
部プロセッサデバイスが入出力バス上に出力したアドレ
スをバス変換回路を介してプロセッサバスに接続する。
この結果、入出力バスに接続するデバイスに対するプロ
セッサから見たアドレスの割り当てを切り換えることが
でき、ベースマシンとターゲットマシンのアドレス割当
の相違をソフトウェア処理を介することなく解消するこ
とが出来る。このとき、プロセッサとプロセッサバスに
直接接続するデバイスの間にはアドレス変換回路による
信号伝達の遅れはないので、メモリアクセスに必要なア
クセス時間にはオーバヘッドが無く、従ってプロセッサ
の処理速度の低下を引き起こすこともない。外部プロセ
ッサデバイスがプロセッサからバスのアクセス権を奪っ
てプロセッサバスに接続されているメモリデバイスをア
クセスする時には外部プロセッサデバイスが出力したア
ドレスがプロセッサバスを通じてメモリに与えられるの
で、アドレス変換回路の動作状態によって実際にアクセ
スされるメモリのアドレスが変化することはなく、外部
プロセッサデバイスのプロセッサバスメモリデバイスの
アクセスに対してコヒーレンシを保証することが出来
る。
【0010】
【実施例】以下、本発明の一実施例を図1ないし図3を
参照しつつ説明する。
【0011】図1は本発明の一実施例の全体構成を示す
ブロック図である。図1において、10はアドレス変換
回路、11,12はアドレス変換によりアドレス信号を
強制的に1または0とするアドレスを検出するデコー
ダ、13はアンドゲート、14はオアゲート、15,1
6はバッファ、20はプロセッサ、30はプロセッサバ
スに直接接続してプロセッサの動作速度に追随して動作
できる高速なメモリコントローラ、40はメモリコント
ローラ30により制御されるメモリ、50はプロセッサ
バスと入出力バスの間のタイミングやインタフェース信
号の整合をとるためのバス変換回路、60はプロセッサ
バス、70は入出力バス、80,81,82は入出力装
置、90はプロセッサ20がバスの使用を停止して他の
プロセッサまたはDMACなどにバスを譲ることを示す
ホールドアクノリッヂ信号HOLDAである。
【0012】図1に示すバス構成はプロセッサ20の動
作速度に対応して高速にアクセス可能なプロセッサバス
60と、プロセッサバス60の動作速度から比べれば低
速であるが、各種の入出力装置を接続することが出来る
入出力バス70とを分離した一般的なバス構成を持つ装
置にI/Oアドレス変換回路10を付加したものと見る
ことが出来る。
【0013】アドレス変換回路10はプロセッサ20が
入出力バス70上のデバイスをアクセスする時にプロセ
ッサ20が出力するアドレスを別のアドレスに変換して
バス変換回路50に与える。アドレスの変換はプロセッ
サバス60に出力されたアドレスをデコーダ11、12
がデコードし、所定のアドレスがアクセスされることを
検出するとアンドゲート13またはオアゲート14によ
ってプロセッサバス60のアドレスに含まれる適当なアド
レスビットを0または1としてバス変換回路50に与える
ことでなされる。プロセッサ20のバスサイクルではH
OLDA90はネゲートされているのでバッファ15は
変換後のアドレス信号を伝達するがバッファ16は高抵
抗状態となって信号を伝達しない。バス変換回路50は
アドレス変換回路10からバッファ15を通じて与えら
れる変換後のアドレスに基づいて入出力バス70上のデ
バイスをアクセスする。
【0014】入出力バス70上に接続する外部プロセッ
サデバイス(図示せず)がプロセッサ20からバスのア
クセス権を奪ってプロセッサバスのメモリ40をアクセ
スする時には、HOLDA90はアサートされているの
でバッファ16はアドレス信号を伝達するがバッファ1
5は高抵抗状態となって信号を伝達しない。外部プロセ
ッサデバイスが入出力バス70上に出力したアドレスは
バス変換回路50でインタフェースの変換を受けた後、
バッファ16を介してプロセッサバス60に接続され
る。この結果、入出力バス70に接続する入出力装置8
0−82などに対するプロセッサ20から見たアドレス
の割り当てを切り換えることができ、ベースマシンとタ
ーゲットマシンのアドレス割当の相違をソフトウェア処
理を介することなく解消することが出来る。このとき、
プロセッサ20とプロセッサバスに直接接続するメモリ
コントローラ30のようなデバイスとの間にはアドレス
変換回路10による信号伝達の遅れはないので、メモリ
40のアクセスに必要な時間にはオーバヘッドは加わら
ない。従って、プロセッサ20の処理速度の低下を引き
起こすこともない。外部プロセッサデバイスがプロセッ
サ20からバスのアクセス権を奪ってプロセッサバス6
0に接続されているメモリ40などをアクセスする時に
は外部プロセッサデバイスが出力したアドレスがプロセ
ッサバスを通じてメモリコントローラ30に与えられる
ので、アドレス変換回路10によって実際にアクセスさ
れるメモリのアドレスが変化することはなく、外部プロ
セッサデバイスのメモリアクセスに対してコヒーレンシ
を保証することが出来る。
【0015】図2は図1の実施例におけるアドレス変換
による論理I/Oアドレスと物理I/Oアドレスの対応
の一例を示すI/Oマップである。図2では物理I/O
アドレス0000Hから00FFHまでにベースマシン
の基本I/Oを第一のI/O系統として配置し、物理I
/Oアドレス0C00Hから0CFFHにターゲットマ
シンのI/Oをエミュレートするための拡張I/Oを第
二のI/O系統として配置した例を示す。この場合、二
つのI/O系統を切り換えるためにはアドレス信号の1
0ビットと11ビット(ここではA10、A11とす
る)を同時に0、または1とすればいずれかのI/O系
統を選択してアクセスすることができる。例えば、論理
I/Oアドレス0000Hから00FFHを図1の実施
例におけるデコーダ12で検出したときにオアゲート1
4によってアドレスA10・A11を強制的に1にする
ことができ、この結果論理I/Oアドレス0000Hか
ら00FFHをアクセスしたときに物理I/Oアドレス
として0C00Hから0CFFHが出力され、第二I/
O系統に属するI/O装置がアクセスされる。また、論
理I/Oアドレス0C00Hから0CFFHを図1の実
施例におけるデコーダ11で検出したときにオアゲート
13によってアドレスA10・A11を強制的に0にす
ることができ、この結果、論理I/Oアドレス0C00
Hから0CFFHをアクセスしたときに物理I/Oアド
レスとして0000Hから00FFHが出力され、第一
I/O系統に属するI/O装置がアクセスされる。
【0016】図3は図2のI/Oマップに示す論理I/
Oアドレスと物理I/Oアドレスの対応により実現可能
な論理I/Oアドレスマップである。図3(a)はアド
レスの変換を行わない場合を示し、ベースマシンの基本
I/Oとなる第一I/O系統とターゲットマシンのI/
Oエミュレーションのための第二I/O系統のすべてを
アクセスすることができる。図3(b)は論理I/Oア
ドレス0C00Hから0CFFHに対してアドレスビッ
トA10・A11を強制的に0として物理I/Oとして
第一I/O系統をアクセスするようにした場合を示し、
この状態がベースマシンの基本的動作状態となる。この
状態ではベースマシンには本来備わっていない第二I/
O系統が不当にアクセスされることがないので、第二I
/O系統に装置の動作の根幹に関わるものが含まれてい
ても、不当なアクセスによって障害を引き起こす怖れを
回避することができる。また、通常パーソナルコンピュ
ータでは必ずしもアドレスをフルデコードしてはいない
ために、各種のI/Oレジスタに対してイメージアドレ
スなどと呼ばれる領域が発生している。イメージアドレ
スが存在するとI/Oレジスタを本来定義したアドレス
とは異なるアドレスからもアクセスできてしまうように
なるが、ベースマシン本来のアーキテクチャでイメージ
アドレスが存在するのであれば、図3(b)に示される
ようにしてアドレス変換回路によってイメージアドレス
を作り出すことも容易である。イメージアドレスは、本
来は計算機装置のハードウェアの設計を簡略にしたため
に発生する、いわば代償のようなものであるが、事実上
の標準として業界に定着しているパーソナルコンピュー
タのアーキテクチャにもイメージアドレスが含まれてお
り、望ましいことではないがイメージアドレスの存在を
前提に作成されているアプリケーションプログラムも存
在しており、アーキテクチャの互換のためにイメージア
ドレスを故意に発生させることも必要になっている。本
発明はこのような場合にも適合することは明らかであ
る。図3(c)は論理I/Oアドレス0000Hから0
0FFHに対してアドレスビットA10・A11を強制
的に1として物理I/Oとして第二I/O系統をアクセ
スするようにした場合を示し、この状態がターゲットマ
シンの基本的動作状態となる。この状態ではターゲット
マシンのI/O機能をエミュレートするのに必要な第二
I/O系統を(ほとんどのパーソナルコンピュータのア
ーキテクチャにおいて基本I/O系が配置される)論理
I/Oアドレス0000Hから00FFHに配置するこ
とができる。このことはターゲットマシンのエミュレー
ションに必要となるI/Oデバイスを任意のアドレスに
配置することが可能であることを意味し、エミュレーシ
ョンを行うに当たってI/Oアドレスをソフトウェアに
よってI/O命令をトラップして置き換えるような操作
を不要にすることができる。従って、I/O機能のエミ
ュレーションに当たって必要になるエミュレーションソ
フトウェアの負荷を軽減することができ、エミュレーシ
ョン中の処理性能の向上に役立つ。また、ターゲットマ
シンは本来備わっていない第一I/O系統が不当にアク
セスされることもない。ターゲットマシン本来のアーキ
テクチャでイメージアドレスが存在するのであれば、図
3(c)に示されるようにしてアドレス変換回路によっ
てイメージアドレスを作り出すことができるのは図3
(b)と同様である。図3(d)は論理I/Oアドレス
0000Hから00FFHに対してアドレスビットA1
0・A11を強制的に1として物理I/Oとして第二I
/O系統をアクセスし、論理I/Oアドレス0C00H
から0CFFHに対してアドレスビットA10・A11
を強制的に0として物理I/Oとして第1I/O系統を
アクセスするようにした場合を示している。この状態は
ターゲットマシンのエミュレーションI/Oハードウェ
アだけではパーソナルコンピュータとして備えるすべて
の機能を利用できない場合にベースマシンの持つI/O
機能を利用することを可能にするものである。また、実
際のパーソナルコンピュータではフロッピーディスクや
ハードディスクなどのファイルデバイス、RS−232
Cなどの通信インタフェィスなどは如何なるアーキテク
チャでもほぼ共通に備えており、これらをベースマシン
のものとターゲットマシンのものの二系統備えることは
不経済であるばかりでなく、装置の小型化、消費電力の
低減、データや周辺接続機器の共有、共通化などのいず
れの面でも望ましくない。従って、第二I/O系統には
これらのI/O機能のためのハードウェアは含めず、ベ
ースマシンの標準I/Oを利用できるようにすることは
合理的な方法である。このような場合、第二I/O系統
に含めるべきエミュレーションハードウェアは処理速度
・動作速度が重要になるものやソフトウェアによるエミ
ュレーションだけでは実現困難なI/O機能に限定する
ことができ、エミュレーション用のI/Oハードウェア
の規模を小さくすることができる。
【0017】以下、本発明の第二の実施例を図4ないし
図8を参照しつつ説明する。
【0018】図4は本発明の別の実施例によって実現さ
れる論理I/Oアドレスマップである。図5ないし図7
は図4の論理I/Oアドレスマップを実現するためのア
ドレス変換回路をプログラマブルデバイスによって構成
するための回路記述の一例である。図8は図5ないし図
7の回路記述により得られるプログラマブルデバイスを
等価的にブロック図としたものである。図8において番
号を付した部分は基本的に図1の実施例と同等の機能を
果たし、図1ないし図3の実施例と異なるのはデコーダ
11、12のアドレスデコード条件のみである。
【0019】図4ないし図8に示す実施例は図1ないし
図3の実施例とまったく同等の構成ではあるがより細か
なアドレスの変換を実現した実施例であり、本発明のア
ドレス変換回路が小規模なハードウェアにより実現で
き、かつ決め細かい変換にも対応できることを示す。
【0020】図4は本発明の第二の実施例により実現す
るベースマシンでの論理I/Oアドレスの割り当てとタ
ーゲットマシンのエミュレーション中での論理I/Oア
ドレスの割り当てとを示す。図3では第一I/O系統と
第二I/O系統と同一の広さのアドレス領域をしめる
が、図4では第二I/O系統として設けるエミュレーシ
ョン用のハードウェアを最小限とし、さらにターゲット
マシンの本来のアドレスに合わせるため三つのアドレス
領域に分割した例を示している。このため、ターゲット
マシンのエミュレーションを行う時にはこれら三つの領
域をベースマシンの基本I/Oが占めるアドレス領域の
重なり合う部分に対してのみアドレスの変換によって配
置する。この結果ベースマシンの基本I/Oがエミュレ
ーション中には部分的にアクセスできなくなるので、こ
れらをアドレス上位の領域に配置し直す。これらのアド
レスの配置変更した基本I/Oをアクセスするためには
ベースマシンの本来のアドレスとは異なるアドレスを使
用することが必要となるが、ベースマシンの基本I/O
の一部のみを検知して本来のアドレスと異なるアドレス
をアクセスするよりもベースマシンの基本I/O全体を
移動して、エミュレーション中にベースマシンのI/O
をアクセスする時にはすべてこちらのアドレスを使用す
ることがエミュレーションプログラムの負荷の軽減につ
ながる。すなわち、ベースマシンの本来のI/Oのため
に割り当てられていたアドレスに対しては、ターゲット
マシンのエミュレーションのためにそれらのアドレスが
あたかもターゲットマシンのI/Oのためのアドレスで
あるかのように処理する必要があり、このためにI/O
命令のトラップが行われる。トラップ処理プログラムで
はI/O命令がベースマシンのI/Oをアクセス仕様と
するもの課ターゲットマシンのI/Oをアクセス仕様と
するものなのかを判別してからターゲットマシンのI/
Oエミュレーションを行うか、ベースマシンのI/Oア
クセスを行わなければならないが、図4のようにベース
マシンのI/Oアクセスには独立したアドレスを使用す
るようにしておけばこのような判別が不要になり、さら
にベースマシンのI/Oアクセスに対してはトラップ処
理そのものが不要になるのでトラップ処理によるオーバ
ヘッドも軽減され、処理速度の向上にもつながり得る。
【0021】図5ないし図7はプログラマブルデバイス
を用いて図4のようなアドレスの変換を実現するために
必要となる回路の記述である。図4のアドレスの変換は
これから分かるようにただ一個のプログラマデバイスを
図1実施例の構成に示したような装置に組み込むことで
実現できる。図8は図5ないし図7の回路記述によって
得られるプログラマブルデバイスの機能を模式的に表し
たブロック図である。アドレス変換を有効にすると論理
I/Oアドレス0C00Hから0CFFHのアクセスに
対して、アドレスビットA10・A11を強制的に0と
してベースマシンの基本I/Oをアクセスできるように
する。論理I/Oアドレス0080H、0084H、0
0C0Hから00DFHのアクセスに対してはアドレス
ビットA10・A11を強制的に1としてターゲットマ
シンのエミュレーション用のI/Oをアクセスできるよ
うにする。図8のブロック図の構成は図1の実施例に示
したアドレス変換回路10と全く同じ構成を持ち、アド
レスのデコード条件を変更しただけのものであることが
明らかである。
【0022】
【発明の効果】本発明では、ターゲットマシンのエミュ
レーションのための専用ハードウェアを付加し、さらに
エミュレーションを行うときに特に高速性・実時間性を
要求される処理に対して、入出力アドレスの置き換えを
ハードウェアで行い、部分的にではあるがエミュレーシ
ョンプログラムを介在させること無しにアプリケーショ
ンプログラムを実行可能とする。この時プロセッサとプ
ロセッサバスに直接接続するデバイスの間にはアドレス
変換回路による信号伝達の遅れはないので処理速度の低
下を引き起こすことがない。外部プロセッサデバイスが
プロセッサバス上のメモリデバイスをアクセスする時に
は外部プロセッサデバイスが出力したアドレスがメモリ
に与えられるので、アドレス変換回路の動作状態によっ
てアクセスされるメモリのアドレスが変化することはな
く、プロセッサバスのメモリデバイスのコヒーレンシは
保たれる。ベースマシンとターゲットマシンに共通する
がアドレスの割当が異なるために入出力命令のトラップ
が必要な場合、入出力アドレスの置き換えをハードウェ
アで行うのでトラップが不要になり、また、エミュレー
ション専用ハードウェアなどが占めるアドレスと競合す
るベースマシンの基本入出力装置のアドレス割当を他の
アドレスに置き換えることにより、ターゲットマシンの
エミュレーション中にもベースマシンの持つ入出力機能
を利用することができる。アプリケーションソフトから
見るとアドレスは互換に見えるため、互換性の面でも問
題はない。
【図面の簡単な説明】
【図1】本発明の一実施例の全体構成を示すブロック
図、
【図2】図1の実施例におけるアドレス変換による論理
I/Oアドレスと物理I/Oアドレスの対応の一例を示
すI/Oマップ図、
【図3】図1の実施例におけるアドレス変換により実現
される論理I/Oアドレスマップ図、
【図4】
【図5】
【図6】本発明の別の実施例によって実現される論理I
/Oアドレスマップ図、
【図7】図4の論理I/Oアドレスマップを実現するた
めのアドレス変換回路をプログラマブルデバイスによっ
て構成するための回路の説明図、
【図8】図5ないし図7の回路記述により得られるプロ
グラマブルデバイスを等価的にブロック図。
【符号の説明】
10…I/Oアドレス変換回路、11、12…デコー
ダ、13…アンドゲート14…オアゲート、15、16
…バッファ、20…プロセッサ、30…メモリコントロ
ーラ、50…バス変換回路、60…プロセッサバス、7
0…入出力バス、80、81、82…入出力装置。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−91753(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 13/36 G06F 13/10

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】プロセッサの動作速度に追従して動作する
    相対的に高速であるプロセッサバスと標準的な外部接続
    デバイスを接続するための相対的に低速である標準バス
    とを階層的に接続したバスを備えた計算機装置であっ
    て、 前記プロセッサバスに直接接続し、相対的に高速で動作
    するデバイスの制御を行うプロセッサバス直結I/Oコ
    ントローラとプロセッサバスと相対的に低速で動作する
    標準バスとの間のインタフェースを整合させるバス変換
    回路とを備え、メモリなど前記プロセッサの動作速度に
    影響の大きいデバイスは前記プロセッサバス直結のコン
    トローラによって制御し、標準バスに接続されるデバイ
    スも利用できるようにして標準入出力デバイスとの互換
    性を損なうことなく装置全体としての性能の向上を図っ
    た計算機装置において、 前記バス変換回路と前記プロセッサバスとの間に主プロ
    セッサが標準バス上のデバイスをアクセスする時には前
    記主プロセッサが出力するアドレス信号が示すアドレス
    値を別のアドレス値に変換して前記バス変換回路に与
    え、標準バス上に接続する外部プロセッサデバイスが前
    記主プロセッサからバスのアクセス権を奪って前記プロ
    セッサバスに直接接続するデバイスをアクセスする時に
    は前記外部プロセッサデバイスが標準バス上に出力した
    アドレスを前記バス変換回路により変換して出力するア
    ドレス信号を前記プロセッサバスにアドレス値の変換を
    行うことなく接続するアドレス変換回路を設けて前記標
    準バスに接続する複数のデバイスに対する前記主プロセ
    ッサから見たアドレスの割り当てを可変、または切り換
    えることを可能にし、 さらに前記標準バス上には特定の計算機装置を実現する
    ために必要となる第一の基本入出力デバイス系と、その
    計算機装置とは異なる基本入出力デバイス系を持つ他の
    計算機装置の入出力機能の少なくとも一部の機能を代替
    する第二の基本入出力デバイス系とを接続し、 前記アドレス変換回路によって前記第一の基本入出力デ
    バイス系と前記第二の基本入出力デバイス系のそれぞれ
    に対するアドレスの割り当てを適宜変更することによっ
    て異なる基本入出力デバイス系を持つ他の計算機装置の
    エミュレーションを行うことを特徴とする計算機装置。
  2. 【請求項2】請求項1において、 アドレス変換回路は計算機装置の通常の動作状態での入
    出力デバイスに対するアドレスの割り当てと他の計算機
    装置のエミュレーションを行おうとする動作状態での入
    出力デバイスに対するアドレスの割り当てとで相異なる
    アドレス値をデコードし、バス変換回路に与えるアドレ
    ス信号をビット単位にプロセッサが出力した値のまま、
    あるいは強制的に0または1に固定することによってプ
    ロセッサが出力する論理的な入出力アドレスと標準バス
    に接続する入出力デバイスの入力となる物理的な入出力
    アドレスとの対応を決定する計算機装置。
JP16669891A 1991-07-08 1991-07-08 計算機装置 Expired - Fee Related JP2782987B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16669891A JP2782987B2 (ja) 1991-07-08 1991-07-08 計算機装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16669891A JP2782987B2 (ja) 1991-07-08 1991-07-08 計算機装置

Publications (2)

Publication Number Publication Date
JPH0512188A JPH0512188A (ja) 1993-01-22
JP2782987B2 true JP2782987B2 (ja) 1998-08-06

Family

ID=15836092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16669891A Expired - Fee Related JP2782987B2 (ja) 1991-07-08 1991-07-08 計算機装置

Country Status (1)

Country Link
JP (1) JP2782987B2 (ja)

Families Citing this family (1)

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

Also Published As

Publication number Publication date
JPH0512188A (ja) 1993-01-22

Similar Documents

Publication Publication Date Title
US4347565A (en) Address control system for software simulation
KR100341180B1 (ko) 가상어드레싱버퍼회로,및어드레스번역방법,시스템bios의셰도잉방법,실제메모리최적화방법,실제메모리이용방법,cpu제어시스템에서의에뮬레이팅방법및cpu요청리디렉트방법
US5577230A (en) Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch
JPS62243058A (ja) マルチプロセツサシステムの割込制御方法
US7370137B2 (en) Inter-domain data mover for a memory-to-memory copy engine
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JP2001525568A (ja) 命令デコーダ
US5021991A (en) Coprocessor instruction format
EP0526911B1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
JP2878499B2 (ja) マルチウィンドウ表示方法およびウィンドウシステム
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
JP2002342091A (ja) プログラム作成装置
JP2782987B2 (ja) 計算機装置
US5708815A (en) DMA emulation via interrupt muxing
JPH0221616B2 (ja)
JP3380827B2 (ja) エミュレータ装置
US4994961A (en) Coprocessor instruction format
US5574864A (en) Method of implementing EISA bus devices on a host bus by disabling bridge circuitry between host and EISA buses
JP2568017B2 (ja) マイクロプロセッサ及びそれを使用したデータ処理システム
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
Namimoto et al. TX series Based on TRONCHIP Architecture
JP3203007B2 (ja) 仮想計算機のi/oアドレス変換方式
JP3006487B2 (ja) エミュレーション装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees