JPH07248927A - 入出力エミュレーション回路およびデータチェック回路 - Google Patents
入出力エミュレーション回路およびデータチェック回路Info
- Publication number
- JPH07248927A JPH07248927A JP6038959A JP3895994A JPH07248927A JP H07248927 A JPH07248927 A JP H07248927A JP 6038959 A JP6038959 A JP 6038959A JP 3895994 A JP3895994 A JP 3895994A JP H07248927 A JPH07248927 A JP H07248927A
- Authority
- JP
- Japan
- Prior art keywords
- read
- data
- input
- output
- guest
- 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.)
- Withdrawn
Links
Landscapes
- Detection And Correction Of Errors (AREA)
Abstract
(57)【要約】
【目的】入出力エミュレーション回路に関し、ホストプ
ロセサ20への割込を必要最小限にすることにより負荷を
軽減する。 【構成】リードデータ保持メモリ36Rとライトデータ保
持メモリ36Wとを、それぞれゲストプロセサ10の入出力
アドレス空間と同一の空間分備える。また、割込制御メ
モリ31を備え、同じく入出力アドレス空間に対応させ
て、ライト用割込制御ビットとリード用割込制御ビット
との2ビットを出力するようにし、このビットが設定さ
れているときホストプロセサ20への割込を発生させる。
ロセサ20への割込を必要最小限にすることにより負荷を
軽減する。 【構成】リードデータ保持メモリ36Rとライトデータ保
持メモリ36Wとを、それぞれゲストプロセサ10の入出力
アドレス空間と同一の空間分備える。また、割込制御メ
モリ31を備え、同じく入出力アドレス空間に対応させ
て、ライト用割込制御ビットとリード用割込制御ビット
との2ビットを出力するようにし、このビットが設定さ
れているときホストプロセサ20への割込を発生させる。
Description
【0001】
【産業上の利用分野】本発明は、ある計算機において、
他機種用のプログラムを実行可能にするエミュレーショ
ン方式において、他機種プログラムが実行する入出力ア
クセスの制御を行なう回路すなわち入出力エミュレーシ
ョン回路に関する。
他機種用のプログラムを実行可能にするエミュレーショ
ン方式において、他機種プログラムが実行する入出力ア
クセスの制御を行なう回路すなわち入出力エミュレーシ
ョン回路に関する。
【0002】エミュレーションとは、特別なハードウェ
アとソフトウェアとによって他機種の計算機のプログラ
ムをそのまま実行できるようにすることであるが、他機
種のプロセサがマイクロプロセサである場合には、マイ
クロプロセサが安価であるためプロセサに関してはエミ
ュレーションを行なうよりそのマイクロプロセサを使う
ことにより容易に実現できる。マイクロプロセサとメモ
リを搭載したプロセサボードを装着可能にし、そのプロ
セサボードにより他機種のプログラムの実行をさせれば
よい。しかし、入出力に関しては、元の機種の入出力装
置を使うことはできない(それでは意味がない)ので、
入出力エミュレーション回路と入出力エミュレーション
プログラムとによって、本機の入出力装置を用いて他機
種の入出力装置をシミュレートする。すなわちこれが入
出力エミュレーションである。
アとソフトウェアとによって他機種の計算機のプログラ
ムをそのまま実行できるようにすることであるが、他機
種のプロセサがマイクロプロセサである場合には、マイ
クロプロセサが安価であるためプロセサに関してはエミ
ュレーションを行なうよりそのマイクロプロセサを使う
ことにより容易に実現できる。マイクロプロセサとメモ
リを搭載したプロセサボードを装着可能にし、そのプロ
セサボードにより他機種のプログラムの実行をさせれば
よい。しかし、入出力に関しては、元の機種の入出力装
置を使うことはできない(それでは意味がない)ので、
入出力エミュレーション回路と入出力エミュレーション
プログラムとによって、本機の入出力装置を用いて他機
種の入出力装置をシミュレートする。すなわちこれが入
出力エミュレーションである。
【0003】また、請求項3、4はデータチェック回路
に関する。
に関する。
【0004】
【従来の技術】図3は従来の入出力エミュレーション回
路の構成図である。この図において、20はこの計算機の
本来のプロセサ(以下、ホストプロセサと呼ぶ)であ
り、そのバス(以下、ホストバスと呼ぶ)21によって、
記憶装置(以下、ホストメモリと呼ぶ)22、及び所要数
の各種の入出力装置23と接続して、ワークステーショ
ン、パーソナルコンピュータ等の計算機を構成する。
路の構成図である。この図において、20はこの計算機の
本来のプロセサ(以下、ホストプロセサと呼ぶ)であ
り、そのバス(以下、ホストバスと呼ぶ)21によって、
記憶装置(以下、ホストメモリと呼ぶ)22、及び所要数
の各種の入出力装置23と接続して、ワークステーショ
ン、パーソナルコンピュータ等の計算機を構成する。
【0005】他の計算機で実行していたプログラムを、
この計算機でも実行するために、異なるアーキテクチャ
のプロセサ(以下、ゲストプロセサと呼ぶ)10と記憶装
置(以下、ゲストメモリと呼ぶ)12よりなるプロセサボ
ードと、入出力エミュレーション回路30とを設ける。ま
た、ホストメモリに入出力エミュレーションプログラム
を用意する。入出力エミュレーション回路30は、ゲスト
プロセサ10からはバス(以下、ゲストバスと呼ぶ)11に
よりアクセスされ、ホストプロセサ20からはホストバス
21によりアクセスされる。
この計算機でも実行するために、異なるアーキテクチャ
のプロセサ(以下、ゲストプロセサと呼ぶ)10と記憶装
置(以下、ゲストメモリと呼ぶ)12よりなるプロセサボ
ードと、入出力エミュレーション回路30とを設ける。ま
た、ホストメモリに入出力エミュレーションプログラム
を用意する。入出力エミュレーション回路30は、ゲスト
プロセサ10からはバス(以下、ゲストバスと呼ぶ)11に
よりアクセスされ、ホストプロセサ20からはホストバス
21によりアクセスされる。
【0006】この様にして他計算機で実行していたプロ
グラム(ゲストメモリ12に置かれる。以下、ゲストプロ
グラムと呼ぶ) をゲストプロセサ10で実行させると、ゲ
ストバス11に入出力装置が存在するものとして動作す
る。以下にそれを入出力エミュレーション回路(および
入出力エミュレーションプログラム)でエミュレートす
るやり方を説明する。
グラム(ゲストメモリ12に置かれる。以下、ゲストプロ
グラムと呼ぶ) をゲストプロセサ10で実行させると、ゲ
ストバス11に入出力装置が存在するものとして動作す
る。以下にそれを入出力エミュレーション回路(および
入出力エミュレーションプログラム)でエミュレートす
るやり方を説明する。
【0007】ゲストプロセサ10による入出力動作はゲス
トバス11上のアドレス空間にマッピングされた入出力制
御レジスタへのリードライトに還元される。つまり、入
出力装置は、ゲストプロセサ10にはいくつかの制御レジ
スタとして見える。図4に入出力制御レジスタの例を示
す。これらの制御レジスタを順序よくリードライトする
ことが入出力装置を動作させることである。このゲスト
バス11に図4に示すような入出力制御レジスタが存在す
るのならば、ゲストプログラムとゲストプロセサ10の動
作は元の機種での動作そのものである。入出力エミュレ
ーションとは、入出力エミュレーション回路と入出力エ
ミュレーションプログラムとによってゲストバス11に図
4に示すような入出力制御レジスタが存在するかのよう
に見せることである。
トバス11上のアドレス空間にマッピングされた入出力制
御レジスタへのリードライトに還元される。つまり、入
出力装置は、ゲストプロセサ10にはいくつかの制御レジ
スタとして見える。図4に入出力制御レジスタの例を示
す。これらの制御レジスタを順序よくリードライトする
ことが入出力装置を動作させることである。このゲスト
バス11に図4に示すような入出力制御レジスタが存在す
るのならば、ゲストプログラムとゲストプロセサ10の動
作は元の機種での動作そのものである。入出力エミュレ
ーションとは、入出力エミュレーション回路と入出力エ
ミュレーションプログラムとによってゲストバス11に図
4に示すような入出力制御レジスタが存在するかのよう
に見せることである。
【0008】なお、ここでいう制御レジスタとは概念的
なもので、実際に物理的なレジスタが存在するとはかぎ
らない。制御のためのフリップフロップや、論理回路の
信号を集めたものまたはメモリである場合もある。
なもので、実際に物理的なレジスタが存在するとはかぎ
らない。制御のためのフリップフロップや、論理回路の
信号を集めたものまたはメモリである場合もある。
【0009】ゲストプロセサ10で実行するゲストプログ
ラムを何も変更しないで入出力処理を実行するために
は、ゲストバス11上にあるはずの入出力制御レジスタへ
のリード/ライト操作を検出しホストプロセサ20へ伝え
て、その入出力エミュレーションプログラムによってホ
ストバス21上の入出力装置23を動作させ、その結果をゲ
ストバス11にあるはずの入出力制御レジスタにもどすこ
とによって行なう。
ラムを何も変更しないで入出力処理を実行するために
は、ゲストバス11上にあるはずの入出力制御レジスタへ
のリード/ライト操作を検出しホストプロセサ20へ伝え
て、その入出力エミュレーションプログラムによってホ
ストバス21上の入出力装置23を動作させ、その結果をゲ
ストバス11にあるはずの入出力制御レジスタにもどすこ
とによって行なう。
【0010】例としてプリンタの場合を説明する。ゲス
トプログラムがプリンタ(シリアルプリンタ)に文字を
出力するとき、プリンタの入出力制御レジスタのデータ
レジスタ(アドレス0040)に出力する文字をライトす
る。ゲストバス11上ではアドレス線にアドレス0040が出
され、制御線(図3には示してないがアドレス線と一体
であるものとする)にライトであることを示すコマンド
が出される。入出力エミュレーション回路30は、アドレ
スが出力されたことを検出するとアドレス値およびコマ
ンド(ライト/リードの区別)をアドレス保持レジスタ
35にセットする。この場合コマンドはライトであるので
データ線上のデータ値をデータ保持レジスタ36にセット
する。そして割込トリガ回路33をセットして割込要求線
を通してホストプロセサ20に割込をかける。
トプログラムがプリンタ(シリアルプリンタ)に文字を
出力するとき、プリンタの入出力制御レジスタのデータ
レジスタ(アドレス0040)に出力する文字をライトす
る。ゲストバス11上ではアドレス線にアドレス0040が出
され、制御線(図3には示してないがアドレス線と一体
であるものとする)にライトであることを示すコマンド
が出される。入出力エミュレーション回路30は、アドレ
スが出力されたことを検出するとアドレス値およびコマ
ンド(ライト/リードの区別)をアドレス保持レジスタ
35にセットする。この場合コマンドはライトであるので
データ線上のデータ値をデータ保持レジスタ36にセット
する。そして割込トリガ回路33をセットして割込要求線
を通してホストプロセサ20に割込をかける。
【0011】ホストプロセサ20では入出力エミュレーシ
ョンの割込であることを知ると、入出力エミュレーショ
ンプログラムを起動する。入出力エミュレーションプロ
グラムはアドレス保持レジスタ35をリードして入出力制
御レジスタのアドレスとコマンドとを知り、プリンタへ
のデータ出力であることがわかるので、データ保持レジ
スタ36からデータを読み出して、入出力エミュレーショ
ン回路30のレデイ制御回路34へ終了を伝える。この操作
もホストバス21上の制御レジスタ(アドレス)への書込
みとして行なわれる。それにより、入出力エミュレーシ
ョン回路30は割込トリガ回路33をリセットし、ゲストバ
ス11上の制御線の1つであるレデイ応答線に信号を出
す。ゲストプロセサ10はレデイ応答があったことにより
ゲストバス11上の動作を終わり、次の動作に移ることが
できる。ホストプロセサ20はその後ホストバス21上の入
出力装置(プリンタ)23へデータを出力する。
ョンの割込であることを知ると、入出力エミュレーショ
ンプログラムを起動する。入出力エミュレーションプロ
グラムはアドレス保持レジスタ35をリードして入出力制
御レジスタのアドレスとコマンドとを知り、プリンタへ
のデータ出力であることがわかるので、データ保持レジ
スタ36からデータを読み出して、入出力エミュレーショ
ン回路30のレデイ制御回路34へ終了を伝える。この操作
もホストバス21上の制御レジスタ(アドレス)への書込
みとして行なわれる。それにより、入出力エミュレーシ
ョン回路30は割込トリガ回路33をリセットし、ゲストバ
ス11上の制御線の1つであるレデイ応答線に信号を出
す。ゲストプロセサ10はレデイ応答があったことにより
ゲストバス11上の動作を終わり、次の動作に移ることが
できる。ホストプロセサ20はその後ホストバス21上の入
出力装置(プリンタ)23へデータを出力する。
【0012】次にゲストプログラムはプリンタのステー
タスレジスタ(アドレス0040)の内容をリードする。な
お、データレジスタとステータスレジスタとは別のレジ
スタであるが、それぞれライト専用、リード専用である
ため同一アドレスに割り付けられている。これは狭いア
ドレス空間を有効に利用するためと、アドレスデコード
を簡易化するため等による。
タスレジスタ(アドレス0040)の内容をリードする。な
お、データレジスタとステータスレジスタとは別のレジ
スタであるが、それぞれライト専用、リード専用である
ため同一アドレスに割り付けられている。これは狭いア
ドレス空間を有効に利用するためと、アドレスデコード
を簡易化するため等による。
【0013】同様にしてゲストバス11上ではアドレス線
にアドレス0040が出され、制御線にリードであることを
示すコマンドが出される。入出力エミュレーション回路
30は、アドレスが出力されたことを検出するとアドレス
値およびコマンド(ライト/リードの区別)をアドレス
保持レジスタ35にセットする。この場合コマンドはリー
ドであるので割込トリガ回路33をセットして割込要求線
を通してホストプロセサ20に割込をかける。入出力エミ
ュレーションプログラムはアドレス保持レジスタ35を介
して入出力制御レジスタのアドレスを知り、プリンタの
ステータス出力を求められていることがわかるので、ホ
ストバス21上の入出力装置(プリンタ)23のステータス
を読み出しデータ保持レジスタ36へステータスを書き込
んで入出力エミュレーション回路30のレデイ制御回路34
へ終了を伝える。ゲストプロセサ10はステータスを調べ
てプリンタの動作が終わったことを知ると、次の文字の
出力を行なうため、前述の操作を繰り返す。
にアドレス0040が出され、制御線にリードであることを
示すコマンドが出される。入出力エミュレーション回路
30は、アドレスが出力されたことを検出するとアドレス
値およびコマンド(ライト/リードの区別)をアドレス
保持レジスタ35にセットする。この場合コマンドはリー
ドであるので割込トリガ回路33をセットして割込要求線
を通してホストプロセサ20に割込をかける。入出力エミ
ュレーションプログラムはアドレス保持レジスタ35を介
して入出力制御レジスタのアドレスを知り、プリンタの
ステータス出力を求められていることがわかるので、ホ
ストバス21上の入出力装置(プリンタ)23のステータス
を読み出しデータ保持レジスタ36へステータスを書き込
んで入出力エミュレーション回路30のレデイ制御回路34
へ終了を伝える。ゲストプロセサ10はステータスを調べ
てプリンタの動作が終わったことを知ると、次の文字の
出力を行なうため、前述の操作を繰り返す。
【0014】なお、高速な入出力装置のためにプロセサ
に代わってデータ転送の制御を行なうDMAC(ダイレ
クトメモリアクセスコントローラ)が存在する。このD
MACのエミュレーションも同様にして行なう。バス上
に割り付けられる制御レジスタの種類と数が多いだけ
で、ゲストバス11上の動作はやはり制御レジスタのリー
ド/ライトであるからである。ゲストメモリ12は、ホス
トプロセサのホストバス21のアドレス空間にもマッピン
グされているので、DMAC24の制御によりDMA転送
されたデータはホストバス21を介してゲストメモリ12に
直接読み書きされる。または、ホストメモリ22に読み書
きされたものをホストプロセサがゲストメモリ12に写
す。
に代わってデータ転送の制御を行なうDMAC(ダイレ
クトメモリアクセスコントローラ)が存在する。このD
MACのエミュレーションも同様にして行なう。バス上
に割り付けられる制御レジスタの種類と数が多いだけ
で、ゲストバス11上の動作はやはり制御レジスタのリー
ド/ライトであるからである。ゲストメモリ12は、ホス
トプロセサのホストバス21のアドレス空間にもマッピン
グされているので、DMAC24の制御によりDMA転送
されたデータはホストバス21を介してゲストメモリ12に
直接読み書きされる。または、ホストメモリ22に読み書
きされたものをホストプロセサがゲストメモリ12に写
す。
【0015】パリティチェック方式は、1ビットエラー
の検出が容易にできる方式としてよく用いられる。とこ
ろで、接続コネクタが外れたり、電源が切れたりした場
合に全ビットが‘0’または‘1’になるような状態が
起こることが多い。図5に示すように、従来のパリティ
チェック方式では、パリティビットも含めて全体のビッ
ト数が偶数であれば、奇数パリティ方式にすれば全ビッ
トが‘0’または‘1’をエラーとして検出できるが、
パリティビットも含めて全体のビット数が奇数であれ
ば、奇数パリティ方式では全ビット‘1’がエラーとし
て検出できないし、偶数パリティ方式では全ビット
‘0’がエラーとして検出できない。
の検出が容易にできる方式としてよく用いられる。とこ
ろで、接続コネクタが外れたり、電源が切れたりした場
合に全ビットが‘0’または‘1’になるような状態が
起こることが多い。図5に示すように、従来のパリティ
チェック方式では、パリティビットも含めて全体のビッ
ト数が偶数であれば、奇数パリティ方式にすれば全ビッ
トが‘0’または‘1’をエラーとして検出できるが、
パリティビットも含めて全体のビット数が奇数であれ
ば、奇数パリティ方式では全ビット‘1’がエラーとし
て検出できないし、偶数パリティ方式では全ビット
‘0’がエラーとして検出できない。
【0016】
【発明が解決しようとする課題】従来の入出力エミュレ
ーション方式はゲストプロセサ10からの制御レジスタの
ライト/リードが発生した場合、必ずホストプロセサ20
へ割込をかけるため、ホストプロセサ20の負荷が重くな
るという問題がある。例えばゲストプロセサ10からのリ
ード対象がステータスレジスタである場合、ステータス
が変化するのはかなり長い時間間隔であるにも係わら
ず、何度もステータスリードが(ステータスが変化する
まで)繰り返されることがある。そのつどホストプロセ
サ20は余計な処理を行なわなければならない。また、制
御レジスタによっては、ゲストプロセサから単にライト
するだけ/リードするだけでよいものがある。例えば、
図4(2)に示したDMACのカウントレジスタやアド
レスレジスタ等である。これらはDMACの回路にたい
する条件設定をするだけであるので、ライト/リードを
しても、本来はまだホストプロセサ20が一々対応する必
要はない。
ーション方式はゲストプロセサ10からの制御レジスタの
ライト/リードが発生した場合、必ずホストプロセサ20
へ割込をかけるため、ホストプロセサ20の負荷が重くな
るという問題がある。例えばゲストプロセサ10からのリ
ード対象がステータスレジスタである場合、ステータス
が変化するのはかなり長い時間間隔であるにも係わら
ず、何度もステータスリードが(ステータスが変化する
まで)繰り返されることがある。そのつどホストプロセ
サ20は余計な処理を行なわなければならない。また、制
御レジスタによっては、ゲストプロセサから単にライト
するだけ/リードするだけでよいものがある。例えば、
図4(2)に示したDMACのカウントレジスタやアド
レスレジスタ等である。これらはDMACの回路にたい
する条件設定をするだけであるので、ライト/リードを
しても、本来はまだホストプロセサ20が一々対応する必
要はない。
【0017】本発明は、個々の入出力制御レジスタごと
にホストプロセサ20への割込を許可/禁止し、データは
それぞれ別々に保持する回路を備えることにより、ホス
トプロセサ20の負荷を少なくした入出力エミュレーショ
ン回路を実現することを目的としている。
にホストプロセサ20への割込を許可/禁止し、データは
それぞれ別々に保持する回路を備えることにより、ホス
トプロセサ20の負荷を少なくした入出力エミュレーショ
ン回路を実現することを目的としている。
【0018】また、パリティビットの他にさらに1ビッ
トの冗長ビットを加えることにより、通常の1ビットエ
ラーの検出に加えて、全ビット‘0’または全ビット`
1' 状態を検出するパリティチェック回路を実現するこ
とを目的としている。
トの冗長ビットを加えることにより、通常の1ビットエ
ラーの検出に加えて、全ビット‘0’または全ビット`
1' 状態を検出するパリティチェック回路を実現するこ
とを目的としている。
【0019】
【課題を解決するための手段】図1に本発明の構成を示
す。図において入出力エミュレーション回路30の割込ト
リガ回路とデータ保持レジスタ関連の回路とを図3とは
変更してある。その他は従来と同じである。
す。図において入出力エミュレーション回路30の割込ト
リガ回路とデータ保持レジスタ関連の回路とを図3とは
変更してある。その他は従来と同じである。
【0020】ゲストプロセサ10の入出力アドレス空間に
対応させて、ライト用割込制御ビットIWとリード用割込
制御ビットIRとの2ビットを保持する割込制御メモリ31
を設け、割込トリガ回路33は、ゲストプロセサ10の入出
力制御レジスタを指定するゲストバス11のアドレスとラ
イト/リードを区別するコマンドとにより、割込制御メ
モリ31から読み出した出力のライト用割込制御ビットIW
とリード用割込制御ビットIRに従ってホストプロセサ20
へ割込をかけるか否かを決定し、ホストプロセサ20へ割
込をかけないときは、レデイ制御回路34が直接レデイ応
答信号を返してゲストバス11上の動作を終了させる。
対応させて、ライト用割込制御ビットIWとリード用割込
制御ビットIRとの2ビットを保持する割込制御メモリ31
を設け、割込トリガ回路33は、ゲストプロセサ10の入出
力制御レジスタを指定するゲストバス11のアドレスとラ
イト/リードを区別するコマンドとにより、割込制御メ
モリ31から読み出した出力のライト用割込制御ビットIW
とリード用割込制御ビットIRに従ってホストプロセサ20
へ割込をかけるか否かを決定し、ホストプロセサ20へ割
込をかけないときは、レデイ制御回路34が直接レデイ応
答信号を返してゲストバス11上の動作を終了させる。
【0021】従来技術において、データ保持レジスタ36
は1つであったものを、本発明においては、リードデー
タ保持メモリ36Rとライトデータ保持メモリ36Wとを、
それぞれゲストプロセサ10の入出力アドレスに対応させ
て備える。
は1つであったものを、本発明においては、リードデー
タ保持メモリ36Rとライトデータ保持メモリ36Wとを、
それぞれゲストプロセサ10の入出力アドレスに対応させ
て備える。
【0022】第2の発明においては、割込制御メモリ31
にさらにリードの場合にリードデータ保持メモリ36Rか
ら読み出すのかライトデータ保持メモリ36Wから読み出
すのかを選択する1ビットを追加する。またデータ切替
え回路37を設け、ゲストプロセサ10から入出力制御レジ
スタのリード要求が発生する度にこのビットによって読
み出したデータの選択を行なう。この制御は、リードデ
ータを切替える代わりに、ライトデータを切替えること
によっても同様の効果が得られる。
にさらにリードの場合にリードデータ保持メモリ36Rか
ら読み出すのかライトデータ保持メモリ36Wから読み出
すのかを選択する1ビットを追加する。またデータ切替
え回路37を設け、ゲストプロセサ10から入出力制御レジ
スタのリード要求が発生する度にこのビットによって読
み出したデータの選択を行なう。この制御は、リードデ
ータを切替える代わりに、ライトデータを切替えること
によっても同様の効果が得られる。
【0023】第3の発明のデータチェックの原理を図6
に示す。パリティチェック回路において、本来のデータ
を表すデータビットの数が偶数の場合に、パリティビッ
トの他に1ビットの冗長ビットを付加してパリティビッ
トを含めた全体のビット数を偶数とする。
に示す。パリティチェック回路において、本来のデータ
を表すデータビットの数が偶数の場合に、パリティビッ
トの他に1ビットの冗長ビットを付加してパリティビッ
トを含めた全体のビット数を偶数とする。
【0024】データをセットするときは、パリティビッ
トの値を全体の‘1’の数が奇数になるように設定す
る。付加した冗長ビットの値はなんでもよく、‘1’ま
たは‘0’または本来のデータビットのどれかと同じに
すればよい。
トの値を全体の‘1’の数が奇数になるように設定す
る。付加した冗長ビットの値はなんでもよく、‘1’ま
たは‘0’または本来のデータビットのどれかと同じに
すればよい。
【0025】データを読むときは全ビットの‘1’の数
が偶数であるときエラーとして検出する。
が偶数であるときエラーとして検出する。
【0026】
【作用】ホストプロセサ20側の入出力エミュレーション
プログラムは、あらかじめ入出力制御レジスタの性質に
よって、ホストプロセサ20への割込を起こすものと起こ
さないものとを区別して割込制御メモリ31に設定してお
く。これは、ゲストプロセサの入出力アドレス空間に対
応するだけのアドレスをもち、その個々の制御レジスタ
(アドレス)に対応して2ビットの割込制御ビットを保
持する。ホストプロセサ20(の入出力エミュレーション
プログラム)がホストバス21を通して割込制御メモリ31
に、ホストプロセサへの割込を起こすレジスタの対応ア
ドレスのライト用割込制御ビットとリード用割込制御ビ
ットにはリード/ライトの区別をして‘1’を、そうで
なければ‘0’を書き込んでおく。ゲストプロセサ10が
ゲストバス11上の制御レジスタをライト/リードしたと
き、そのアドレスに対応して割込制御メモリ31から割込
制御ビットが読み出され、その値によってホストプロセ
サへの割込を発生させるかどうかが決まる。従って、図
4のあみかけ部分に示したような入出力制御レジスタへ
のリード/ライトでは割り込みは起こさない。従って、
著しい速度の低下を招くホストプロセサ20への割り込み
を必要最小限にすることができる。
プログラムは、あらかじめ入出力制御レジスタの性質に
よって、ホストプロセサ20への割込を起こすものと起こ
さないものとを区別して割込制御メモリ31に設定してお
く。これは、ゲストプロセサの入出力アドレス空間に対
応するだけのアドレスをもち、その個々の制御レジスタ
(アドレス)に対応して2ビットの割込制御ビットを保
持する。ホストプロセサ20(の入出力エミュレーション
プログラム)がホストバス21を通して割込制御メモリ31
に、ホストプロセサへの割込を起こすレジスタの対応ア
ドレスのライト用割込制御ビットとリード用割込制御ビ
ットにはリード/ライトの区別をして‘1’を、そうで
なければ‘0’を書き込んでおく。ゲストプロセサ10が
ゲストバス11上の制御レジスタをライト/リードしたと
き、そのアドレスに対応して割込制御メモリ31から割込
制御ビットが読み出され、その値によってホストプロセ
サへの割込を発生させるかどうかが決まる。従って、図
4のあみかけ部分に示したような入出力制御レジスタへ
のリード/ライトでは割り込みは起こさない。従って、
著しい速度の低下を招くホストプロセサ20への割り込み
を必要最小限にすることができる。
【0027】ゲストプロセサ10からライトした制御レジ
スタの値をゲストプロセサ10から読み出す必要がある場
合、本発明の第1の発明においてはリードデータ保持メ
モリ36Rおよびライトデータ保持メモリ36Wに分けたこ
とにより、ホストプロセサ20が介在して、ライトデータ
保持メモリ36Wのデータをリードデータ保持メモリ36R
へ複写する必要が生じてしまう。そこで第2の発明のよ
うにすれば、リード時に読み出すべきメモリを指定でき
るのでホストプロセサ20が介在する必要がなくなる。
スタの値をゲストプロセサ10から読み出す必要がある場
合、本発明の第1の発明においてはリードデータ保持メ
モリ36Rおよびライトデータ保持メモリ36Wに分けたこ
とにより、ホストプロセサ20が介在して、ライトデータ
保持メモリ36Wのデータをリードデータ保持メモリ36R
へ複写する必要が生じてしまう。そこで第2の発明のよ
うにすれば、リード時に読み出すべきメモリを指定でき
るのでホストプロセサ20が介在する必要がなくなる。
【0028】
【実施例】以下、図1の構成図、図2のアドレス空間上
の制御レジスタの対応、および図4の入出力制御レジス
タの例の図面を参照して本発明の実施例を説明する。
の制御レジスタの対応、および図4の入出力制御レジス
タの例の図面を参照して本発明の実施例を説明する。
【0029】図1において、リードデータ保持メモリ36
Rとライトデータ保持メモリ36Wと割込制御メモリ31と
は対応した同一のアドレス領域をもつ。そして図2に示
すようにゲストプロセサの入出力アドレス空間に対応す
る。また、ホストプロセサ20のホストバス21のアドレス
空間にマッピングされている。ゲストバス11からはゲス
トプロセサ10の入出力制御レジスタのアドレスによって
アドレスされ、ホストバス21からはホストプロセサ20側
のハードウェアで定めたアドレスによってアドレスされ
る。このアドレスの定めかたは任意である。
Rとライトデータ保持メモリ36Wと割込制御メモリ31と
は対応した同一のアドレス領域をもつ。そして図2に示
すようにゲストプロセサの入出力アドレス空間に対応す
る。また、ホストプロセサ20のホストバス21のアドレス
空間にマッピングされている。ゲストバス11からはゲス
トプロセサ10の入出力制御レジスタのアドレスによって
アドレスされ、ホストバス21からはホストプロセサ20側
のハードウェアで定めたアドレスによってアドレスされ
る。このアドレスの定めかたは任意である。
【0030】図2において、(1)はゲストプロセサ10
の入出力アドレスマップの例、(2)はそれに対応する
リードデータ保持メモリ36Rおよびライトデータ保持メ
モリ36Wの内容であってホストプロセサ20のメモリマッ
プの例、(3)はホストプロセサ20の入出力装置のアド
レスマップの例を示している。
の入出力アドレスマップの例、(2)はそれに対応する
リードデータ保持メモリ36Rおよびライトデータ保持メ
モリ36Wの内容であってホストプロセサ20のメモリマッ
プの例、(3)はホストプロセサ20の入出力装置のアド
レスマップの例を示している。
【0031】割込制御メモリ31のエントリは3ビットで
あり、図2(4)は、その構成を示す。IR,IW,Wはそ
れぞれ入出力制御レジスタへのリードによるホストプロ
セサ20への割込み発生、同ライトによる発生、リードの
時の読み出しデータの選択を制御する。IR,IWビットは
割込トリガ回路33およびレデイ制御回路34に導かれ、割
込トリガをセットするか否かを決め、レデイ応答を直接
ゲストバス11へ返すかどうかを決定する。32R,32Wの
割込マスク回路は論理アンド回路でよい。また、Wビッ
トはデータ切替え回路37(マルチプレクサ回路でよい)
の切替え指定を行なう。このビットが‘1’のとき、ゲ
ストバス11での制御レジスタリードに対してライトデー
タ保持メモリ36Wから読み出したデータを渡す。
あり、図2(4)は、その構成を示す。IR,IW,Wはそ
れぞれ入出力制御レジスタへのリードによるホストプロ
セサ20への割込み発生、同ライトによる発生、リードの
時の読み出しデータの選択を制御する。IR,IWビットは
割込トリガ回路33およびレデイ制御回路34に導かれ、割
込トリガをセットするか否かを決め、レデイ応答を直接
ゲストバス11へ返すかどうかを決定する。32R,32Wの
割込マスク回路は論理アンド回路でよい。また、Wビッ
トはデータ切替え回路37(マルチプレクサ回路でよい)
の切替え指定を行なう。このビットが‘1’のとき、ゲ
ストバス11での制御レジスタリードに対してライトデー
タ保持メモリ36Wから読み出したデータを渡す。
【0032】図2(1)および図4のプリンタのデータ
レジスタとステータスレジスタ、およびDMAC(Direc
t Memory Access Controller) にある、アドレスレジス
タとカウントレジスタ等を例に動作の説明を行なう。
レジスタとステータスレジスタ、およびDMAC(Direc
t Memory Access Controller) にある、アドレスレジス
タとカウントレジスタ等を例に動作の説明を行なう。
【0033】本発明では、ゲストプロセサ10からのプリ
ンタ出力データのライトにより、出力データはライトデ
ータ保持メモリ36Wに書き込まれると同時に割り込みト
リガがセットされ、ホストプロセサ20は割り込みを受け
取る。割り込みを受け取るとホストプロセサ20は、アド
レス保持レジスタ35から入出力制御レジスタのアドレス
(0040)とコマンド(この場合はライト)を読み出しプ
リンタへの出力であることを判断し、リードデータ保持
メモリ36Rのステータスレジスタのアドレス(0040)に
対応するアドレスにプリンタのステータス(この場合ビ
ジイ)を書込んでから、応答をレデイ制御回路34へライ
トする。それによりレデイ制御回路34は割込トリガ回路
をリセットし、ゲストプロセサ10へレデイ応答する。
ンタ出力データのライトにより、出力データはライトデ
ータ保持メモリ36Wに書き込まれると同時に割り込みト
リガがセットされ、ホストプロセサ20は割り込みを受け
取る。割り込みを受け取るとホストプロセサ20は、アド
レス保持レジスタ35から入出力制御レジスタのアドレス
(0040)とコマンド(この場合はライト)を読み出しプ
リンタへの出力であることを判断し、リードデータ保持
メモリ36Rのステータスレジスタのアドレス(0040)に
対応するアドレスにプリンタのステータス(この場合ビ
ジイ)を書込んでから、応答をレデイ制御回路34へライ
トする。それによりレデイ制御回路34は割込トリガ回路
をリセットし、ゲストプロセサ10へレデイ応答する。
【0034】ホストプロセサ20はその後にライトデータ
保持メモリ36Wの入出力制御レジスタのアドレス(004
0)に対応するアドレスからデータを読み出し、プリン
タへ出力する。このプリンタの動作が終了すれば、再び
プリンタのステータス(この場合レデイ)をリードデー
タ保持メモリ36Rに書き込む。この間は少し時間がかか
る。
保持メモリ36Wの入出力制御レジスタのアドレス(004
0)に対応するアドレスからデータを読み出し、プリン
タへ出力する。このプリンタの動作が終了すれば、再び
プリンタのステータス(この場合レデイ)をリードデー
タ保持メモリ36Rに書き込む。この間は少し時間がかか
る。
【0035】ゲストプロセサ10はプリンタのデータレジ
スタへの書込みが終わるとすぐにプリンタのステータス
レジスタの読み出しを行なう。プリンタのデータレジス
タ(ライト)とステータスレジスタ(リード)は同一ア
ドレスに割りつけられている場合が多い。先に説明した
ように、ゲストプロセサ10側では出力データをライトし
た後、まだホストプロセサ20の入出力装置23のプリンタ
がまだ動作中である間にステータスレジスタのリードを
繰り返し行なうことになる。
スタへの書込みが終わるとすぐにプリンタのステータス
レジスタの読み出しを行なう。プリンタのデータレジス
タ(ライト)とステータスレジスタ(リード)は同一ア
ドレスに割りつけられている場合が多い。先に説明した
ように、ゲストプロセサ10側では出力データをライトし
た後、まだホストプロセサ20の入出力装置23のプリンタ
がまだ動作中である間にステータスレジスタのリードを
繰り返し行なうことになる。
【0036】従来の方式では、ステータスのリードの度
にホストプロセサ20に割込みをかけ、ホストプロセサ20
によってデータ保持レジスタ36にステータスを書き込み
直す必要があった。しかし、本発明では、ライトデータ
保持メモリ36Wと、リードデータ保持メモリ36Rが別に
あるため、ホストプロセサ20からリードデータ保持メモ
リ36R へステータスを書き込んでおけば、ホストプロセ
サ20に接続されているプリンタのステータが変化するま
で、リードデータ保持メモリ36R の状態を書き直さず
に、ゲストプロセサ10へプリンタのステータスを見せる
ことができる。このゲストプロセサ10からのプリンタの
ステータスレジスタのリードは、レデイ制御回路34が直
接応答するため、ホストプロセサ20への割込は起こさな
い。従って、ホストプロセサが処理を行う回数を減ら
し、ホストプロセサ20の処理にかかるトータルの時間を
短縮することが出来る。
にホストプロセサ20に割込みをかけ、ホストプロセサ20
によってデータ保持レジスタ36にステータスを書き込み
直す必要があった。しかし、本発明では、ライトデータ
保持メモリ36Wと、リードデータ保持メモリ36Rが別に
あるため、ホストプロセサ20からリードデータ保持メモ
リ36R へステータスを書き込んでおけば、ホストプロセ
サ20に接続されているプリンタのステータが変化するま
で、リードデータ保持メモリ36R の状態を書き直さず
に、ゲストプロセサ10へプリンタのステータスを見せる
ことができる。このゲストプロセサ10からのプリンタの
ステータスレジスタのリードは、レデイ制御回路34が直
接応答するため、ホストプロセサ20への割込は起こさな
い。従って、ホストプロセサが処理を行う回数を減ら
し、ホストプロセサ20の処理にかかるトータルの時間を
短縮することが出来る。
【0037】次に、DMACの動作について説明する。
DMACの制御レジスタの例を図4(2)に示す。アド
レス0020のイニシャライズレジスタはDMACを初期状
態にすることを指示するためのものである。リードはで
きない。0021のチャネル番号レジスタは動作指定を行な
うDMACのチャネルの指定を行なう。DMACは同時
に動作できる複数のチャネルをもっており、その1つを
指定しておくと、図に示した制御レジスタのリード/ラ
イトが指定したチャネルの対応レジスタに対して行なわ
れる。0024のアドレスレジスタと0022のカウントレジス
タはデータ転送を行なうゲストメモリ12上のデータの先
頭アドレスとデータの長さを指定する。0028のデバイス
コントロールレジスタ、002Aのモードコントロールレジ
スタは制御の細部を指定する制御レジスタである。これ
らのレジスタは、DMAC内にあってDMACが動作す
るための設定値を与えるレジスタであり、ゲストプロセ
サ10が、DMACを実際に起動するトリガーとなる入出
力制御レジスタをライトした時にホストプロセサ20が一
度に読み込むことが出来れば良く、これらのレジスタの
値が変更される度に、ホストプロセサ20へ割り込みを発
生して処理を行う必要は無い。002EのDMA要求マスク
レジスタは、DMAの起動を抑える指定をするための制
御レジスタである。同時動作をする複数のチャネルに対
する指定が混乱しないようにするためのものである。
DMACの制御レジスタの例を図4(2)に示す。アド
レス0020のイニシャライズレジスタはDMACを初期状
態にすることを指示するためのものである。リードはで
きない。0021のチャネル番号レジスタは動作指定を行な
うDMACのチャネルの指定を行なう。DMACは同時
に動作できる複数のチャネルをもっており、その1つを
指定しておくと、図に示した制御レジスタのリード/ラ
イトが指定したチャネルの対応レジスタに対して行なわ
れる。0024のアドレスレジスタと0022のカウントレジス
タはデータ転送を行なうゲストメモリ12上のデータの先
頭アドレスとデータの長さを指定する。0028のデバイス
コントロールレジスタ、002Aのモードコントロールレジ
スタは制御の細部を指定する制御レジスタである。これ
らのレジスタは、DMAC内にあってDMACが動作す
るための設定値を与えるレジスタであり、ゲストプロセ
サ10が、DMACを実際に起動するトリガーとなる入出
力制御レジスタをライトした時にホストプロセサ20が一
度に読み込むことが出来れば良く、これらのレジスタの
値が変更される度に、ホストプロセサ20へ割り込みを発
生して処理を行う必要は無い。002EのDMA要求マスク
レジスタは、DMAの起動を抑える指定をするための制
御レジスタである。同時動作をする複数のチャネルに対
する指定が混乱しないようにするためのものである。
【0038】これらのレジスタは、ライトしたデータ値
がそのままリード値として読み出せるものが多い。しか
し、リードデータ保持メモリ36R とライトデータ保持メ
モリ36W とに分けたため、そのままではゲストプロセサ
10からのリード要求により、ホストプロセサ20が、ライ
トされたデータをリード側へ複写して、ゲストプロセサ
10へリードデータとして見せる必要が生じてしまう。こ
のため、割込制御メモリ31に、リードデータをライトデ
ータ保持メモリ36Wから読み出す指定を追加し、その指
定によりデータ切替え回路37で切り替えることにしてあ
る。例えばデバイスコントロールレジスタ0028やモード
コントロールレジスタ002A、DMA要求マスクレジスタ
002Eにこの指定をしておけば、リードデータ保持メモリ
36R ではなく、ライトデータ保持メモリ36Wからリード
することになり、ゲストプロセサ10からのライトデータ
を、そのままゲストプロセサ10のリードデータとして読
み込ませることが可能となり、ホストプロセサ20の複写
の処理が介在する必要が無い。
がそのままリード値として読み出せるものが多い。しか
し、リードデータ保持メモリ36R とライトデータ保持メ
モリ36W とに分けたため、そのままではゲストプロセサ
10からのリード要求により、ホストプロセサ20が、ライ
トされたデータをリード側へ複写して、ゲストプロセサ
10へリードデータとして見せる必要が生じてしまう。こ
のため、割込制御メモリ31に、リードデータをライトデ
ータ保持メモリ36Wから読み出す指定を追加し、その指
定によりデータ切替え回路37で切り替えることにしてあ
る。例えばデバイスコントロールレジスタ0028やモード
コントロールレジスタ002A、DMA要求マスクレジスタ
002Eにこの指定をしておけば、リードデータ保持メモリ
36R ではなく、ライトデータ保持メモリ36Wからリード
することになり、ゲストプロセサ10からのライトデータ
を、そのままゲストプロセサ10のリードデータとして読
み込ませることが可能となり、ホストプロセサ20の複写
の処理が介在する必要が無い。
【0039】以下にDMA動作のエミュレーションを順
を追って説明する。 ゲストプロセサ10はDMA要求マスクレジスタ002Eを
ライトしてDMA要求をマスクするように設定する。こ
れは他のDMA 起動を防止するためである。
を追って説明する。 ゲストプロセサ10はDMA要求マスクレジスタ002Eを
ライトしてDMA要求をマスクするように設定する。こ
れは他のDMA 起動を防止するためである。
【0040】ホストプロセサ20に割込がかかるが、ここ
では何もしない。 ゲストプロセサ10はチャネル番号レジスタ0021にチャ
ネル番号をライトする。その内容はライトデータ保持メ
モリ36Wの対応アドレスに保持される。
では何もしない。 ゲストプロセサ10はチャネル番号レジスタ0021にチャ
ネル番号をライトする。その内容はライトデータ保持メ
モリ36Wの対応アドレスに保持される。
【0041】ホストプロセサ20に割込がかかり、ホスト
プロセサ20はこれを認識する。つまりライトデータ保持
メモリの対応するアドレスからチャネル番号を読み出し
て保持する。このあとの入出力制御レジスタへのライト
はその番号のチャネルへの指定と見なす。 ゲストプロセサ10はカウントレジスタ0022、アドレス
レジスタ0024〜0029、および必要な場合はデバイスコン
トロールレジスタ0026、モードコントロールレジスタ00
2Aにライトする。これらの内容はそれぞれライトデータ
保持メモリ36Wの対応アドレスに保持される。
プロセサ20はこれを認識する。つまりライトデータ保持
メモリの対応するアドレスからチャネル番号を読み出し
て保持する。このあとの入出力制御レジスタへのライト
はその番号のチャネルへの指定と見なす。 ゲストプロセサ10はカウントレジスタ0022、アドレス
レジスタ0024〜0029、および必要な場合はデバイスコン
トロールレジスタ0026、モードコントロールレジスタ00
2Aにライトする。これらの内容はそれぞれライトデータ
保持メモリ36Wの対応アドレスに保持される。
【0042】ホストプロセサはなにも知らない。 ゲストプロセサ10はDMA要求マスクレジスタ002Eを
ライトして、で設定したマスクをリセットする。 ゲストプロセサ10は、DMAを要求する入出力装置の
制御レジスタの所定のものにライトしてDMAの起動を
指示する。例えばフロッピディスクやラインプリンタ等
では高速にデータを転送するためDMA転送を要求す
る。その指定は図4(1)のプリンタの制御レジスタと
同様の制御レジスタが個々の入出力装置に対応してあ
り、そのコントロールレジスタに対応するレジスタの所
定のビットをセットすることで示される。
ライトして、で設定したマスクをリセットする。 ゲストプロセサ10は、DMAを要求する入出力装置の
制御レジスタの所定のものにライトしてDMAの起動を
指示する。例えばフロッピディスクやラインプリンタ等
では高速にデータを転送するためDMA転送を要求す
る。その指定は図4(1)のプリンタの制御レジスタと
同様の制御レジスタが個々の入出力装置に対応してあ
り、そのコントロールレジスタに対応するレジスタの所
定のビットをセットすることで示される。
【0043】それにより、ホストプロセサ20に割込がか
かり、ホストプロセサ20はこれを認識する。ホストプロ
セサ20は、ライトデータ保持メモリ36WのDMAC関連
のアドレスから必要な情報を読み出して自分のホストバ
ス21上にあるDMAC24に設定し、起動する。なお、D
MAC24の制御レジスタの仕様はゲストプロセサ10が想
定している制御レジスタの仕様とは完全に一致するとは
限らない。また、これはホストの入出力アドレス空間に
おけるすべての入出力制御レジスタについても言えるこ
とである。それらの違いは入出力エミュレーションプロ
グラムが変換処理を行なう。起動されたDMAC24は、
指定に従ってゲストメモリ12と入出力装置23との間のデ
ータ転送をホストプロセサ20のホストバス21上で行な
う。あるいはホストメモリ22と入出力装置23との間でデ
ータ転送を行い、ホストメモリ22とゲストメモリ12との
転送をホストプロセサ20に委ねてもよい。
かり、ホストプロセサ20はこれを認識する。ホストプロ
セサ20は、ライトデータ保持メモリ36WのDMAC関連
のアドレスから必要な情報を読み出して自分のホストバ
ス21上にあるDMAC24に設定し、起動する。なお、D
MAC24の制御レジスタの仕様はゲストプロセサ10が想
定している制御レジスタの仕様とは完全に一致するとは
限らない。また、これはホストの入出力アドレス空間に
おけるすべての入出力制御レジスタについても言えるこ
とである。それらの違いは入出力エミュレーションプロ
グラムが変換処理を行なう。起動されたDMAC24は、
指定に従ってゲストメモリ12と入出力装置23との間のデ
ータ転送をホストプロセサ20のホストバス21上で行な
う。あるいはホストメモリ22と入出力装置23との間でデ
ータ転送を行い、ホストメモリ22とゲストメモリ12との
転送をホストプロセサ20に委ねてもよい。
【0044】図7に第3の発明を回路(レジスタ、メモ
リ等)100 間または装置間で受け渡す場合に適用した実
施例を示す。データビットは8ビット(偶数)である。
書込み側(送り側)では、1ビットの冗長ビットを付加
し、それを常に‘1’にセットする。パリティビットは
奇数パリティ方式とする。すなわちパリティビット生成
回路101 は、本来のデータ8ビットと冗長ビット1ビッ
ト、パリティビット自身の1ビットの計10ビットの
‘1’の数が奇数になるようにパリティビットの値を決
める。読み出し側(受ける側)ではパリティチェック回
路102 で普通のパリティチェックを行なえば、通常のパ
リティチェックと同じエラーチェックができるほかに、
全ビットが‘1’または‘0’になるエラーも検出でき
る。ついでに、常に‘1’である冗長ビットが‘1’で
あるかどうかもチェックすればより確実である。
リ等)100 間または装置間で受け渡す場合に適用した実
施例を示す。データビットは8ビット(偶数)である。
書込み側(送り側)では、1ビットの冗長ビットを付加
し、それを常に‘1’にセットする。パリティビットは
奇数パリティ方式とする。すなわちパリティビット生成
回路101 は、本来のデータ8ビットと冗長ビット1ビッ
ト、パリティビット自身の1ビットの計10ビットの
‘1’の数が奇数になるようにパリティビットの値を決
める。読み出し側(受ける側)ではパリティチェック回
路102 で普通のパリティチェックを行なえば、通常のパ
リティチェックと同じエラーチェックができるほかに、
全ビットが‘1’または‘0’になるエラーも検出でき
る。ついでに、常に‘1’である冗長ビットが‘1’で
あるかどうかもチェックすればより確実である。
【0045】
【発明の効果】以上説明したように、第1の発明、およ
び第2の発明によればホストプロセサ20への割込を必要
最小限にすることができ、ホストプロセサ20の無駄な処
理を削減することになり、全体の処理能力を向上させる
ことができる。
び第2の発明によればホストプロセサ20への割込を必要
最小限にすることができ、ホストプロセサ20の無駄な処
理を削減することになり、全体の処理能力を向上させる
ことができる。
【0046】第3の発明のチェック回路によれば、パリ
ティチェックによって全ビットが‘1’または‘0’に
なるエラーも必ず検出できる。
ティチェックによって全ビットが‘1’または‘0’に
なるエラーも必ず検出できる。
【図1】 本発明の構成図
【図2】 アドレス空間上のレジスタの対応
【図3】 従来の入出力エミュレーション回路の構成図
【図4】 入出力制御レジスタの例
【図5】 パリティチェックでの全ビット‘0’‘1’
の検出能力
の検出能力
【図6】 本発明のデータチェックの原理
【図7】 第3の発明の実施例のデータチェック回路
10 ゲストプロセサ 11 ゲストバス 12 ゲストメモリ 20 ホストプロセサ 21 ホストバス 22 ホストメモリ 23 入出力装置 24 DMAC(DMAコ
ントローラ) 30 入出力エミュレーション回路 31 割込制御メモリ 32R 入力割込マスク 32W 出力割込マスク 33 割込トリガ回路 33R 入力割込トリガ 33W 出力割込トリガ 34 レデイ制御回路 35 アドレス保持レジスタ 36 データ保持レジスタ 36R リードデータ保持メモリ 36W ライトデータ保
持メモリ 37 データ切替え回路 100 レジスタ/メモリ/通信路 101 パリティビット生成回路 102 パリティチェ
ック回路 103 論理否定回路 104 論理和回路
ントローラ) 30 入出力エミュレーション回路 31 割込制御メモリ 32R 入力割込マスク 32W 出力割込マスク 33 割込トリガ回路 33R 入力割込トリガ 33W 出力割込トリガ 34 レデイ制御回路 35 アドレス保持レジスタ 36 データ保持レジスタ 36R リードデータ保持メモリ 36W ライトデータ保
持メモリ 37 データ切替え回路 100 レジスタ/メモリ/通信路 101 パリティビット生成回路 102 パリティチェ
ック回路 103 論理否定回路 104 論理和回路
Claims (3)
- 【請求項1】 アドレス保持レジスタ(35)と、データ
保持レジスタと、割込トリガ回路(33)とレデイ制御回
路(34)とを有し、 ゲストプロセサ(10)の行なう入出力動作を制御するた
めの、ゲストバス(11)のアドレス空間にマッピングさ
れた入出力制御レジスタへのリード/ライトを検出して
アドレスとコマンドとをアドレス保持レジスタ(35)に
セットし、割込トリガ回路(33)をセットしてホストプ
ロセサ(20)に割込をかけ、ホストプロセサ(20)から
レデイ制御回路(34)への書込みによる応答があれば割
込トリガ回路(33)をリセットし、ゲストバス(11)で
のレデイ応答を返し、 ホストプロセサ(20)が必要とする制御レジスタアドレ
スおよびコマンドをアドレス保持レジスタ(35)を介し
て、また必要なデータをデータ保持レジスタを介して受
渡す入出力エミュレーション回路において、 ゲストプロセサ(10)の入出力アドレス空間に対応させ
て、ライト用割込制御ビット(IW)とリード用割込制御
ビット(IR)との2ビットを保持する割込制御メモリ
(31)を設け、 データ保持レジスタに代えて、リードデータ保持メモリ
(36R)と、ライトデータ保持メモリ(36W)とを、そ
れぞれゲストプロセサ(10)の入出力アドレス空間に対
応させて備え、 割込トリガ回路(33)は、ゲストプロセサ(10)の入出
力制御レジスタを指定するゲストバス(11)のアドレス
とライト/リードを区別するコマンドとにより、割込制
御メモリ(31)から読み出した出力のライト用割込制御
ビット(IW)とリード用割込制御ビット(IR)に従って
ホストプロセサ(20)へ割込をかけるか否かを決定し、
ホストプロセサ(20)へ割込をかけないときは、レデイ
制御回路(34)が直接レデイ応答信号を返してゲストバ
ス(11)上の動作を終了させ、 ゲストバス(11)上の入出力制御レジスタへのライトデ
ータはライトデータ保持メモリ(36W)に書込み、リー
ドデータはリードデータ保持メモリ(36R)から読み出
し、 ホストバス(21)上ではライトデータはリードデータ保
持メモリ(36R)に書込み、リードデータはライトデー
タ保持メモリ(36W)から読み出すように構成したこと
を特徴とする入出力エミュレーション回路。 - 【請求項2】 割込制御メモリ(31) のエントリとし
て、1ビットのデータ切替えビット(W)をさらに追加
して設け、 ゲストプロセサ(10) からのリードアクセスにおいて、
このデータ切替えビット(W)の指定に従って、リード
データ保持メモリ(36R) またはライトデータ保持メモ
リ(36W)のどちらにアクセスを行うかを選択するよう
に構成したことを特徴とする請求項1に記載の入出力エ
ミュレーション回路。 - 【請求項3】 パリティチェック回路において、 本来のデータを表すデータビットの数が偶数の場合に、
1ビットの冗長ビットを付加し、パリティビットを含め
て全体のビット数を偶数とし、 データをセットするときは、パリティビットの値を全体
の‘1’の数が奇数になるように設定し、 データを読むときは全ビットの‘1’の数が偶数である
ときエラーとして検出するデータチェック回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6038959A JPH07248927A (ja) | 1994-03-10 | 1994-03-10 | 入出力エミュレーション回路およびデータチェック回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6038959A JPH07248927A (ja) | 1994-03-10 | 1994-03-10 | 入出力エミュレーション回路およびデータチェック回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07248927A true JPH07248927A (ja) | 1995-09-26 |
Family
ID=12539725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6038959A Withdrawn JPH07248927A (ja) | 1994-03-10 | 1994-03-10 | 入出力エミュレーション回路およびデータチェック回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07248927A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09319562A (ja) * | 1995-12-21 | 1997-12-12 | Mitsubishi Electric Corp | 複合計算機システム及び複合計算機システムへのインストール/アンインストール方法 |
WO1998043173A1 (fr) * | 1997-03-24 | 1998-10-01 | Seiko Epson Corporation | Systeme d'emulation et processeur de donnees |
CN106951391A (zh) * | 2017-02-15 | 2017-07-14 | 合肥芯荣微电子有限公司 | 一种芯片内点对点互连总线访问屏蔽系统和方法 |
-
1994
- 1994-03-10 JP JP6038959A patent/JPH07248927A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09319562A (ja) * | 1995-12-21 | 1997-12-12 | Mitsubishi Electric Corp | 複合計算機システム及び複合計算機システムへのインストール/アンインストール方法 |
WO1998043173A1 (fr) * | 1997-03-24 | 1998-10-01 | Seiko Epson Corporation | Systeme d'emulation et processeur de donnees |
US6366877B1 (en) | 1997-03-24 | 2002-04-02 | Seiko Epson Corporation | Method and device for emulation of peripheral input/output (I/O) controller of a computer system |
CN106951391A (zh) * | 2017-02-15 | 2017-07-14 | 合肥芯荣微电子有限公司 | 一种芯片内点对点互连总线访问屏蔽系统和方法 |
CN106951391B (zh) * | 2017-02-15 | 2020-02-11 | 合肥芯荣微电子有限公司 | 一种芯片内点对点互连总线访问屏蔽系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6711059B2 (en) | Memory controller | |
KR100341180B1 (ko) | 가상어드레싱버퍼회로,및어드레스번역방법,시스템bios의셰도잉방법,실제메모리최적화방법,실제메모리이용방법,cpu제어시스템에서의에뮬레이팅방법및cpu요청리디렉트방법 | |
KR101562973B1 (ko) | 메모리 장치 및 메모리 장치의 동작 방법 | |
JP2004005613A (ja) | 専用フラッシュコントローラを使用してフラッシュベースストレージシステムの性能を改善するための方法 | |
JPS6097458A (ja) | デ−タ転送装置 | |
JPH0232659B2 (ja) | ||
JP3628373B2 (ja) | 電力管理ユニット、コンピュータシステム、およびコンピュータシステムの電力管理ユニット内の複数個の構成レジスタをアクセスする方法 | |
US5414815A (en) | Method and apparatus for transferring data directly between a memory device and a peripheral device in a single address cycle under the control of a processor | |
JPH07248927A (ja) | 入出力エミュレーション回路およびデータチェック回路 | |
US4814977A (en) | Apparatus and method for direct memory to peripheral and peripheral to memory data transfers | |
JP3635996B2 (ja) | 情報処理システム | |
US4628450A (en) | Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor | |
US6813671B1 (en) | Controller for hot swapping of extended I/O device to computer body | |
JPH03656B2 (ja) | ||
JPH10198524A (ja) | ハードディスク制御装置 | |
JP3201439B2 (ja) | ダイレクト・メモリ・アクセス・制御回路 | |
JP3006487B2 (ja) | エミュレーション装置 | |
JPH05108493A (ja) | メモリ制御方式 | |
JP2003296130A (ja) | マイクロコンピュータ | |
JPH0782447B2 (ja) | Dmaデータ転送制御装置 | |
JPH06175929A (ja) | 二重化主記憶装置 | |
JPH05134971A (ja) | コンピユータ装置 | |
JPH1027153A (ja) | バス転送装置 | |
JPH04242453A (ja) | 記憶装置の切替制御装置 | |
JPS6265149A (ja) | メモリ管理ユニツト書き換え方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20010605 |