JPH0721767B2 - エミュレーション方式 - Google Patents

エミュレーション方式

Info

Publication number
JPH0721767B2
JPH0721767B2 JP30885A JP30885A JPH0721767B2 JP H0721767 B2 JPH0721767 B2 JP H0721767B2 JP 30885 A JP30885 A JP 30885A JP 30885 A JP30885 A JP 30885A JP H0721767 B2 JPH0721767 B2 JP H0721767B2
Authority
JP
Japan
Prior art keywords
bus
emulation
program
state
address
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 - Lifetime
Application number
JP30885A
Other languages
English (en)
Other versions
JPS61160144A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP30885A priority Critical patent/JPH0721767B2/ja
Publication of JPS61160144A publication Critical patent/JPS61160144A/ja
Publication of JPH0721767B2 publication Critical patent/JPH0721767B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 技術分野 本発明はエミュレーション方式に関し、特に計算機シス
テムにおけるプログラム実行のエミュレーション方式に
関する。
従来技術 一般に、エミュレーションとは、異なるアーキテクチャ
を有する中央処理装置(以下CPUと呼ぶ)に対して生成
された命令を、別のCPUにて実行することを指称する。
しかし、ここでは、同一種類のCPUを用いるが、番地づ
けや構造の異なる記憶装置(メモリと呼ぶ),入出力装
置(IOと呼ぶ)を有する点において、システム全体とし
てはアーキテクチャの異なる計算機システムに対して生
成されたプログラムを別の計算機システムにて実行する
ことを、プログラム実行のエミュレーションと称するも
のとする。
かかるエミュレーションの目的は、同一種のCPU,メモ
リ,IO制御装置を用いた計算機システム間でのプログラ
ムの有効利用を図ることであり、また、新しい計算機シ
ステムにおいて従来機種用のプログラムを承継すること
であり、近年LSI技術により幾種類かのCPU,メモリ,IO制
御装置等が大量に安価に供給されていることにより生じ
た要求である。
従来、この種のエミュレーションの方法としては、大別
してインタプリタ方式とハードウェア二重化方式とがあ
る。前者の方式では、エミュレーションの対象となるプ
ログラムを解釈実行するインタプリタが先ず計算機シス
テムで作動しており、対象プログラムのうちこの計算機
システムには存在しないか若しくは存在していても番地
づけや構造の異なるメモリやIOに関わる部分に関して
は、インタプリタが、この計算機システムに実際に存在
するメモリやIOを用いて機能的に同等の結果が得られる
様にエミュレーションを行うようになっている。
後者の方式では、対象プログラムの想定するメモリやIO
のうち、この計算機システムの実際のメモリやIOと異な
るハードウェア部分を予めこの計算機システムに付加し
ておくものである。対象プログラムを実行する際には、
二重化されたハードウェア部分を切替えてエミュレーシ
ョンを行うようになっている。
上記のインタプリタ方式にあっては、解釈実行プログラ
ムが常時動作しており、被エミュレーションプログラム
の実行速度が遅くなって、エミュレーションに要するオ
ーバヘッドが大となる欠点がある。一方、ハードウェア
二重化方式では、二重化に伴ってハートウェアのコスト
が増大し、また二重化を行った範囲内でしかエミュレー
ションを実行できないので、柔軟性に乏しいという欠点
がある。
発明の目的 本発明は、エミュレーションに要するオーバヘッドが少
なくかつ柔軟性の高いエミュレーション方式を提供する
ことを目的としている。
発明の構成 本発明のエミュレーション方式は、エミュレーションプ
ログラムを格納する手段と、前記バスの状態を監視しつ
つ当該バス状態が予め定めた特定状態になったことを検
出して前記中央処理装置に対して割り込み要求を発生す
るとともに前記エミュレーションプログラムを起動する
手段と、 前記割り込み要求発生時の前記バス状態を記憶して前記
エミュレーションプログラムに対してこれを知らしめる
手段と、前記割り込み要求時に前記記憶装置および前記
入出力装置に対するコマンド出力を禁止する手段と、前
記エミュレーションプログラムによりセットされ、前記
中央処理装置に対する割り込み要求の出力を禁止する手
段とを備えている。
実施例 以下、図面を用いて本発明の実施例を説明する。
第1図は本発明の実施例のシステムブロック図であり、
1はCPU、2はメモリ、3は表示データメモリである。I
Oとしては表示制御装置5が設けられており、COU1は表
示装置6に対して表示させたい表示データを表示メモリ
3に書込み、表示制御装置5に対して適当な制御データ
を送出することにより表示制御をなす。
これ等各装置1〜5の間をコマンドバス101,アドレスバ
ス102,データバス103が接続しているが、コマンドバス1
01は、図示の如く3ステートバッファ7を介してメモリ
2,表示データメモリ3及び表示制御装置5へ接続(10
1′)されるようになっている。そして4がバス監視装
置である。CPU1はメモリ2やIO3等を特定すべくアドレ
スバス102へアドレスを送出し、またデータ転送の対象
となるメモリやIOの区別あるいはデータ転送の方向及び
そのタイミングを指示するコマンドをコマンドバス101
へ送出し、そしてデータバス103を介してデータの授受
が行われる。
ここで、各バス101〜103は一般に夫々複数本の信号線か
らなっており、これ等の各バスの状態がバス監視装置4
により監視されており、このバス状態が予め設定された
状態になると、信号104によってCPU1に対して割込み要
求を発生すると同時に、3ステートバッファ7に対して
そのコマンド出力を禁止するものである。
第2図は第1図のバス監視装置4の詳細図であり、11は
比較回路であって、その入力AとBの各複数本の信号を
2進数と見做し、それらが同値であるときに限りその出
力105を論理1とする。本実施例では、比較回路11の入
力Aには、予め定められたコマンド状態、例えば「IOに
対する書込み」に相当する値が「規定値c」として与え
られており、入力Bにはコマンドバス101が供給されて
いる。
比較回路12も同様構成であり、その入力Aには、予め定
められたアドレス、例えば「表示制御装置のアドレス」
に相当する値が「規定値a」として与えられており、入
力Bにはアドレスバス102が供給されている。これ等入
力AとBとが一致したときのみ出力106が論理1とな
る。両出力105,106がアンドゲート13の2入力となって
おり、このゲート出力104がCPU1に対する割込み要求信
号となっている。この信号104の状態変化によりCPU1は
割込み要求を認識するようになっている。
この信号104の論理1から論理0への状態変化時に、記
憶回路14〜16にそれぞれコマンドバス101,アドレスバス
102,データバス103の各バス状態が取込まれて一時記憶
される。これ等記憶回路14〜16の出力は夫々3ステート
バッファ17〜19へ入力されており、これ等バッファ17〜
19の出力は共にデータバス103へ接続されている。3ス
テートバッファ17〜19は夫々出力許可入力107〜109を有
し、各許可入力107〜109の状態が論理1の時に限りその
入力状態を出力へ伝送し、許可入力が論理0のときには
その出力は電気的にオープン状態となるものである。
20はIOアクセス制御回路であり、コマンド101及びアド
レス102を受けてバス監視装置4に対して予め割当てら
れているアドレスでかつコマンドが「IOからの読取り」
を指示したときに、アドレスに応じて許可信号107〜109
のいずれか1つを論理1状態とする。このとき、記憶回
路14〜16に記憶されていたバス状態をデータバス103へ
出力させるのである。
尚、本実施例では、バスの信号線数を特に規定していな
い。アドレスバスの信号線数がデータバスのそれを上回
る場合には、3ステートバッファ18をデータバスの信号
線数を単位として18a,18b,18c,…等に分割して、対応す
る許可信号108もそれに応じて108a,108b,108c,…等に分
割し、CPU1が複数回に分けてアドレスバスの状態を引取
るように構成すれば良い。コマンド系に関しても同様の
配慮をなすことが可能である。
かかる構成において、表示制御プログラムのエミュレー
ションを例にとって動作を説明する。メモリ2には、表
示制御プログラム及びエミュレーションプログラムが格
納されているものとする。CPU1はプログラムを構成する
命令をメモリ2より次々と読取り、これ等命令の実行に
伴い必要があれば、「IO読取り」や「メモリ書込み」と
いったバスサイクルを次々にバスへ出力する。かかるタ
イミング状態が第3図に示されている。
第3図において、時刻Ti−1ではCPU1は被エミュレーシ
ョンプログラムの命令を得るために、アドレスAi−1、
コマンドCi−1(メモリ読取り)をバスへ送出し、メモ
リよりデータDi−1をフェッチしている。ここで、これ
までにフェッチした命令が表示制御装置に対するIO書込
みを意味するものとすると、次の時刻Tiにおいて、CPU1
はアドレスとして表示制御装置のアドレスを、またコマ
ンドとして「IO書込み」を、またデータDiとして制御デ
ータをそれぞれバスへ送出する。このとき第2図の「規
定値a」及び「規定値c」とバスの状態とは一致するこ
とになるので、割込み要求信号104が論理1となる。こ
の信号104の立上がりでCPU1は割込み要求を認識し、現
在のバスサイクルが終了次第割込みプログラムを起動す
ることになる。すなわち、時刻Ti+1でCPU1は割込みプ
ログラムの命令をフェッチするのである。
尚、ここでCPU1は割込み受付け時の命令番地をCPU内で
退避しておき、割込みプログラムからの復帰時には割込
み受付け時の次の命令番地からフェッチを再開する機能
を有しているものとする。
ここで割込みプログラムとして予めエミュレーションプ
ログラムが配置されているものとすると、このエミュレ
ーションプログラムはバス監視装置4に記憶されていた
バスの状態値を記憶回路14〜16から「IO読出し」により
得て、次に示す変換作業を行う。
(1) 被エミュレーションプログラムが想定する表示
制御装置アドレスすなわち「規定値a」が、本実施例に
おける表示制御装置5の実際のアドレスと異なる場合に
は、装置5の実際のアドレスでもって「IO書込み」を再
実行する。
(2) 被エミュレーションプログラムが想定する制御
データ型式が実際の表示制御装置5と異なる場合には、
データを予めエミュレーションプログラムにて変換して
おく。
以上の変換作業が終了すると、エミュレーションプログ
ラムは割込み処理を終了して、CPU1は引続き被エミュレ
ーションプログラムのIO書込み命令の次の命令から実行
を再開する。
一般に表示制御プログラムのエミュレーションを行う場
合には、以下に述べる2つの変換作業が必要となる。
(1) 第2図において、「規定値a」として被エミュ
レーションプログラムの想定する表示データメモリ3の
アドレス値を与える。ここで、データメモリのアドレス
がある範囲にあるときには、比較回路12ではアドレスの
上位信号から必要な数の信号だけが比較される。もしこ
のアドレスの範囲が2のべき乗の整数倍の値にない場合
は、比較回路12を範囲比較回路に拡張するものとする。
「規定値c」としては、「メモリ書込み」に相当する値
を与える。
CPU1が「規定値a」に対するメモリ書込みバスサイクル
を実行したとき、バス監視装置4が割込み要求104を行
うと同時に3ステートバッファ7の出力が禁止されるの
で、メモリ2及び3等にはコマンドは送出されない。こ
の割込みにより呼出されたエミュレーションプログラム
はバス監視装置4の記憶回路16を調べることにより書込
みデータが何であったかを知ることができる。エミュレ
ーションプログラムは必要に応じて変換を行ったアドレ
スないしは変換を行ったデータにより改めて表示データ
メモリ3に対するメモリ書込みを実行するのである。
(2) 第2図において、「規定値a」として被エミュ
レーションプログラムの想定する表示制御装置5のアド
レス値を与える。「規定値c」として「IO書込み」に相
当する値を与える。エミュレーションプログラムは前記
と同様の手順で表示制御データのIO書込みのアドレス変
換ないしはデータ変換を行なうことができる。
更に、被エミュレーションプログラムの想定する表示制
御装置の構造と表示制御装置5の構造とが異なり一連の
IO書込みデータで構成される表示指令が異なる場合に
は、IO書込み毎に逐一変換を行うのではなく、一連のIO
書込みをメモリ2上に一旦記憶しておき、表示指令の単
位で変換を行う。このように、エミュレーションプログ
ラムは制御の変換を行うことが可能である。
これ等2つの変換作業を行うために、バス監視装置4を
拡張した実施例を第4図に示しており、この図では、第
2図と相違する部分についてのみが示されているが、他
の部分は第2図の例と同等構成である。第2図における
比較回路11,12の代りに夫々11a,11b,11c,……,12a,12b,
12c,……というように並列に用意して設け、各入力Aに
は、それぞれ別の規定値を供給しておく。これ等の一致
出力105a,105b,105c,……106a,106b,106c,……の論理和
をゲート21にて得て、この出力を割込み要求信号104と
するのである。エミュレーションプログラムは一時記憶
回路14に記憶されたコマンド値を調べることにより、ど
の様なバスサイクルによって割込み要求がなされたかを
判断し、必要な変換作業を行うことができる。
更に、本例では、モードフリップフロップ(FF)22を設
け、このFF22の出力状態が論理0の場合には、アンドゲ
ート23により割込み要求信号104を禁止するようにする
ことができるようになっている。このモードFF22の状態
をエミュレーションプログラムがセットリセットするこ
ができるようにしておけば、被エミュレーションプログ
ラムが想定するアドレスと実際のアドレスとがオーバラ
ップする場合でも、エミュレーションを実行することが
可能となる。
ここで、バス監視装置4により割込み要求104が生じた
ときに、3ステートバッファ7によってコマンドバスを
禁止するようにしたのは、以下の理由による。
一般に、IOはそれに対するIO読取りに対して履歴性を有
するものである。例えば、あるアドレスに対する一連の
IO書込みにおいて、書込みの順序によりそのデータの意
味が異なる場合、あるいはIO読取りに際して一度読取り
を行うとデータがクリアされる場合がそうである。被エ
ミュレーションプログラムの想定するIOアドレスがたま
たまエミュレーションを行うシステムの実際のIOアドレ
スと一致する場合にはエミュレーションの際にそのIOに
対して副作用を与えることになる。かかる問題を解決す
べく、本発明では、エミュレーション割込み時にコマン
ドの送出を禁止してシステムに対する副作用の問題を解
決しているのである。
発明の効果 本発明によれば、計算機システムのバスを監視してある
特定のバスサイクルを検出したときに、CPUに対して割
込み要求をなしかつエミュレーションプログラムを起動
するようにし、更に、エミュレーションプログラムに対
して割込み要求時のバスの状態を知らせることによっ
て、柔軟性が高くかつオーバヘッドの少ないエミュレー
ションを実行できることになる。また、CPUに対する割
込み要求と同時にメモリ等へのコマンドの送出を禁止し
ているので、エミュレーションの際にIOに対して副作用
を与えるということもなくなる。
【図面の簡単な説明】
第1図は本発明の実施例のシステムブロック図、第2図
は第1図のバス監視装置の具体例の回路図、第3図は第
1,2図の装置の動作を説明するタイミング図、第4図は
バス監視装置の他の例を示す一部回路図である。 主要部分の符号の説明 1……CPU、2……メモリ 3……表示データメモリ 4……バス監視装置 5……表示制御装置 11,12……比較回路 14,15,16……記憶回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】中央処理装置と、番地づけられた複数の記
    憶単位を有する記憶装置と、番地づけられた入出力装置
    と、これら各装置間を接続するデータバス、アドレスバ
    スおよびコマンドバスとを有する計算機システムにおけ
    るエミュレーション方式において、 エミュレーションプログラムを格納する手段と、 前記バスの状態を監視しつつ当該バス状態が予め定めた
    特定状態になったことを検出して前記中央処理装置に対
    して割り込み要求を発生するとともに前記エミュレーシ
    ョンプログラムを起動する手段と、 前記割り込み要求発生時の前記バス状態を記憶して前記
    エミュレーションプログラムに対してこれを知らしめる
    手段と、 前記割り込み要求時に前記記憶装置および前記入出力装
    置に対するコマンド出力を禁止する手段と、 前記エミュレーションプログラムによりセットされ、前
    記中央処理装置に対する割り込み要求の出力を禁止する
    手段とを備えたことを特徴とするエミュレーション方
    式。
JP30885A 1985-01-05 1985-01-05 エミュレーション方式 Expired - Lifetime JPH0721767B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30885A JPH0721767B2 (ja) 1985-01-05 1985-01-05 エミュレーション方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30885A JPH0721767B2 (ja) 1985-01-05 1985-01-05 エミュレーション方式

Publications (2)

Publication Number Publication Date
JPS61160144A JPS61160144A (ja) 1986-07-19
JPH0721767B2 true JPH0721767B2 (ja) 1995-03-08

Family

ID=11470276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30885A Expired - Lifetime JPH0721767B2 (ja) 1985-01-05 1985-01-05 エミュレーション方式

Country Status (1)

Country Link
JP (1) JPH0721767B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6334648A (ja) * 1986-07-29 1988-02-15 Nec Corp 評価用マイクロコンピユ−タ
JPH0578590U (ja) * 1992-03-30 1993-10-26 極東ノート株式会社 着脱自在な見出シート

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
インターフェース9巻12号(1983−12)CQ出版P.220−230

Also Published As

Publication number Publication date
JPS61160144A (ja) 1986-07-19

Similar Documents

Publication Publication Date Title
KR100335785B1 (ko) 데이타처리명령의실행
JPH0430053B2 (ja)
JPH0258649B2 (ja)
US5371857A (en) Input/output interruption control system for a virtual machine
US6968410B2 (en) Multi-threaded processing of system management interrupts
EP0139254A2 (en) Apparatus and method for direct memory to peripheral and peripheral to memory data transfer
EP0290942B1 (en) Guest machine execution control system for virtual machine system
JPH0721767B2 (ja) エミュレーション方式
US4814977A (en) Apparatus and method for direct memory to peripheral and peripheral to memory data transfers
JPS59112350A (ja) プログラム監視制御方式
JPS61160143A (ja) エミユレ−シヨン方式
JP2773042B2 (ja) インサーキットエミュレータのバス切替方法
JP2558902B2 (ja) 半導体集積回路装置
JP2720580B2 (ja) フォールト・トレラント・コンピュータ
WO2018179753A1 (ja) マイクロコンピュータ
JPH04199336A (ja) マイクロコンピュータ
JP3019336B2 (ja) マイクロプロセッサ開発支援装置
JPS63217430A (ja) インサ−キツト・エミユレ−タ
JPS63155330A (ja) マイクロプログラム制御装置
JPH02264339A (ja) 情報処理装置
JPH0782447B2 (ja) Dmaデータ転送制御装置
JPH02183342A (ja) 割込み制御装置
JPH05128279A (ja) ワンチツプマイクロコンピユータ
JPH0619735A (ja) マイクロプロセッサ
JPH0363748A (ja) バス制御方式