JP2557366B2 - 入出力手順変換装置 - Google Patents
入出力手順変換装置Info
- Publication number
- JP2557366B2 JP2557366B2 JP62040027A JP4002787A JP2557366B2 JP 2557366 B2 JP2557366 B2 JP 2557366B2 JP 62040027 A JP62040027 A JP 62040027A JP 4002787 A JP4002787 A JP 4002787A JP 2557366 B2 JP2557366 B2 JP 2557366B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- cpu
- conversion
- space
- output
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1012—Design facilitation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Description
【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、ある計算機で作成された入出力装置に対す
る制御プログラムを、これとは異なる計算機環境内の入
出力装置に適用するための入出力手順変換装置に関す
る。
る制御プログラムを、これとは異なる計算機環境内の入
出力装置に適用するための入出力手順変換装置に関す
る。
(従来の技術) ある計算機で開発されたプログラムを、これとは異な
る計算機で実行する場合、そのままのプログラムでは計
算機が良好に稼動しないことが多い。その原因は、これ
らの計算機が、たとえ同じ型式のCPU(中央処理装置)
を備えていても、入出力の実現方法、入出力装置の接続
番地、割込み処理の方法等を異にしているケースが多い
からである。つまり、予めオペレーティングシステムで
用意された入出力管理、メモリ管理用の入出力サービス
ルーチンのみを入出力の手段として利用するプログラム
の場合には、移植する計算機においても同じオペレーテ
ィングシステムが稼動しさえすれば、同様に稼動させる
ことができる。しかし、例えばビットマップディスプレ
イ装置にデータを出力する場合や高速の入出力動作を必
要とする場合などは、オペレーティングシステムを介さ
ずに直接入出力処理を行わなければならない。このよう
なプログラムを移植する場合には、そのソースプログラ
ムの入出力の部分を改造し、再コンパイルするか、若し
くは元のシステムの計算機環境を実現するようなエミュ
レーションのプログラムを走らせた上で当該プログラム
を走らせる必要があった。
る計算機で実行する場合、そのままのプログラムでは計
算機が良好に稼動しないことが多い。その原因は、これ
らの計算機が、たとえ同じ型式のCPU(中央処理装置)
を備えていても、入出力の実現方法、入出力装置の接続
番地、割込み処理の方法等を異にしているケースが多い
からである。つまり、予めオペレーティングシステムで
用意された入出力管理、メモリ管理用の入出力サービス
ルーチンのみを入出力の手段として利用するプログラム
の場合には、移植する計算機においても同じオペレーテ
ィングシステムが稼動しさえすれば、同様に稼動させる
ことができる。しかし、例えばビットマップディスプレ
イ装置にデータを出力する場合や高速の入出力動作を必
要とする場合などは、オペレーティングシステムを介さ
ずに直接入出力処理を行わなければならない。このよう
なプログラムを移植する場合には、そのソースプログラ
ムの入出力の部分を改造し、再コンパイルするか、若し
くは元のシステムの計算機環境を実現するようなエミュ
レーションのプログラムを走らせた上で当該プログラム
を走らせる必要があった。
しかしながら、一度作成されたソースプログラムを改
造して再コンパイルする方法は、移植しようとする全て
のプログラムについて行わなければならず、その修正に
多大なコストがかかるという問題があった。
造して再コンパイルする方法は、移植しようとする全て
のプログラムについて行わなければならず、その修正に
多大なコストがかかるという問題があった。
また、プログラムの互換性確保をエミュレーションの
ソフトで実現すると、大幅に実行速度が低下するため、
リアルタイム処理用のプログラムなど実行時間が問題と
なるプログラムでは移植が困難であった。
ソフトで実現すると、大幅に実行速度が低下するため、
リアルタイム処理用のプログラムなど実行時間が問題と
なるプログラムでは移植が困難であった。
(発明が解決しようとする問題点) このように、従来、ある計算機で作成された入出力制
御に関するプログラムを、他の計算機環境内の入出力装
置に適用させる場合、プログラム自体を修正したり、エ
ミュレーションプログラムを実行させる必要があり、プ
ログラム修正に多大なコストがかかったり、実行速度が
低下する等の問題があった。
御に関するプログラムを、他の計算機環境内の入出力装
置に適用させる場合、プログラム自体を修正したり、エ
ミュレーションプログラムを実行させる必要があり、プ
ログラム修正に多大なコストがかかったり、実行速度が
低下する等の問題があった。
本発明は、かかる問題に鑑みなされたもので、プログ
ラムを修正する必要がなく、実行速度の低下も招かない
入出力手順変換装置を提供することを目的とする。
ラムを修正する必要がなく、実行速度の低下も招かない
入出力手順変換装置を提供することを目的とする。
[発明の構成] (問題点を解決するための手段) 本発明に係る入出力手順変換装置は、第1のCPUのI/O
空間のアドレスと第2のCPUのI/O空間のアドレスとのア
ドレス変換関係を格納する格納手段と、前記第1のCPU
と前記第2のCPUを接続するバスに前記第2のCPUからI/
O空間のアドレスが出力された場合、該アドレスを前記
格納手段に格納されたアドレス変換関係に基づいて前記
第1のCPUのI/O空間のアドレスに変換する変換手段とを
具備し、前記第1のCPUのI/O空間のアドレスに基づいて
制御されるI/O装置を、前記変換手段により得られたア
ドレスを用いて動作させることを特徴とする。
空間のアドレスと第2のCPUのI/O空間のアドレスとのア
ドレス変換関係を格納する格納手段と、前記第1のCPU
と前記第2のCPUを接続するバスに前記第2のCPUからI/
O空間のアドレスが出力された場合、該アドレスを前記
格納手段に格納されたアドレス変換関係に基づいて前記
第1のCPUのI/O空間のアドレスに変換する変換手段とを
具備し、前記第1のCPUのI/O空間のアドレスに基づいて
制御されるI/O装置を、前記変換手段により得られたア
ドレスを用いて動作させることを特徴とする。
また、本発明に係る入出力手順変換装置は、第1のCP
UのI/O空間のアドレスと第2のCPUのI/O空間のアドレス
とのアドレス変換関係を格納する格納手段と、前記第1
のCPUと前記第2のCPUを接続するバスに前記第2のCPU
からI/O空間のアドレスが出力され、かつ該アドレスの
アドレス変換が困難でない場合に、前記バスに出力され
た前記第2のCPUからのアドレスを前記格納手段に格納
されたアドレス変換関係に基づいて前記第1のCPUのI/O
空間のアドレスに変換する変換手段と、前記第1のCPU
と前記第2のCPUを接続するバスに前記第2のCPUからI/
O空間のアドレスが出力され、かつ該アドレスのアドレ
ス変換が困難である場合に、前記バスに出力された前記
第2のCPUからのアドレスを、前記第1のCPUのI/O空間
のアドレスに変換処理を行うように前記第1のCPUに指
示する指示手段とを具備し、前記第1のCPUのI/O空間の
アドレスに基づいて制御されるI/O装置を、前記変換手
段により得られたアドレスあるいは前記指示手段の指示
により前記第1のCPUが変換したアドレスを用いて動作
させることを特徴とする。
UのI/O空間のアドレスと第2のCPUのI/O空間のアドレス
とのアドレス変換関係を格納する格納手段と、前記第1
のCPUと前記第2のCPUを接続するバスに前記第2のCPU
からI/O空間のアドレスが出力され、かつ該アドレスの
アドレス変換が困難でない場合に、前記バスに出力され
た前記第2のCPUからのアドレスを前記格納手段に格納
されたアドレス変換関係に基づいて前記第1のCPUのI/O
空間のアドレスに変換する変換手段と、前記第1のCPU
と前記第2のCPUを接続するバスに前記第2のCPUからI/
O空間のアドレスが出力され、かつ該アドレスのアドレ
ス変換が困難である場合に、前記バスに出力された前記
第2のCPUからのアドレスを、前記第1のCPUのI/O空間
のアドレスに変換処理を行うように前記第1のCPUに指
示する指示手段とを具備し、前記第1のCPUのI/O空間の
アドレスに基づいて制御されるI/O装置を、前記変換手
段により得られたアドレスあるいは前記指示手段の指示
により前記第1のCPUが変換したアドレスを用いて動作
させることを特徴とする。
(作用) 本発明では、特定の計算機環境内で作成されたプログ
ラムで、他の計算機環境に存在する入出力装置を制御し
ようとすると、上記変換手段、あるいは上記指示手段が
動作して、上記特定の計算機環境における入出力装置の
アドレス及び入出力手順のデータを前記他の計算機環境
におけるそれらの情報に変換するので、前記特定の計算
機環境におけるプログラムをなんら修正することなく、
前記他の計算機環境下に配置された入出力装置を制御す
ることができる。
ラムで、他の計算機環境に存在する入出力装置を制御し
ようとすると、上記変換手段、あるいは上記指示手段が
動作して、上記特定の計算機環境における入出力装置の
アドレス及び入出力手順のデータを前記他の計算機環境
におけるそれらの情報に変換するので、前記特定の計算
機環境におけるプログラムをなんら修正することなく、
前記他の計算機環境下に配置された入出力装置を制御す
ることができる。
(実施例) 以下、本発明の一実施例を図面に基づき説明する。
第1図は、本発明を適用した計算機システムの構成を
示す図である。このシステムにおいて、全体の制御を司
るメインCPU1と、プログラム移植の対象となるサブCPU
2、3とは、第1のアドレスバス4及び第1のデータバ
ス5を介して接続されている。一方、メインメモリ6
と、入出力の対象となるI/O装置7,8,9とは、第2のアド
レスバス10及びデータバス11を介して接続されている。
更に上記第1のアドレスバス4,データバス5と、第2の
アドレスバス10,データバス11とは、仮想アドレスを実
アドレスに変換する仮想アドレス変換部(以下「MMU」
と呼ぶ)12と、CPU間で入出力処理を変換する仮想環境
変換部(以下「RMU」と呼ぶ)13とをそれぞれ介して接
続されている。そして、上記各CPU1〜3及び各I/O7〜9
からのコントロールバス14〜19は、それぞれRMU13に接
続されている。
示す図である。このシステムにおいて、全体の制御を司
るメインCPU1と、プログラム移植の対象となるサブCPU
2、3とは、第1のアドレスバス4及び第1のデータバ
ス5を介して接続されている。一方、メインメモリ6
と、入出力の対象となるI/O装置7,8,9とは、第2のアド
レスバス10及びデータバス11を介して接続されている。
更に上記第1のアドレスバス4,データバス5と、第2の
アドレスバス10,データバス11とは、仮想アドレスを実
アドレスに変換する仮想アドレス変換部(以下「MMU」
と呼ぶ)12と、CPU間で入出力処理を変換する仮想環境
変換部(以下「RMU」と呼ぶ)13とをそれぞれ介して接
続されている。そして、上記各CPU1〜3及び各I/O7〜9
からのコントロールバス14〜19は、それぞれRMU13に接
続されている。
上記システムにおいて、MMU12は、第2図に示すよう
に内部に変換テーブル21を持ち、入力された仮想アドレ
スと、この仮想アドレスを発生させたCPUの番号とをデ
コードしてメインメモリ6における実アドレスに変換す
る。これにより、各CPU1〜3がそれぞれ見たメインメモ
リ空間のアドレスの整合をとることができる。なお、デ
ータについては、特に変換処理はなされない。
に内部に変換テーブル21を持ち、入力された仮想アドレ
スと、この仮想アドレスを発生させたCPUの番号とをデ
コードしてメインメモリ6における実アドレスに変換す
る。これにより、各CPU1〜3がそれぞれ見たメインメモ
リ空間のアドレスの整合をとることができる。なお、デ
ータについては、特に変換処理はなされない。
また、RMU13は、各CPU1〜3とメインメモリ6及びI/O
装置7〜9との間で、仮想的なI/Oアドレス、I/Oデータ
及び割込み制御情報等を変換する機能を有し、これによ
り、実質的に任意のCPU間、例えばサブCPU2からメインC
PU1へのアドレス、データ、割込み信号の変換が可能に
なる。
装置7〜9との間で、仮想的なI/Oアドレス、I/Oデータ
及び割込み制御情報等を変換する機能を有し、これによ
り、実質的に任意のCPU間、例えばサブCPU2からメインC
PU1へのアドレス、データ、割込み信号の変換が可能に
なる。
このRMU13を更に詳述すると、第3図に示すように、
このRMU13は、マイクロプログラム格納部31に格納され
た変換用のマイクロプログラムをコントロール部32の制
御の下にマイクロ演算部33で演算処理して内部レジスタ
34に格納されたI/Oアドレス、I/Oデータ、割込み情報等
の情報を変換処理するようにしたもので、上記マイクロ
演算部33と内部レジスタ34とで変換部を構成している。
なお、CPU側には、CPU側からRMU13に入力される各種情
報を一時的に格納するCPU側アドレスレジスタ35、同デ
ータレジスタ36、同割込みレジスタ37が設けられ、周辺
機器側には上記内部レジスタ34で変換処理された各種情
報を一時格納するための周辺機器側アドレスレジスタ3
8、同データレジスタ39、同割込みレジスタ40が設けら
れている。上記CPU側アドレスレジスタ35には、アドレ
ス一致検出回路41が接続されており、上記CPU側アドレ
スレジスタ35に格納されたアドレスの値が検出回路41に
備えられているアドレス(アドレス変換を不要とするア
ドレス)と一致した場合に、マイクロ演算部にアドレス
変換不要を指定する信号を出力する。また、CPU側割込
みレジスタ37と周辺機器側割込みレジスタ40には、それ
ぞれ割込み信号検出回路42,43が接続されており、これ
ら割込み信号検出回路42,43からの検出信号によって、
マイクロ演算部33は適宜演算処理の実行を中断する。
このRMU13は、マイクロプログラム格納部31に格納され
た変換用のマイクロプログラムをコントロール部32の制
御の下にマイクロ演算部33で演算処理して内部レジスタ
34に格納されたI/Oアドレス、I/Oデータ、割込み情報等
の情報を変換処理するようにしたもので、上記マイクロ
演算部33と内部レジスタ34とで変換部を構成している。
なお、CPU側には、CPU側からRMU13に入力される各種情
報を一時的に格納するCPU側アドレスレジスタ35、同デ
ータレジスタ36、同割込みレジスタ37が設けられ、周辺
機器側には上記内部レジスタ34で変換処理された各種情
報を一時格納するための周辺機器側アドレスレジスタ3
8、同データレジスタ39、同割込みレジスタ40が設けら
れている。上記CPU側アドレスレジスタ35には、アドレ
ス一致検出回路41が接続されており、上記CPU側アドレ
スレジスタ35に格納されたアドレスの値が検出回路41に
備えられているアドレス(アドレス変換を不要とするア
ドレス)と一致した場合に、マイクロ演算部にアドレス
変換不要を指定する信号を出力する。また、CPU側割込
みレジスタ37と周辺機器側割込みレジスタ40には、それ
ぞれ割込み信号検出回路42,43が接続されており、これ
ら割込み信号検出回路42,43からの検出信号によって、
マイクロ演算部33は適宜演算処理の実行を中断する。
以上の構成において、サブCPU2からメインCPU1への変
換を例にとると、第4図に示すように、まずサブCPU2
は、サブCPU空間51に必要なアクセスを行う。
換を例にとると、第4図に示すように、まずサブCPU2
は、サブCPU空間51に必要なアクセスを行う。
サブCPU空間51のメモリ空間の仮想アドレスと、メイ
ンCPU空間52のメモリ空間の仮想アドレスとは、MMU12を
介してメインメモリ6の同一の実アドレスを指定してい
るので、上記MMU12のアドレス変換機能を介してサブCPU
空間51に対するアクセスは、メインCPU空間52の対応す
るアドレスに対するアクセスに変換される。
ンCPU空間52のメモリ空間の仮想アドレスとは、MMU12を
介してメインメモリ6の同一の実アドレスを指定してい
るので、上記MMU12のアドレス変換機能を介してサブCPU
空間51に対するアクセスは、メインCPU空間52の対応す
るアドレスに対するアクセスに変換される。
一方、サブCPU2がサブCPU空間51のI/O空間にアクセス
すると、メインCPU空間52において制御されていたI/O装
置7〜9を起動できる。この場合には、サブCPU空間51
で制御を予定していたI/O装置と、メインCPU空間52で用
意されているI/O装置とが同一である場合と、異なる場
合とでその入出力手順の変換処理に難易を生ずることが
予想される。したがって、この実施例では、入出力手順
が容易な場合には、RMU13のみによる変換を行ない、変
換が困難な場合には、上記RMU13の変換処理の他にメイ
ンCPU空間52に用意されたインタフェースプログラムの
助けを借りることにしている。このため、RMU13はサブC
PU空間51のI/Oアドレスに応じ、そのアドレスをメインC
PU空間52における対応するアドレスに単に変換するだけ
の処理と、サブCPU空間51に書込まれた入出力プログラ
ムをメインCPU空間52におけるインタフェース処理プロ
グラムの引数エリアに書込む処理の2通りの処理を行
う。また、データについては、例えば16ビットデータの
上位バイトと下位バイトのメモリへの格納順序が異なる
機器間でいわゆるデータスワッピング処理等の変換処理
が行われる。また、RMU13は、サブCPU2とメインCPU1と
の間の割込み信号のタイミング、形態等の整合をとるた
めの変換を行う。
すると、メインCPU空間52において制御されていたI/O装
置7〜9を起動できる。この場合には、サブCPU空間51
で制御を予定していたI/O装置と、メインCPU空間52で用
意されているI/O装置とが同一である場合と、異なる場
合とでその入出力手順の変換処理に難易を生ずることが
予想される。したがって、この実施例では、入出力手順
が容易な場合には、RMU13のみによる変換を行ない、変
換が困難な場合には、上記RMU13の変換処理の他にメイ
ンCPU空間52に用意されたインタフェースプログラムの
助けを借りることにしている。このため、RMU13はサブC
PU空間51のI/Oアドレスに応じ、そのアドレスをメインC
PU空間52における対応するアドレスに単に変換するだけ
の処理と、サブCPU空間51に書込まれた入出力プログラ
ムをメインCPU空間52におけるインタフェース処理プロ
グラムの引数エリアに書込む処理の2通りの処理を行
う。また、データについては、例えば16ビットデータの
上位バイトと下位バイトのメモリへの格納順序が異なる
機器間でいわゆるデータスワッピング処理等の変換処理
が行われる。また、RMU13は、サブCPU2とメインCPU1と
の間の割込み信号のタイミング、形態等の整合をとるた
めの変換を行う。
次に具体的な例について説明する。
第5図はサブCPU2でメインCPU1の制御下にある周辺機
器53を起動する例である。サブCPU2が周辺機器53に文字
“A"を出力させるため、サブCPU空間51の周辺機器入出
力用インタフェースレジスタが割当てられている仮想ア
ドレス“100,101"に“A"、“出力せよ”のデータを書込
むと、RMU13は、仮想アドレスが“100,101"であること
から、単純なアドレス変換処理で良いことを知る。この
知識は予めメインCPU1によって与えられている。RMU13
はアドレス変換機能を用いてメインCPU空間52における
周辺機器入出力用インタフェースレジスタとなるアドレ
ス“300,301"に“A"、“出力せよ”の入出力手順を書込
む。これにより、周辺機器53上に“A"というデータが出
力表示されることになる。
器53を起動する例である。サブCPU2が周辺機器53に文字
“A"を出力させるため、サブCPU空間51の周辺機器入出
力用インタフェースレジスタが割当てられている仮想ア
ドレス“100,101"に“A"、“出力せよ”のデータを書込
むと、RMU13は、仮想アドレスが“100,101"であること
から、単純なアドレス変換処理で良いことを知る。この
知識は予めメインCPU1によって与えられている。RMU13
はアドレス変換機能を用いてメインCPU空間52における
周辺機器入出力用インタフェースレジスタとなるアドレ
ス“300,301"に“A"、“出力せよ”の入出力手順を書込
む。これにより、周辺機器53上に“A"というデータが出
力表示されることになる。
次に、第6図にはサブCPU2でカラープロッタ上に文字
を出力する例を示す。
を出力する例を示す。
いま、カラープロッタがメインCPU1の制御下に存在せ
ず、カラーグラフィクディスプレイ54がこれに代わるも
のとして用意されている場合には、入出力変換手順は多
少複雑になる。即ち、サブCPU2は、サブCPU空間51のI/O
空間のカラープロッタ用インタフェースが用意されてい
る仮想アドレス“200"から入出力手順を書込む。RMU13
は、仮想アドレス200に書込まれた手順の変換が複雑で
あることをメインCPU1からの情報により知っているの
で、メインCPU1の変換ルーチンを呼出す必要があると判
断する。したがって、RMU13は、アドレス変換機能によ
ってメインCPU空間52におけるインタフェース処理プロ
グラムの「プロッタ用変換ルーチン」の引数エリア(ア
ドレス100から始まる)に、サブCPU空間51に書込んだ入
出力プログラムを書込む(a)。サブCPU2が仮想アドレ
ス“204"の“出力せよ”の実行命令を書込み、RMU13が
その内容をメインCPU空間52における仮想アドレス“10
5"に書込んだら、RMU13は、メインCPU1を起動するた
め、メインCPU1に対しデータ変換処理用の割込みを発生
させる(b)。
ず、カラーグラフィクディスプレイ54がこれに代わるも
のとして用意されている場合には、入出力変換手順は多
少複雑になる。即ち、サブCPU2は、サブCPU空間51のI/O
空間のカラープロッタ用インタフェースが用意されてい
る仮想アドレス“200"から入出力手順を書込む。RMU13
は、仮想アドレス200に書込まれた手順の変換が複雑で
あることをメインCPU1からの情報により知っているの
で、メインCPU1の変換ルーチンを呼出す必要があると判
断する。したがって、RMU13は、アドレス変換機能によ
ってメインCPU空間52におけるインタフェース処理プロ
グラムの「プロッタ用変換ルーチン」の引数エリア(ア
ドレス100から始まる)に、サブCPU空間51に書込んだ入
出力プログラムを書込む(a)。サブCPU2が仮想アドレ
ス“204"の“出力せよ”の実行命令を書込み、RMU13が
その内容をメインCPU空間52における仮想アドレス“10
5"に書込んだら、RMU13は、メインCPU1を起動するた
め、メインCPU1に対しデータ変換処理用の割込みを発生
させる(b)。
一方、メインCPU1は、この割込みによりプロッタ用変
換ルーチン(アドレス“200"から始まる)を起動し、引
数エリア100〜の内容を参照しつつ上記プロッタ用変換
ルーチンを実行する(c)。このルーチンでは、対応す
るサイズの変換と色の変換とが行われる。すなわち、プ
ロッタの画面のサイズとグラフィックディスプレイ54の
画面サイズとが一般に異なるので、表示する位置をこの
例では縦、横それぞれ2倍に拡大している。また、黄色
を発生させるのに、プロッタでは黄色のペンを指定すれ
ば良いが、グラフィックディスプレイ54では赤色と緑色
の発光を指定しなければならないので、グラフィックデ
ィスプレイ54の赤画面と緑画面の両方に文字“A"を書込
むように手順を変換する必要がある(d,e)。
換ルーチン(アドレス“200"から始まる)を起動し、引
数エリア100〜の内容を参照しつつ上記プロッタ用変換
ルーチンを実行する(c)。このルーチンでは、対応す
るサイズの変換と色の変換とが行われる。すなわち、プ
ロッタの画面のサイズとグラフィックディスプレイ54の
画面サイズとが一般に異なるので、表示する位置をこの
例では縦、横それぞれ2倍に拡大している。また、黄色
を発生させるのに、プロッタでは黄色のペンを指定すれ
ば良いが、グラフィックディスプレイ54では赤色と緑色
の発光を指定しなければならないので、グラフィックデ
ィスプレイ54の赤画面と緑画面の両方に文字“A"を書込
むように手順を変換する必要がある(d,e)。
この制御手順を実行するには、カラーディスプレイ54
のI/O空間のアドレス“300"から一連の命令を2回書込
めば良い。つまり、第6図に示すように1回目は、アド
レス“300"から“304"にかけて「赤画面に(20,20)の
位置から文字“A"を出力せよ」という制御手順を書込
み、2回目は、アドレス“300"から“304"にかけて「緑
画面に(20,20)の位置から文字“A"を出力せよ」とい
う制御手順を書込む。これにより、カラーグラフィック
ディスプレイ54上の指定位置に黄色の文字“A"を表示さ
せることができる。そして処理が終了し、制御がメイン
CPU1からRMU13へ戻り(f)、更にはサブCPU2へ戻る。
のI/O空間のアドレス“300"から一連の命令を2回書込
めば良い。つまり、第6図に示すように1回目は、アド
レス“300"から“304"にかけて「赤画面に(20,20)の
位置から文字“A"を出力せよ」という制御手順を書込
み、2回目は、アドレス“300"から“304"にかけて「緑
画面に(20,20)の位置から文字“A"を出力せよ」とい
う制御手順を書込む。これにより、カラーグラフィック
ディスプレイ54上の指定位置に黄色の文字“A"を表示さ
せることができる。そして処理が終了し、制御がメイン
CPU1からRMU13へ戻り(f)、更にはサブCPU2へ戻る。
以上の本実施例によれば、RMU13における変換処理に
より、サブCPU2のプログラムをなんら修正することなし
に、メインCPU1の制御下にある機器を制御することがで
きる。しかも、この実施例では、変換手順が複雑でRMU1
3におけるマイクロプログラムのみでは変換が困難な場
合に、メインCPU1の変換プログラムで変換処理を補うよ
うにしているので、複雑な変換処理も可能となる。
より、サブCPU2のプログラムをなんら修正することなし
に、メインCPU1の制御下にある機器を制御することがで
きる。しかも、この実施例では、変換手順が複雑でRMU1
3におけるマイクロプログラムのみでは変換が困難な場
合に、メインCPU1の変換プログラムで変換処理を補うよ
うにしているので、複雑な変換処理も可能となる。
なお、このシステムでは、複数のCPUと複数のI/O及び
メインメモリとの間にRMUが配置され、CPU側で与えた仮
想アドレスをI/O側で実アドレスに変換しているので、C
PU間は実空間を介して整合がとられる。従って、もし機
種の異なる新たなCPUを接続する場合でも、マイクロプ
ログラムは、この新たに接続するCPUの空間と実空間と
の間の整合をとるだけで、他の全てのCPUとの整合をと
ることかできるという効果を奏する。
メインメモリとの間にRMUが配置され、CPU側で与えた仮
想アドレスをI/O側で実アドレスに変換しているので、C
PU間は実空間を介して整合がとられる。従って、もし機
種の異なる新たなCPUを接続する場合でも、マイクロプ
ログラムは、この新たに接続するCPUの空間と実空間と
の間の整合をとるだけで、他の全てのCPUとの整合をと
ることかできるという効果を奏する。
[発明の効果] 以上述べたように、本発明によれば、変換規則に基づ
いて動作する変換手段が特定の計算機環境における入出
力装置のアドレス、入出力手順のデータ及び割込み情報
を前記他の計算機環境におけるそれらの情報に変換する
ので、前記特定の計算機環境におけるプログラムをなん
ら修正することなく、前記他の計算機環境下に配置され
た入出力装置を制御することができる。
いて動作する変換手段が特定の計算機環境における入出
力装置のアドレス、入出力手順のデータ及び割込み情報
を前記他の計算機環境におけるそれらの情報に変換する
ので、前記特定の計算機環境におけるプログラムをなん
ら修正することなく、前記他の計算機環境下に配置され
た入出力装置を制御することができる。
また、本発明によれば、前記変換手段での変換が困難
なときには、メモリに格納されている変換プログラムを
用いて変換処理を補うようにしているので、複雑な変換
処理も行わせることができる。
なときには、メモリに格納されている変換プログラムを
用いて変換処理を補うようにしているので、複雑な変換
処理も行わせることができる。
第1図は本発明の一実施例に係る入出力手順変換装置を
用いた計算機システムの構成を示すブロック図、第2図
は同変換装置における仮想アドレス変換部の構成を示す
ブロック図、第3図は同変換装置における仮想環境変換
部の構成を示すブロック図、第4図は同仮想環境変換部
を用いた変換動作を説明するための図、第5図及び第6
図は同仮想環境変換部を用いた変換手順の実例をそれぞ
れ示す図である。 1……メインCPU、2,3……サブCPU、4,10……アドレス
バス、5,11……データバス、6……メインメモリ、7〜
9……I/O装置、12……仮想アドレス変換部(MMU)、13
……仮想環境変換部(RMU)、14〜19……コントロール
バス。
用いた計算機システムの構成を示すブロック図、第2図
は同変換装置における仮想アドレス変換部の構成を示す
ブロック図、第3図は同変換装置における仮想環境変換
部の構成を示すブロック図、第4図は同仮想環境変換部
を用いた変換動作を説明するための図、第5図及び第6
図は同仮想環境変換部を用いた変換手順の実例をそれぞ
れ示す図である。 1……メインCPU、2,3……サブCPU、4,10……アドレス
バス、5,11……データバス、6……メインメモリ、7〜
9……I/O装置、12……仮想アドレス変換部(MMU)、13
……仮想環境変換部(RMU)、14〜19……コントロール
バス。
Claims (2)
- 【請求項1】第1のCPUのI/O空間のアドレスと第2のCP
UのI/O空間のアドレスとのアドレス変換関係を格納する
格納手段と、 前記第1のCPUと前記第2のCPUを接続するバスに前記第
2のCPUからI/O空間のアドレスが出力された場合、該ア
ドレスを前記格納手段に格納されたアドレス変換関係に
基づいて前記第1のCPUのI/O空間のアドレスに変換する
変換手段とを具備し、 前記第1のCPUのI/O空間のアドレスに基づいて制御され
るI/O装置を、前記変換手段により得られたアドレスを
用いて動作させることを特徴とする入出力手順変換装
置。 - 【請求項2】第1のCPUのI/O空間のアドレスと第2のCP
UのI/O空間のアドレスとのアドレス変換関係を格納する
格納手段と、 前記第1のCPUと前記第2のCPUを接続するバスに前記第
2のCPUからI/O空間のアドレスが出力され、かつ該アド
レスのアドレス変換が困難でない場合に、前記バスに出
力された前記第2のCPUからのアドレスを前記格納手段
に格納されたアドレス変換関係に基づいて前記第1のCP
UのI/O空間のアドレスに変換する変換手段と、 前記第1のCPUと前記第2のCPUを接続するバスに前記第
2のCPUからI/O空間のアドレスが出力され、かつ該アド
レスのアドレス変換が困難である場合に、前記バスに出
力された前記第2のCPUからのアドレスを、前記第1のC
PUのI/O空間のアドレスに変換処理を行うように前記第
1のCPUに指示する指示手段とを具備し、 前記第1のCPUのI/O空間のアドレスに基づいて制御され
るI/O装置を、前記変換手段により得られたアドレスあ
るいは前記指示手段の指示により前記第1のCPUが変換
したアドレスを用いて動作させることを特徴とする入出
力手順変換装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62040027A JP2557366B2 (ja) | 1987-02-25 | 1987-02-25 | 入出力手順変換装置 |
| EP19880301569 EP0280523A3 (en) | 1987-02-25 | 1988-02-24 | Computer system conversion apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62040027A JP2557366B2 (ja) | 1987-02-25 | 1987-02-25 | 入出力手順変換装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63208146A JPS63208146A (ja) | 1988-08-29 |
| JP2557366B2 true JP2557366B2 (ja) | 1996-11-27 |
Family
ID=12569421
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62040027A Expired - Fee Related JP2557366B2 (ja) | 1987-02-25 | 1987-02-25 | 入出力手順変換装置 |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP0280523A3 (ja) |
| JP (1) | JP2557366B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW276317B (ja) * | 1993-12-17 | 1996-05-21 | Hitachi Seisakusyo Kk |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4484263A (en) * | 1981-09-25 | 1984-11-20 | Data General Corporation | Communications controller |
| US4727480A (en) * | 1984-07-09 | 1988-02-23 | Wang Laboratories, Inc. | Emulation of a data processing system |
-
1987
- 1987-02-25 JP JP62040027A patent/JP2557366B2/ja not_active Expired - Fee Related
-
1988
- 1988-02-24 EP EP19880301569 patent/EP0280523A3/en not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| EP0280523A2 (en) | 1988-08-31 |
| JPS63208146A (ja) | 1988-08-29 |
| EP0280523A3 (en) | 1991-11-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4084235A (en) | Emulation apparatus | |
| US4031517A (en) | Emulation of target system interrupts through the use of counters | |
| US4570217A (en) | Man machine interface | |
| US4205370A (en) | Trace method and apparatus for use in a data processing system | |
| US6338109B1 (en) | Microcontroller development system and applications thereof for development of a universal serial bus microcontroller | |
| US5394544A (en) | Software system debugger with distinct interrupt vector maps for debugging and application programs | |
| US5666519A (en) | Method and apparatus for detecting and executing cross-domain calls in a computer system | |
| US6272618B1 (en) | System and method for handling interrupts in a multi-processor computer | |
| JPS61206043A (ja) | 仮想計算機システムにおける割込制御方法 | |
| US4621319A (en) | Personal development system | |
| JPH03660B2 (ja) | ||
| KR900004291B1 (ko) | 데이터 프로세서 | |
| JPS6124729B2 (ja) | ||
| US5179691A (en) | N-byte stack-oriented CPU using a byte-selecting control for enhancing a dual-operation with an M-byte instruction word user program where M<N<2M | |
| US7395199B2 (en) | Emulating the operation of a video graphics adapter | |
| JP2557366B2 (ja) | 入出力手順変換装置 | |
| JPS6049352B2 (ja) | デ−タ処理装置 | |
| JPS62120542A (ja) | 情報処理装置 | |
| Nelson et al. | The design and development of a family of personal computers for engineers and scientists | |
| JP2523502B2 (ja) | リカ−シブ仮想計算機の制御方式 | |
| JPS6225334A (ja) | 命令処理方式 | |
| Processor | Hardware Reference Manual | |
| JPS6338729B2 (ja) | ||
| JPS6097459A (ja) | デ−タ処理システム同期方法 | |
| JPH06348543A (ja) | 入出力シミュレータとの接続方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |