[go: up one dir, main page]

JPS59151241A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS59151241A
JPS59151241A JP2472483A JP2472483A JPS59151241A JP S59151241 A JPS59151241 A JP S59151241A JP 2472483 A JP2472483 A JP 2472483A JP 2472483 A JP2472483 A JP 2472483A JP S59151241 A JPS59151241 A JP S59151241A
Authority
JP
Japan
Prior art keywords
instruction
emulation
state
program
data processing
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.)
Pending
Application number
JP2472483A
Other languages
English (en)
Inventor
Shigemi Adachi
茂美 足立
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 JP2472483A priority Critical patent/JPS59151241A/ja
Publication of JPS59151241A publication Critical patent/JPS59151241A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はデータ処理装置に関し、特に他のデータ処理装
置のプログラムを実行できるエミュレータとして好適な
データ処理装置に関するものである。
〔従来技術) 通常のデータ処理装置は、その装置に固有のプログラム
すなわち命令語な持っており、命令語の特定フィールド
の操作コードにより、その命令語の機能および命令Jr
N長力・定まっている。
例えば、新しいデータ処理装置と古いデータ処理装置間
にそのアーキテクチャの上で互換性がないにもかかわら
ず、古いデータ処理装置のプログラムをそのままの形で
新しいデータ処理装置により実行する場合、あるいはア
ーキテクチャの異なる仮想計算機のプログラムを実在の
データ処理装置で実行する場合には、エミュレーション
か必要となる。エミュレーションには、全面的にマイク
ロプログラムによる方法と、マイクロプログラムおよび
ソフトウェアの組合わせによる方法とがある。前者は、
小型のデータ処理装置に好適であるかネーテイブ・マシ
ン(本来の新しい計算機)の動作を行うネーテイプ・モ
ード(native rnodθ)とターゲット・マシ
ン(被エミュレート・マシン、つまり古い計算機または
仮想計算機)の動作を行うエミュレーション・モード(
emulation mode)の2つを切換えて使用
することが必要になる。すなわち、処理装置はいずれか
一方のモードでしか動作しないので、ネーテイブ・モー
ドからエミュレーション・モードへ、あるいはエミュレ
ーション・モードからネーテイブ・モードへ移行すると
きには、それまでの処理をすべて停止して、プログラム
をロードし直さなければならず、モード切換え時のオー
バヘッドか問題である。
一方、後者は大型のデータ処理装置に好適であり、ソフ
トウェアによる処理によって、2つのモードの切換λ時
のオーバヘッドの問題、処理の不連続による問題を解決
している。また、モードの切換えは、割込みを調べて自
動的に制御を移す方法を用いることにより、エミュレー
ション・モードのジョブとネーテイブ・モードのジョブ
の多重プログラミング処理を行うことかできる。さらに
、新しいデータ処理装置のオペレーティング・システム
の下で、エミュレーション・ジョブか他のジョブと同等
に1つのジョブとして処理される方法(インテグレーテ
ッド・エミュレーション)も可能となる。
ソフトウェア、つまりプログラムは主記憶装置から読み
出されると、順次、命令レジスタにセットされた後、命
令デコード回路により内容が解読される。命令デコ・−
ド回路は、命令語の操作コードを解読して、その命令を
処理するマイクロプログラムのアドレスを発生したり、
その命令語長によってプログラム・カウンタ更新の制御
信号を発生したりする役目を有している。しかし、エミ
ュレーションを行う場合、一般に、ネーティブ嗜マシン
とターゲット・マシンでは、命令語の操作フードか同一
でも、その機能や命令語長は異なっており、ネーティブ
・マシンの命令デコード回路を共用することはできない
このため、従来のエミュレーションでは、ターゲット・
マシンの命令語を逐次解読実行する特殊な命令をネーテ
ィプ・マシンに追加し、その特殊な命令のマイクロプロ
グラムがターゲット・マシンの主記憶プログラム領域か
ら命令を読み出し、命令語長を調ベプログラム・カウン
タを更新し、その操作コードから命令処理ルーチンのマ
イクロプログラム・アドレスを作成して、そこにブラン
チさせて処理する方法が用いられている。この方法によ
れば、第1図(a)に示すように、先ずネーテイブ・マ
シンに追加された特殊命令DIL(D。
Interprotive Loop ) lによって
ターゲット、マシンの命令か取り出され、アドレスは必
要かあれば修飾を行った後、変換される。次に、命令の
操作コードを解釈し、分岐テーブルを利用してその命令
の実行ルーチンを選択し、各命令の実行に移る。もし、
その命令がマイクロプログラム2によって実行されるも
のであれば、直接そのマイクロプログラム2に制御が移
され、命令の操作はマイクロプログラム2により実行さ
れ、終了すればDIL命令のマイクロプログラム1に戻
る。ネーテイブ・マシンの命令による処理は、マイクロ
プログラム1により実行される命令が続いている間は実
行されない。ネーテイプ・マシンに対し割込みが発生す
ると、DIL命令1の中の割込みを調べる部分がこれを
処理し、次のDIL命令のときにターゲット・マシンの
割込み処理ルーチン5に分岐させる。また、DIL命令
により取り出されたエミュレートされる命令が、ソフト
ウェアにより実行されるCPUに関する命令であれは、
それぞれの命令を実行するネーテイブ・マシンのサブル
ーチン3に分岐する。また、エミュレートされる命令が
入出力関係の命令であれば、入出力処理プログラムヰに
移行する。第1図(a)に示す方式では、ネーテイブ・
マシン内で自分自身のプログラムと、ターゲット・マシ
ンのプログラムを混在させて動作させるインテグレーテ
ッド・エミュレーションか可能であるか、ターゲット・
マシンのプログラム実行状態では、マイクロプログラム
が介在する割合か大きく、十分な性能を得ることができ
ない。
他の方法としては、デコード回路を使用せずに、命令語
長の計算、操作コードから処理するマイクロプログラム
・アドレスを作成することを、すべてマイクロプログラ
ムにより行う方法かある。
この方法によれば、第1図(b)に示すようなマイクロ
プログラム制御部がネーテイプ・マシンに追加され、制
御記憶装置7にはネーテイブ・マシン用のマイクロプロ
グラムの他に、ターゲット・マシン用のマイクロプログ
ラムか格納されるエリアか付加される。したがって、エ
ミュレータは、入出力関係を除いてすべてマイクロプロ
グラムによって制御される。分岐制御BRC,アドレス
人力ADINか制御記憶アドレス・レジスタ6に人力す
ることにより、制御記憶7のいずれか一方のマイクロプ
ログラムか選択されると、制御レジスタ8に読み出した
命令をセットして次のアドレス情報NADをアドレス・
レジスタ6に出力するとともに、タイミング発生510
のタイミングでデコーダ9により制御信号CNTを作成
してマイクロプログラムを実行させる。この方法もやは
りマイクロプログラムのステップ数が増大するので、十
分な性能は得られない。また、この方式で、制御記憶7
のエリアを追加しない場合には、エミュレーションを行
う際に、マイクロプログラムを書換可能制御記憶7に再
ロードし、エミュレーション専用のマシンとして使用す
るスタンド・アロン方式のエミュレータとなる。
〔発明の目的) 本発明の目的は、このような従来の問題を改善するため
、インテグレーテッド・エミュレーションカ可能であり
、かつエミュレーション状態でターゲット・マシンの命
令を実行するときも大きなオーバヘッドかなく、高速に
処理できるデータ処理装置を提供することにある。
(発明のW安) 本発明のデータ処理装置は、マイクロプログラム制御の
データ処理装置において、複数の異なる命令語体系に対
応する命令デコード回路と、該命令デコード回路あるい
は回路出力の1つを選択指定するための状態制御ビット
・レジスタと、該状縛制御ビット・レジスタの内容をオ
ン・オフ制御するマイクロプログラム制御手段を有し、
上記各命令デコード回路で命令語をデコードして、該命
令語を処理するマイクロプログラムのアドレスを発生し
、異なる命令語体系の複数のプログラムを時分割的に実
行することに特徴かある。
〔発明の実施例) 第2図は、本発明で使用する命令語の例を示す図である
第2図(a)は、ネーティプ・マシンの命令語の例で、
6バイトの命令語長を有する。この命令語のビットO〜
7は操作コード・フィールドであって、(B5)、6の
コードは、CL C(Compare Logi。
alCharacter )命令である。このCLC命
令は、ビット8〜15のL(バイト長)、ビット16〜
19081(ベース・レジスタの番号)、ビット20−
31のDl(バイト番地)、ビット32〜35の82(
ベース・レジスタの番号)、ビット36〜47のり、(
バイト番地)から構成される。
ここで、(B1)、(B、)をベース・レジスタB1゜
B、の内容とすると、CLC命令は(H□)+D0バイ
ト番地で示される第1オペランドの文字列と、(B2)
+D2  バイト番地で示される第2オペランドの文字
列を、長さLバイトにわたって比較し、その結果をコン
デジョン・コードにセットする機能を有する。
これに対して、第2図(b)は、エミュレーションシヨ
うとするターゲット・マシンの命令語であって、4バイ
トの命令語長を有する。この命令語も(a)と同一の操
作コードOP= (B5)□6を持っているか、この場
合にはB RS (Btt Re5et )命令と呼ば
れ、(a>とけ異なった機能である。その機能は、(B
工)+D0  ワード番地、(lワード−=2バイト)
からの1ワード内の任意の16ビツト中、Mフィールド
で示される番号のビットを′0″にする機能である。
このように、不−ティグ・マシンとエミュレーションし
ようとするターゲット・マシンでは、同一の操作コード
であっても、機能や命令語長が異なっている。
第3図は、本発明におけるインテグレーテッドエミュレ
ーション時のプログラム構造を示す図である。
30はネーテイブ・マシンのオペレーティングシステム
、31〜39はネーテイブ・マシンのユーザ・プログラ
ム(UP) 、40はエミュレーション・ジョブ、つま
りターゲット・マシンのプログラム、41はE CP 
 (Emulation ControlPr。
gram )と呼ばれるインタフェース・プログラム、
43はターゲット・マシンのオペレーティング・システ
ム、44はターゲット・マシンのユーザ・プログラムで
ある。
従来の方法では、ECP41か設けられず、直接ターゲ
ット・マシンのオペレーティング・システム43とユー
ザ・プログラム44かネーテイブマシンのオペレーティ
ング・システム30に結合されていたので、オーバ・ヘ
ッドが大きくなることは避けられなかった。本発明では
、ECP41を介して斜線で囲んだ部分42がエミュレ
ーション状態で動作することにより、ターゲット・マシ
ンのオペレーティング・システム43およびそのユーザ
・プログラム44が実行される。破線で囲んだ部分40
は、エミュレーションに関係する部分であり、破線内の
プログラム全体は、他のネーテイブ・マシンのユーザ・
プログラム31〜39と同等に、ネーティブ・マシンの
オペレーティング・システム30の下で1つのユーザ・
プログラムとして動作する。
ネーティブ・マシンのオペレーティング・システム30
と、ターゲット・マシンのプログラム42の間には、E
CP41か置がれ、ECP41がエミュレーションされ
るプログラム42に対しEXL命令(Excute L
ocal:エミュレーション・ピットをオン・オフ制御
を行う命令)による起動、およびエミュレーションされ
るプログラム42内で処理しきれない、入出力命令のよ
うな一部の特権命令のインタルブリットを行う。このよ
うなインターブリットを行う必要がある命令を検出した
とき、あるいは他の制込み条件か発生したときには、上
記エミュレーション・ビットをオフして、そのときの廿
態をEXL命令で示されたテーブル内に退避し、ECP
41内の定められたアドレスに分岐させたり、ネーティ
ブ・マシンのオペレーティング・システム30に割込み
を掛けたりする動作を行う。
すなわち、高ゼiなインテグレーテッド・エミュレーシ
ョンを実現するためには、エミュレーション実行上性能
的にネックとなる命令デコードをハードウェアにより実
行することが必要であり、エミュレーション専用の命令
デコード回路を設ける必要かある。その場合、命令実行
時、2つの命令デコード回路のいずれを使用するかの制
御が必要となる〃・、このためには特別なプログ、ラム
(ECP)を設け、これによりデータ処理装置が現在、
ネーテイブ・マシンとターゲット・マシンのいずれかの
プログラムを処理中であるか判別し、いずれか一方を示
す制御フラグを立てEXL命令をターゲット・マシンの
プログラム42に伝達する。
すなわち、ターゲット・マシンのプログラム42の実行
中におけるエミュレーション状態でオン、ネーテイブ・
マシンのプログラム31〜39の実行中におけるネーテ
イプ状態でオフにし、その制御フラグを用いてデコード
回路の一方を選択し、これを使用する。インテグレーテ
ッド・エミユレーシヨンでは、ターゲット・マシンのプ
ログラム42は、ネーテイブ・マシンのオペレーティン
グ・システム30の下で動作する1つのジョブであり、
オペレーティング・システム30から、そのジョブを起
動するとき、特別のプログラム(BCP)41により上
記制御ビットをオンし、またジョブを中断する必要があ
る割込み等の条件をECP41か検出したとき、上記制
御ビットをオフするようにすれば、ダイナミックにデコ
ード回路を切換えることかでき、インテグレーテッド・
エミュレーションを高速に行うことが可能である。
第4図は、本発明の実施例を示すデータ処理装置のブロ
ック図である。
第4図において、11は命令語をラッチする命令レジス
タ、12はネーティブ・マシン用デコード回路、■3は
ターゲット・マシン用デコード回路であって、そnぞれ
命令レジスタ1]にラッチされている命令語の操作コー
ドを解読して、命令語1◆、処理するマイクロプログラ
ムのアドレスを出力する。14は、状態制御ビット・レ
ジスタであって、このデータ処理装置がネーティブ状態
にあるか、エミュレーション状態にあるかを示す制御ビ
ットとして、前者のときにはオフ、後者のときにはオン
となるようにマイクロプログラムにより制御する。15
は選択回路であって、デコート。
回路12または13の出力信号のいずれか一方を選択し
て出力する。状態制御ピッ) (EMLT) 14がオ
フのとぎ、デコード回路12の出力信号が選択され、ま
た状態制御ピッ) (EMLT)14かオンのとき、デ
コード回路13の出力信号か遮択される。16はプログ
ラム・カウンタであって、主記憶装置MMから次に読み
出して実行する命令語のアドレスを保持し、それが読み
出されると更新回路17により内容が更新される。更新
される値は命令語の操作コードによって決まり、ネーテ
イプ状態あるいはエミュレーション状態に応じて、デコ
ード回路12.13からの出力信号のうち選択されたい
ずれか一方によって決定される。18はマイクロプログ
ラム・カウンタであって、命令語の操作コードからネー
テイブ状態、エミュレーション状態に応じて決定される
命令語を、制御記憶19から順次読み出すためのマイク
ロプログラム・アドレスがここにセットされる。19は
制御記憶装置であって、ここにはネーテイブ・マシンお
よびターゲット・マシンを制御するマイクロプログラム
が格納されており、マイクロプログラム。
カウンタ18にしたがってマイクロ命令レジスタ20に
命令語が順次読み出される。マイクロ命令レジスタ20
に格納されたマイクロ命令は、マイクロ命令デコーダ2
1によりデコードされ、各種・1−ドウエア制御信号C
NTが作成される。
このデータ処理装置において、先ずネーティプ状態とし
て動作するときには、状態制御ビット・レジスタ14の
内容がオフに制御され、主記憶装置MMから命令レジス
タ11に読み出された命令語は、デコード回路12の制
御のもとに、プログラム・カウンタ100更新およびそ
の命令語のマイクロプログラム処理ルーチンのアドレス
作成を行い、ネーティプ・マシンとしての動作を行う。
一方、エミュレーション状態のときには、状態制御ビッ
ト14の内容がオンに制御され、主記憶装[MMから命
令レジスタ11に読み出された命令語は、デコード回路
13の制御のもとに、プログラム・カウンタ16の更新
およびマイクロプログラム・アドレスの作成を行い、タ
ーゲット・マシンとしての動作を行う。
状態制御ビット・レジスタ14のオン・オフ制御は、ネ
ーティプ・マシンに特別な命令を追加することによって
可能となる。この特別な命令がEX L (Execu
te Loca/ )命令であって、ネーティブ状態か
らエミュレーション状態に遷移するときに、インタフェ
ース・プログラムE CP (Emulation C
ontrolProgram )により発行される。こ
のE X L命令のオペランドとしては、エミュレーシ
ョンされるプログラムの入口アドレスや、ターゲット・
マシンの主記憶の○番地が、ネーティブ・マシンの何番
地に配置されるかを指定するアドレス等の情報が格納さ
れるテーブルの先頭アドレスを示している。
ネーティプ状態からエミュレーション状態に移るとき、
インタフェース・プログラムECPが主記憶装置MMか
ら読み出され、その中のEXL命令が命令レジスタ11
にセットされると、デコード回路12によりデコードさ
れて選択回路15から更新回路17に制御信号が送出さ
れ、EXL命令のオペランドで示された主記(fi M
 Mのテーブル内に格納されているエミュレーションさ
れるプログラムの入口アドレスに分岐される。同時に、
選択回路15からマイクロプログラム・カウンタ18へ
、エミュレーション状態にけ移させるマイクロプログラ
ムのアドレスがセットされ、そのアドレスにより制御記
憶19がら読み出されたマイクロ命令がデコードされる
ことにより、状態制御ビット用制御信号が作成され、そ
の制御信号によって状態制御ビット・レジスタ14がオ
フからオンに変更される。
また、状態制御ビット・レジスタ14のオンからオフへ
の制御は、エミュレーション状態中に発生する利f々の
割込み要因によって、エミュレーション状態内では処理
できないものを検出したときニ、割込み処理するマイク
ロプログラムによってオフされ、ネーティブモードに遷
移する。同時にそのときのエミュレーション状態のプロ
グラム・カウンタ16等の(mを、以前にEXL命令で
指定されたテーブル内に退避するとともに、同一テーブ
ル内に格納されているインタフェース・プログラムEC
P内の特定アドレスがプログラム・カウンタ16にロー
ドされる。釧込み要因がインタフェース・プログラムB
CPで処坊j可能であれば、プログラム・カウンタ、■
6にロードされたアドレスに分岐し、処理不可の要因で
あれば通常のネーティブモード内での割込み動作を行い
、オペレーティングシステムの定められたアドレスに分
岐するようマイクロプログラムによって制御する。
〔発明の効果〕
以上説明したように、本発明によれば、インテグレーテ
ッド・エミュレーションが可能であり、かつエミュレー
ション状態でターゲット・マシンの命令を実行する際に
も、大きなオーバヘッドがなく、高速に処理することが
でき、エミュレーション’4kPで実行するプログラム
が、オンライン・プログラムであるような高速処理を要
求される場合にも十分適応できる。
【図面の簡単な説明】
第1図は従来のエミュレーションを行う方法の説明図、
第2図は本発明で用いる異なる体系の命令語構成を示す
図、第3図は本発明におけるインテグレーテッド・エミ
ュレーション時のプログラム構造を示す図、第4図は本
発明の実施例を示すデータ処理装置のブロック図である
。 11:命令レジスタ、12:ネーテイブ・マシン用デコ
ード回路、13:ターゲット・マシン用デコード回路、
■4:状態制御ビット・レジスタ、15:選択回M、1
6:プログラム・カウンタ、18:マイクロプログラム
・カウンタ、19:制m記i、2o:マイクロ命令レジ
スタ、21/:Yイクロ命令デコーダ。 特許出願人 株式会社 日立製作所− 代  理  人  弁理士 磯  村  雅  俊第 
  2   図 第   3   図

Claims (1)

  1. 【特許請求の範囲】 (′ll)マイクロプログラム制御のデータ処理装置に
    おいて、複数の異なる命令語体系に対応する命令デコー
    ド回路と、該命令デコード回路あるいは回路出力の1つ
    を選択指定するための状態制御ビット・レジスタと、該
    状態制御ビット・レジスタの内容をオン・オフ制御する
    マイクロプログラム制御手段を有し、上記各命令デコー
    ド回路で命令語をデコードして、該命令語を処理するマ
    イクロプログラムのアドレスを発生し、異なる命令語体
    系の複数のプログラムを時外割的に実行することを特徴
    とするデータ処理装置。 Q)前記状態制御ビット・レジスタの内容をオン・オフ
    制御するマイクロプログラム制御手段は、データ処理装
    置のオペレーティング・システムと被エミュレート・マ
    シンのプログラムの間に介在するエミュレーション・コ
    ントロール・プログラムの命令語をデコードすることに
    より起動されることを特徴とする特許請求の範囲第1項
    記載のデータ処理装置。
JP2472483A 1983-02-18 1983-02-18 デ−タ処理装置 Pending JPS59151241A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2472483A JPS59151241A (ja) 1983-02-18 1983-02-18 デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2472483A JPS59151241A (ja) 1983-02-18 1983-02-18 デ−タ処理装置

Publications (1)

Publication Number Publication Date
JPS59151241A true JPS59151241A (ja) 1984-08-29

Family

ID=12146101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2472483A Pending JPS59151241A (ja) 1983-02-18 1983-02-18 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS59151241A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5071242A (ja) * 1973-10-24 1975-06-13
JPS5710049B2 (ja) * 1974-10-28 1982-02-24

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5071242A (ja) * 1973-10-24 1975-06-13
JPS5710049B2 (ja) * 1974-10-28 1982-02-24

Similar Documents

Publication Publication Date Title
JPH0193837A (ja) デバッグ用マイクロプロセッサ
KR890010673A (ko) 데이타 프로세서 및 그 처리제어방식
US4459666A (en) Plural microcode control memory
JP2655615B2 (ja) 情報処理装置
US4095268A (en) System for stopping and restarting the operation of a data processor
JPS59151241A (ja) デ−タ処理装置
JP2577023B2 (ja) 情報処理装置のアドレス拡張制御方式
JP2005275703A (ja) プロセッサ及びコンテキスト切り替え方法
JP3097602B2 (ja) データ処理装置
JPS5829051A (ja) 演算処理装置
JP2899009B2 (ja) 情報処理装置
JPS60230246A (ja) デ−タ処理装置
JPH0330029A (ja) 計算機の入出力シミュレーション装置
JPS61184644A (ja) 仮想計算機システム制御方式
JP2002323983A (ja) 命令生成方法、命令生成方法及び情報処理装置
JPS6349941A (ja) 演算処理装置
JPH0636161B2 (ja) 情報処理装置
JPS60254344A (ja) メモリアドレス割付け方式
JPH05165628A (ja) データ処理装置及びそのマルチエミュレーション方法
JPH0259829A (ja) マイクロコンピュータ
JPS59116857A (ja) マイクロプログラム制御デ−タ処理装置
JPS60105048A (ja) マイクロプログラム制御方式
JPH03257572A (ja) マルチプロセッサシステム
JPH0221336A (ja) ジョイスティック機能を追加するためのアダプター装置
JPS6288036A (ja) マイクロプログラム制御装置