JPH04199331A - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JPH04199331A JPH04199331A JP2332846A JP33284690A JPH04199331A JP H04199331 A JPH04199331 A JP H04199331A JP 2332846 A JP2332846 A JP 2332846A JP 33284690 A JP33284690 A JP 33284690A JP H04199331 A JPH04199331 A JP H04199331A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- emulation
- register
- instructions
- space
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はCl5C(コンプレックス・インストラクショ
ン・セット・コンピュータ)型マイクロコンピュータと
同様な高機能命令をサポートするマイクロコンピュータ
、ことにその中央処理装置のアーキテクチャに関する。
ン・セット・コンピュータ)型マイクロコンピュータと
同様な高機能命令をサポートするマイクロコンピュータ
、ことにその中央処理装置のアーキテクチャに関する。
比較的簡単な命令セットを持ったRISC(リデュース
ト・インストラクション・セット・コンピュータ)型の
マイクロコンピュータに対してCl5C型マイクロコン
ピユータは、複雑な命令セントを持ち、アドレシングモ
ードも複数備えて高機能化が図られている。これ故、多
くの命令はマイクロ命令形式で実行されるようになって
いた。
ト・インストラクション・セット・コンピュータ)型の
マイクロコンピュータに対してCl5C型マイクロコン
ピユータは、複雑な命令セントを持ち、アドレシングモ
ードも複数備えて高機能化が図られている。これ故、多
くの命令はマイクロ命令形式で実行されるようになって
いた。
1989年6月26日に発行の日経エレクトロニクス(
476号)第117頁から130頁記載のマイクロプロ
セッサ1486においては、1クロツクで実行可能な一
部の命令を、ワイヤード・ロジックも使って高速に実行
可能になっており、例えば、命令デコードユニットは、
1クロツク命令に対応するマイクロ命令のほとんどを生
成し、マイクロコードROMを使わず直接マイクロ命令
を生成して、これを制御ユニットに送ることができるよ
うになっている。
476号)第117頁から130頁記載のマイクロプロ
セッサ1486においては、1クロツクで実行可能な一
部の命令を、ワイヤード・ロジックも使って高速に実行
可能になっており、例えば、命令デコードユニットは、
1クロツク命令に対応するマイクロ命令のほとんどを生
成し、マイクロコードROMを使わず直接マイクロ命令
を生成して、これを制御ユニットに送ることができるよ
うになっている。
本発明者は前記従来技術を検討したところ、■クロック
命令の為の[命令デコーダ→制御ユニツ1−→実行ユニ
ット」の制御パスと、その他の高機能命令のための「マ
イクロコートROM→制御ユニッ1へ→実行ユニット」
の制御パスが必要になる。
命令の為の[命令デコーダ→制御ユニツ1−→実行ユニ
ット」の制御パスと、その他の高機能命令のための「マ
イクロコートROM→制御ユニッ1へ→実行ユニット」
の制御パスが必要になる。
このため、ハードウェア構成並びに制御が複雑になると
共に、チップサイズも大型化するという問題点が明らか
にされた。
共に、チップサイズも大型化するという問題点が明らか
にされた。
本発明の目的は、比較的簡単な構成によって高機能命令
もサポートすることができるマイクロコンピュータを提
供することにある。
もサポートすることができるマイクロコンピュータを提
供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細
書の記述並びに添付図面から明らかになるであろう。
書の記述並びに添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば下記の通りである。
を簡単に説明すれば下記の通りである。
すなわち、マクロ命令セットに含まれる所定命令として
のエミュレーション対象命令を、別のマクロ命令として
のエミュレーション命令列でエミニレ−ジョンするマイ
クロコンピュータを構成スるとき、前記エミュレーショ
ン命令の空間を、その他のマクロ命令(非エミュレーシ
ョン命令)空間とは別に設け、フェッチした命令がエミ
ュレーション対象命令か否かに応じてその命令空間を切
り替え制御するように構成するものである。
のエミュレーション対象命令を、別のマクロ命令として
のエミュレーション命令列でエミニレ−ジョンするマイ
クロコンピュータを構成スるとき、前記エミュレーショ
ン命令の空間を、その他のマクロ命令(非エミュレーシ
ョン命令)空間とは別に設け、フェッチした命令がエミ
ュレーション対象命令か否かに応じてその命令空間を切
り替え制御するように構成するものである。
命令空間を切り替えてノーマルモード(非エミュレーシ
ョン命令の空間でデータ処理を行う動作モード)からエ
ミュレーションモード(エミュレーション命令の空間で
データ処理を行う動作モード)に移行し、再びノーマル
モードに戻るときの処理を簡単にするには、命令空間を
元に戻すためのリターン命令をエミュレーション命令列
に含めるようにするとよい。
ョン命令の空間でデータ処理を行う動作モード)からエ
ミュレーションモード(エミュレーション命令の空間で
データ処理を行う動作モード)に移行し、再びノーマル
モードに戻るときの処理を簡単にするには、命令空間を
元に戻すためのリターン命令をエミュレーション命令列
に含めるようにするとよい。
命令空間を切り替えてノーマルモードからエミュレーシ
ョンモードに移行した後で再びノーマルモードに戻った
ときの処理の継続性を保証するとき、プログラムカウン
タなどの状態保存に余計な時間を費やさないようにする
には、プログラムカウンタ及びコンデイションコートレ
ジスタなどを、エミュレーション命令用とその他のマク
ロ命令用とで、それぞれ別々に設け、前記命令空間の切
り替えに同期してそれらレジスタも切り替えるようにす
ればよい。
ョンモードに移行した後で再びノーマルモードに戻った
ときの処理の継続性を保証するとき、プログラムカウン
タなどの状態保存に余計な時間を費やさないようにする
には、プログラムカウンタ及びコンデイションコートレ
ジスタなどを、エミュレーション命令用とその他のマク
ロ命令用とで、それぞれ別々に設け、前記命令空間の切
り替えに同期してそれらレジスタも切り替えるようにす
ればよい。
同しく、状態保存などに手間をかけずに処理の継続性を
保証し、さらにはエミュレーションによる高機能処理に
必要なレジスタや作業領域を大きくする必要がある場合
には、エミュレーション命令の実行にのみ利用可能なテ
ンポラリレジスタを、エミュレーション命令実行用のリ
ソースとして追加利用可能にしたり、データメモリ空間
もエミュレーション命令実行用とその他のマクロ命令実
行用とで夫々別々にすることが望ましい。
保証し、さらにはエミュレーションによる高機能処理に
必要なレジスタや作業領域を大きくする必要がある場合
には、エミュレーション命令の実行にのみ利用可能なテ
ンポラリレジスタを、エミュレーション命令実行用のリ
ソースとして追加利用可能にしたり、データメモリ空間
もエミュレーション命令実行用とその他のマクロ命令実
行用とで夫々別々にすることが望ましい。
エミュレーション命令を実行するための演算処理に、こ
れに対応するエミュレーション対象命令のオペレーショ
ンコードやイミイディエイト値を利用可能にするには、
フェッチされたエミュレーション対象命令の転送を受け
てこれを保持すると共に、これが保持するエミュレーシ
ョン対象命令の全部または一部を演算部に転送可能なエ
ミュレーションインストラクションレジスタを設けてお
くとよい。
れに対応するエミュレーション対象命令のオペレーショ
ンコードやイミイディエイト値を利用可能にするには、
フェッチされたエミュレーション対象命令の転送を受け
てこれを保持すると共に、これが保持するエミュレーシ
ョン対象命令の全部または一部を演算部に転送可能なエ
ミュレーションインストラクションレジスタを設けてお
くとよい。
エミュレーション対象命令に対応するエミュレーション
命令列の先頭番地を簡単に得るには、エミュレーション
対象命令におけるオペレーションコートの全部又は一部
を当該番地に反映させるとよい。
命令列の先頭番地を簡単に得るには、エミュレーション
対象命令におけるオペレーションコートの全部又は一部
を当該番地に反映させるとよい。
命令フェッチ、命令デコード、命令実行など複数段のパ
イプライン処理で命令を実行するとき、命令デコートサ
イクルでエミュレーション対象命令を検出したとき、こ
れに並行する命令フェッチサイクルで既にフェッチされ
た次命令を捨てなくても済むようにするには、当該次命
令を保存する為のインストラクション待避レジスタを設
けておくことが望ましい。
イプライン処理で命令を実行するとき、命令デコートサ
イクルでエミュレーション対象命令を検出したとき、こ
れに並行する命令フェッチサイクルで既にフェッチされ
た次命令を捨てなくても済むようにするには、当該次命
令を保存する為のインストラクション待避レジスタを設
けておくことが望ましい。
上記した手段によれば、Cl5C型マイクロコンピユー
タなどの既存の命令セットにおける未定義命令コードを
流用して、これにエミュレーション対象命令のコードを
割当て、当該エミュレーション対象命令を前記既存の命
令セットなどに含まれる命令列でエミュレーション可能
なように、当該命令列をエミュレーション命令空間に配
置する。
タなどの既存の命令セットにおける未定義命令コードを
流用して、これにエミュレーション対象命令のコードを
割当て、当該エミュレーション対象命令を前記既存の命
令セットなどに含まれる命令列でエミュレーション可能
なように、当該命令列をエミュレーション命令空間に配
置する。
したがって、ノーマルモートで実行される命令とエミュ
レーションモートで実行されるエミュレーション命令は
共通の命令デコーダで解読可能になり、エミュレーショ
ン対象命令のような高機能命令のためにそれ専用のマイ
クロ・コーF ROMを特別に設けなくても済む。
レーションモートで実行されるエミュレーション命令は
共通の命令デコーダで解読可能になり、エミュレーショ
ン対象命令のような高機能命令のためにそれ専用のマイ
クロ・コーF ROMを特別に設けなくても済む。
(マイクロコンピュータ・チップ)
第1図には本発明の一実施例に係るマイクロコンピュー
タ1が示される。
タ1が示される。
この、マイクロコンピュータ1は、特に制限されないが
、命令フェッチ、命令デコートによる制御 ・信号生成
、並びにその他各種制御を行う制御部2、演算部3、動
作プログラムを保有するROM4、作業領域若しくはデ
ータの一時記憶領域とされるRAM5、周辺モジュール
6を含み、それらは、公知の半導体集積回路製造技術に
より リコンのような1個の半導体基板に形成されて
いる。このマイクロコンピュータ1は、命令用バスとオ
ペランド用バスが分離された所謂バーバードアーキテク
チャを有し1例えば命令データバスIMDINと、命令
アドレスバスIMAOUTが、制御部2、演算部3.及
びROM4に接続され、また、オペランドアドレス出力
バスDMA0UT、オペランドデータ入カバスDMDI
N、及びオペランドデータ出力バスDMDOUTが、演
算部3とRAM5に続される。尚、7はメモリアクセス
制御信号の外部出力回路、8はアドレス信号の外部出力
回路、9はデータの外部入出力回路、1oは周辺モジュ
ール6と接続される外部入出力回路である。
、命令フェッチ、命令デコートによる制御 ・信号生成
、並びにその他各種制御を行う制御部2、演算部3、動
作プログラムを保有するROM4、作業領域若しくはデ
ータの一時記憶領域とされるRAM5、周辺モジュール
6を含み、それらは、公知の半導体集積回路製造技術に
より リコンのような1個の半導体基板に形成されて
いる。このマイクロコンピュータ1は、命令用バスとオ
ペランド用バスが分離された所謂バーバードアーキテク
チャを有し1例えば命令データバスIMDINと、命令
アドレスバスIMAOUTが、制御部2、演算部3.及
びROM4に接続され、また、オペランドアドレス出力
バスDMA0UT、オペランドデータ入カバスDMDI
N、及びオペランドデータ出力バスDMDOUTが、演
算部3とRAM5に続される。尚、7はメモリアクセス
制御信号の外部出力回路、8はアドレス信号の外部出力
回路、9はデータの外部入出力回路、1oは周辺モジュ
ール6と接続される外部入出力回路である。
本実施例のマイクロコンピュータ1は、単純な命令をハ
ードワイヤード論理で実現すると共に、複雑な高機能命
令はこれら単純な命令を組み合わせてエミュレーション
で実現するものであり、当該マイクロコンピュータ1が
処理する命令は、エミュレーション弁封iとされるネイ
ティブ命令、エミュレーション対象命令、未定義命令、
そしてエミュレーション対象命令をエミュレーションで
実現するためのエミュレーション命令に区別される。例
えば、本実施例のマイクロコンピュータ1のアーキテク
チャと共通性のあるCl5C型マイクロコンピユータの
既存の命令セットと比較スルと、それにおけるネイティ
ブ命令は相互に共通され、当該命令セットにおける未定
義命令コードを流用してこれにエミュレーション対象命
令のコートが割当てられ、また、エミュレーション命令
には前記ネイティブ命令などが利用される。
ードワイヤード論理で実現すると共に、複雑な高機能命
令はこれら単純な命令を組み合わせてエミュレーション
で実現するものであり、当該マイクロコンピュータ1が
処理する命令は、エミュレーション弁封iとされるネイ
ティブ命令、エミュレーション対象命令、未定義命令、
そしてエミュレーション対象命令をエミュレーションで
実現するためのエミュレーション命令に区別される。例
えば、本実施例のマイクロコンピュータ1のアーキテク
チャと共通性のあるCl5C型マイクロコンピユータの
既存の命令セットと比較スルと、それにおけるネイティ
ブ命令は相互に共通され、当該命令セットにおける未定
義命令コードを流用してこれにエミュレーション対象命
令のコートが割当てられ、また、エミュレーション命令
には前記ネイティブ命令などが利用される。
前記ROM4はエミュレーションROM 4.0とユー
ザROM4 ]に空空間側され、エミュレーションRO
M40はエミュレーション命令によって構成された動作
プログラムの格納領域とされ、ユーザROM41はネイ
ティブ命令並びにエミュレーション対象命令によって構
成された動作プログラムの格納領域とされる。エミュレ
ーションROM4.0とユーザROM41の命令空間の
切り替えは制御部2から出力される制御信号φ■によっ
て制御され、制御部2がフェッチした命令のデコード動
作で当該命令がエミュレーション対象命令であることを
検出すると、所定のタイミングを以て命令空間をユーザ
ROM4.1からエミュレーションR,0M40に切り
替える。
ザROM4 ]に空空間側され、エミュレーションRO
M40はエミュレーション命令によって構成された動作
プログラムの格納領域とされ、ユーザROM41はネイ
ティブ命令並びにエミュレーション対象命令によって構
成された動作プログラムの格納領域とされる。エミュレ
ーションROM4.0とユーザROM41の命令空間の
切り替えは制御部2から出力される制御信号φ■によっ
て制御され、制御部2がフェッチした命令のデコード動
作で当該命令がエミュレーション対象命令であることを
検出すると、所定のタイミングを以て命令空間をユーザ
ROM4.1からエミュレーションR,0M40に切り
替える。
前記RAM5はエミュレーションRAM50とユーザR
AM51に空間分割され、エミュレーションRAM50
はエミュレーション命令の実行に専用化される作業領域
などとされ、ユーザRAM51はネイティブ命令並びに
エミュレーション対象命令の実行に利用される作業領域
などとされる。
AM51に空間分割され、エミュレーションRAM50
はエミュレーション命令の実行に専用化される作業領域
などとされ、ユーザRAM51はネイティブ命令並びに
エミュレーション対象命令の実行に利用される作業領域
などとされる。
エミュレーションRAM50とユーザRAM51の空間
の切り替えは、制御部2から出力される制御信号φDに
よって制御され、制御部2がフェッチした命令のデコー
ド動作で当該命令がエミュレーション対象命令であるこ
とを検出すると、所定のタイミングを以てその空間をユ
ーザRAM51からエミュレーションRAM50に切り
替える。
の切り替えは、制御部2から出力される制御信号φDに
よって制御され、制御部2がフェッチした命令のデコー
ド動作で当該命令がエミュレーション対象命令であるこ
とを検出すると、所定のタイミングを以てその空間をユ
ーザRAM51からエミュレーションRAM50に切り
替える。
(中央処理装置)
第2図には前記制御部2及び演算部3の詳細な一例が示
される。
される。
同図においてIRQからIR5はインストラクションレ
ジスタであり、命令を多段パイプラインで実行するとき
、その動作サイクルに従って命令を順次後段にシフトし
て伝達していく。D E CF。
ジスタであり、命令を多段パイプラインで実行するとき
、その動作サイクルに従って命令を順次後段にシフトし
て伝達していく。D E CF。
DECA、DECD、DECMは、それぞれ対応するイ
ンストラクションレジスタなどから供給される命令など
を解読して制御信号を生成するための命令デコーダであ
り、命令デコーダDECFは命令の全フィールドをフル
デコードして、命令の種別を判定したり、判定された種
別に応じた基本的な操作のための制御信号を生成する。
ンストラクションレジスタなどから供給される命令など
を解読して制御信号を生成するための命令デコーダであ
り、命令デコーダDECFは命令の全フィールドをフル
デコードして、命令の種別を判定したり、判定された種
別に応じた基本的な操作のための制御信号を生成する。
命令デコーダDECAは算術論理演算や算術演算などの
ための演算制御信号やデータ転送のための制御信号を生
成する。命令デコーダDECDはメモリ(RAM)アク
セスのための制御信号を生成する。命令デコーダDEC
Mは乗算のための制御信号を生成する。制御回路C0N
Tは、パイプライン制御、例外処理の制御、スコアボー
ド制御、並びにレジスタの選択制御等を行う。タグレジ
スタTAG 1からTAG5には命令デコーダDECF
でフルデコードされて得られた所定の情報が保持され、
命令デコーダDECA、DECD、DECMに供給され
る。例えばエミュレーション対象命令であるか否かとい
った命令の種別に関する情報やメモリアクセスが必要か
否か1乗算処理をするか否かといった情報を保持する。
ための演算制御信号やデータ転送のための制御信号を生
成する。命令デコーダDECDはメモリ(RAM)アク
セスのための制御信号を生成する。命令デコーダDEC
Mは乗算のための制御信号を生成する。制御回路C0N
Tは、パイプライン制御、例外処理の制御、スコアボー
ド制御、並びにレジスタの選択制御等を行う。タグレジ
スタTAG 1からTAG5には命令デコーダDECF
でフルデコードされて得られた所定の情報が保持され、
命令デコーダDECA、DECD、DECMに供給され
る。例えばエミュレーション対象命令であるか否かとい
った命令の種別に関する情報やメモリアクセスが必要か
否か1乗算処理をするか否かといった情報を保持する。
前記空間切り替えのための制御信号φ■は命令デコーダ
DECF及びラッチLATIを介して出力される。命令
デコーダDECFは、これに供給される命令のオペレー
ションコードがエミュレーション対象命令であることを
検出すると、制御信号φ■のレベルを反転して、ROM
4の命令空間をエミュレーションROM4.0に切り替
える。また、制御信号φDは命令デコーダDECD及び
ラッチLATDを介して出力される。命令デコーダDE
CDは、これに供給される命令のオペレーションコード
又はタグレジスタTAG2から供給される情報からエミ
ュレーション対象命令であることを検出すると、制御信
号φDのレベルを反転して、RAM5の空間をエミュレ
ーションRAM 50に切り替える。
DECF及びラッチLATIを介して出力される。命令
デコーダDECFは、これに供給される命令のオペレー
ションコードがエミュレーション対象命令であることを
検出すると、制御信号φ■のレベルを反転して、ROM
4の命令空間をエミュレーションROM4.0に切り替
える。また、制御信号φDは命令デコーダDECD及び
ラッチLATDを介して出力される。命令デコーダDE
CDは、これに供給される命令のオペレーションコード
又はタグレジスタTAG2から供給される情報からエミ
ュレーション対象命令であることを検出すると、制御信
号φDのレベルを反転して、RAM5の空間をエミュレ
ーションRAM 50に切り替える。
ROM4やRAM5をエミュレーション空間からノーマ
ル空間に戻すのは、特に制限されないが、エミュレーシ
ョン命令列に含まれるRTE(リターン)命令を命令デ
コーダDECFが検出することにより制御信号φIを反
転させ、並びに、R,TE命令のデコード結果をタグレ
ジスタT A G 2を介してデコーダDECDが検出
することにより制御信号φDを反転させて、実現する。
ル空間に戻すのは、特に制限されないが、エミュレーシ
ョン命令列に含まれるRTE(リターン)命令を命令デ
コーダDECFが検出することにより制御信号φIを反
転させ、並びに、R,TE命令のデコード結果をタグレ
ジスタT A G 2を介してデコーダDECDが検出
することにより制御信号φDを反転させて、実現する。
エミュレーション対象命令に対応するエミュレーション
命令列の先頭番地は、エミュレーション対象命令におけ
るオペレーションコートの全部又は一部を利用して命令
デコーダDECFなどで生成する。
命令列の先頭番地は、エミュレーション対象命令におけ
るオペレーションコートの全部又は一部を利用して命令
デコーダDECFなどで生成する。
インストラクションレジスタIRQにフェッチされた命
令のイミディエイ1〜値は符号拡張並びにデコード論理
DEC8を通してイミデイエイ1〜レジスタIMMに供
給され、算術演算器ATJなどによる演算に供される。
令のイミディエイ1〜値は符号拡張並びにデコード論理
DEC8を通してイミデイエイ1〜レジスタIMMに供
給され、算術演算器ATJなどによる演算に供される。
EIRは、インストラクションレジスタIRQからエミ
ュレーション対象命令の転送を受けてこれを保持するエ
ミュレーションインストラクションレジスタであり、こ
れが保持するエミュレーション対象命令の全部または一
部を演算部に転送可能とする。
ュレーション対象命令の転送を受けてこれを保持するエ
ミュレーションインストラクションレジスタであり、こ
れが保持するエミュレーション対象命令の全部または一
部を演算部に転送可能とする。
IRBはインストラクション待避レジスタであり、命令
フェッチ、命令デコード、命令実行など複数段のパイプ
ライン処理で命令を実行するとき、命令デコーダDEC
Fによる命令テコ−1〜サイクルでエミュレーション対
象命令を検出したとき、これに並行する命令フェッチサ
イクルで既にインス1ラグジョンレジスタIRQにフェ
ッチされた次命令を捨てなくても済むように保存するた
めのバックアップ用のインストラクションレジスタであ
る。このインストラクション待避レジスタIRBにバッ
クアップされた命令は、所定のエミュレーション命令列
の実行が終了した段階で再びインストラクションレジス
タIRQに転送される。
フェッチ、命令デコード、命令実行など複数段のパイプ
ライン処理で命令を実行するとき、命令デコーダDEC
Fによる命令テコ−1〜サイクルでエミュレーション対
象命令を検出したとき、これに並行する命令フェッチサ
イクルで既にインス1ラグジョンレジスタIRQにフェ
ッチされた次命令を捨てなくても済むように保存するた
めのバックアップ用のインストラクションレジスタであ
る。このインストラクション待避レジスタIRBにバッ
クアップされた命令は、所定のエミュレーション命令列
の実行が終了した段階で再びインストラクションレジス
タIRQに転送される。
フェッチすべき次命令番地を保有するプログラムカウン
タは、特に制限されないが、4段構成にされ、且つエミ
ュレーションROM40が保有するエミュレーション命
令用のプログラムカウンタPCEMO,PCEMI、P
CEM2.PCEM3と、ユーザROM41が保有する
ネイティブ命令並びにエミュレーション対象命令用のプ
ログラムカウンタPCO,PCI、PC2,Pc3とに
、夫々個別化されている。プログラムカウンタが直列4
段構成にされるのは、パイプライン処理との関係で過去
にフェッチした命令のアI−レスを保持しておいて1例
外処理が発生した場合にそれを利用可能にするためであ
る。pcpcは、条件分岐のための分岐先アドレスを予
め保持して1分岐処理を速やかに行うことができるよう
にするためのものである。また、EXARは例外処理の
為の命令アドレスを保有するレジスタである。
タは、特に制限されないが、4段構成にされ、且つエミ
ュレーションROM40が保有するエミュレーション命
令用のプログラムカウンタPCEMO,PCEMI、P
CEM2.PCEM3と、ユーザROM41が保有する
ネイティブ命令並びにエミュレーション対象命令用のプ
ログラムカウンタPCO,PCI、PC2,Pc3とに
、夫々個別化されている。プログラムカウンタが直列4
段構成にされるのは、パイプライン処理との関係で過去
にフェッチした命令のアI−レスを保持しておいて1例
外処理が発生した場合にそれを利用可能にするためであ
る。pcpcは、条件分岐のための分岐先アドレスを予
め保持して1分岐処理を速やかに行うことができるよう
にするためのものである。また、EXARは例外処理の
為の命令アドレスを保有するレジスタである。
コンデイションニー1〜レジスタもエミュレーション命
令用のレジスタCCRE Mと、ネイティブ命令並びに
エミュレーション対象命令用のレジスタCCRに分離さ
れ、プログラムカウンタと同様に、ノーマルモートとエ
ミュレーションモードとで切り替え選択される。
令用のレジスタCCRE Mと、ネイティブ命令並びに
エミュレーション対象命令用のレジスタCCRに分離さ
れ、プログラムカウンタと同様に、ノーマルモートとエ
ミュレーションモードとで切り替え選択される。
汎用レジスタはROからR7とされるが、さらにエミュ
レーション命令専用に、エミユレーション用テンポラリ
レジスタT1からT3を有する。
レーション命令専用に、エミユレーション用テンポラリ
レジスタT1からT3を有する。
尚、LATCHは算術演算器AUのラッチ回路、SPは
スタックポインタレジスタ、FPはプロシジャコールに
際して自動変数を取得したりするためのベースアドレス
を保持するフレームポインタ、Aは算術論理演算器AL
Uの一方の入力レジスタ、Bは算術論理演算器ALUの
他方の入力レジスタ、C1及びC2は算術論理演算器A
LUの出力値保有レジスタ、MARはバスエラー処理に
利用するためのアドレスレジスタ、MDRI Nは前記
オペランドデータ入力バスDMD I Nから供給され
るデータを一時的に保持するデータレジスタ、MDR,
OU Tはオペランドデータ出力バスDMDOUTに出
力すべきデータを一時的に保持するデータレジスタ、M
ULTは乗算器、MULI及びMUL2は乗算器MUL
Tの入力レジスタである。
スタックポインタレジスタ、FPはプロシジャコールに
際して自動変数を取得したりするためのベースアドレス
を保持するフレームポインタ、Aは算術論理演算器AL
Uの一方の入力レジスタ、Bは算術論理演算器ALUの
他方の入力レジスタ、C1及びC2は算術論理演算器A
LUの出力値保有レジスタ、MARはバスエラー処理に
利用するためのアドレスレジスタ、MDRI Nは前記
オペランドデータ入力バスDMD I Nから供給され
るデータを一時的に保持するデータレジスタ、MDR,
OU Tはオペランドデータ出力バスDMDOUTに出
力すべきデータを一時的に保持するデータレジスタ、M
ULTは乗算器、MULI及びMUL2は乗算器MUL
Tの入力レジスタである。
(命令フォーマット)
第3図には命令フォーマットの基本形態が示される。同
図においてXは命令の種類に応じたオペレーションコー
トが記述される。Rsにはソースレジスタを指定するた
めのコードが記述され、Rdにはディスティネーション
レジスタを指定するためのコードが記述される。1.
m mはイミデイエイト値が記述され、ブランチフォー
マットのCCは分岐の条件とされるコンデイションコー
トを意味する。
図においてXは命令の種類に応じたオペレーションコー
トが記述される。Rsにはソースレジスタを指定するた
めのコードが記述され、Rdにはディスティネーション
レジスタを指定するためのコードが記述される。1.
m mはイミデイエイト値が記述され、ブランチフォー
マットのCCは分岐の条件とされるコンデイションコー
トを意味する。
第4図には[2レジスタフオーマツト」の命令セラ1〜
に含まれる命令の一例として、rMOV。
に含まれる命令の一例として、rMOV。
L」、rLOAD、LJ、rsTORE、LJ、rMO
,V、BJ、rBRA32J、rRTE」、rADDL
I ST、LJ が示される。これに示される命令の
内、ADDLIST、L命令はエミュレーション対象命
令の一つとされる。RTE命令はエミュレーションモー
ドからノーマルモードに戻るための命令である。
,V、BJ、rBRA32J、rRTE」、rADDL
I ST、LJ が示される。これに示される命令の
内、ADDLIST、L命令はエミュレーション対象命
令の一つとされる。RTE命令はエミュレーションモー
ドからノーマルモードに戻るための命令である。
第5図には[ルジスタ及び4ピツトイミゾイエイトフオ
ーマツト」命令の一例としてr S HLA、LJ が
示される。
ーマツト」命令の一例としてr S HLA、LJ が
示される。
第6図には「ルジスタ及び8ピットイミゾイエイトフォ
ーマット」命令の一例としてrDc。
ーマット」命令の一例としてrDc。
NVJが示される。この命令rDcONVJはエミュレ
ーション対象命令の一つとされる。
ーション対象命令の一つとされる。
くレジスタ指定)
前記各種命令フォーマットにおけるレジスタ指定フィー
ルドRs、Rdは夫々4ビツトとされ、ノーマルモード
時におけるソースレジスタ指定フィールドRsやデイ′
ステイネージョンレジスタ指定フィールドRdの値と、
それによって指定されるレジスタとの関係は以下に示さ
れる。
ルドRs、Rdは夫々4ビツトとされ、ノーマルモード
時におけるソースレジスタ指定フィールドRsやデイ′
ステイネージョンレジスタ指定フィールドRdの値と、
それによって指定されるレジスタとの関係は以下に示さ
れる。
指定フィールド値 指定レジスタ0000 →
RO 0001→ R1 0010→ R2 0011→ R3 0100→ R4 0101→ R5 01,10−) R6 0111→ R7 1000〜1111 →不当 ノーマルモートにおいてレジスタ指定フィールFRs、
Rdに1000−11.11の値が記述されている場合
には不当命令例外処理が行われる。
RO 0001→ R1 0010→ R2 0011→ R3 0100→ R4 0101→ R5 01,10−) R6 0111→ R7 1000〜1111 →不当 ノーマルモートにおいてレジスタ指定フィールFRs、
Rdに1000−11.11の値が記述されている場合
には不当命令例外処理が行われる。
マイクロコンピュータ1がエミュレーションモートにあ
るときはレジスタ指定フィールドRs。
るときはレジスタ指定フィールドRs。
Rdの値は、oooo〜0111まではノーマルモート
と同様であるが、1000〜1111までに対しては次
に示す態様でレジスタを指定する新たな意義を有する。
と同様であるが、1000〜1111までに対しては次
に示す態様でレジスタを指定する新たな意義を有する。
下記指定態様は実質的にエミュレーション命令において
有効とされる。
有効とされる。
指定フィールド値 指定レジスタ1000 →
T1 1001 → T2 1010 → T3 1011 → EIR 1100−+ R5 1101→ Rd 1110 → 未使用 1111 → 未使用 上記レジスタ指定態様において、1000〜1011の
値の指定は、テンポラリレジスタT1、テンポラリレジ
スタT2、テンポラリレジスタT3、又はエミュレーシ
ョンインストラクションレジスタEIRの指定とされる
。即ち、斯るレジスタTl、T2.T3.EIRは、エ
ミュレーション命令を実行するときの専用リソースとし
て追加利用可能にされる。
T1 1001 → T2 1010 → T3 1011 → EIR 1100−+ R5 1101→ Rd 1110 → 未使用 1111 → 未使用 上記レジスタ指定態様において、1000〜1011の
値の指定は、テンポラリレジスタT1、テンポラリレジ
スタT2、テンポラリレジスタT3、又はエミュレーシ
ョンインストラクションレジスタEIRの指定とされる
。即ち、斯るレジスタTl、T2.T3.EIRは、エ
ミュレーション命令を実行するときの専用リソースとし
て追加利用可能にされる。
また、上記レジスタ指定態様において、1100−+
Rsは、エミュレーション命令のレジスタ指定フィール
ドRsの値が1100であるなら、当該命令に対応する
エミュレーション対象命令のレジスタ指定フィールドR
sに指定されているレジスタを指定するという意味を持
つ。同様に、1101→Rdは、エミュレーション命令
のレジスタ指定フィールドRdの値が1101であるな
ら、当該命令に対応するエミュレーション対象命令のレ
ジスタ指定フィールドRdに指定されているレジスタを
指定するという意味を持つ。このようなレジスタ指定方
式を採用することにより、エミュレーション対象命令が
指定したレジスタを、エミュレーション命令でアクセス
することが可能になる。
Rsは、エミュレーション命令のレジスタ指定フィール
ドRsの値が1100であるなら、当該命令に対応する
エミュレーション対象命令のレジスタ指定フィールドR
sに指定されているレジスタを指定するという意味を持
つ。同様に、1101→Rdは、エミュレーション命令
のレジスタ指定フィールドRdの値が1101であるな
ら、当該命令に対応するエミュレーション対象命令のレ
ジスタ指定フィールドRdに指定されているレジスタを
指定するという意味を持つ。このようなレジスタ指定方
式を採用することにより、エミュレーション対象命令が
指定したレジスタを、エミュレーション命令でアクセス
することが可能になる。
(ADDL I ST、L命令)
欣に、エミュレーション対象命令の一例としてADDL
IST、L命令について説明する。
IST、L命令について説明する。
このADDLIST、L命令は、第4図に示されるよう
なフォーマットを有し、第7図に示されるように、当該
命令のレジスタ指定フィールドIくdが指しているリス
ト構造に対して、レジスタ指定フィールドRsが指して
いるエン1へりを追加する処理を行う。
なフォーマットを有し、第7図に示されるように、当該
命令のレジスタ指定フィールドIくdが指しているリス
ト構造に対して、レジスタ指定フィールドRsが指して
いるエン1へりを追加する処理を行う。
当該命令はエミュレーション対象命令であって、以下に
示すEO〜E4の5個のエミュレーション命令によって
実現される。
示すEO〜E4の5個のエミュレーション命令によって
実現される。
EO; LOAD、L @Rs、TIEl ; 5
TORE、L Rd、@RsE2 ;MOV、L
Rs、RdE3 ; LOAD、L Tl、
RsE4;RTE 第8図には、前記エミュレーションルーチンを構成する
エミュレーション命令フォーマットの具体例が示されて
いる。
TORE、L Rd、@RsE2 ;MOV、L
Rs、RdE3 ; LOAD、L Tl、
RsE4;RTE 第8図には、前記エミュレーションルーチンを構成する
エミュレーション命令フォーマットの具体例が示されて
いる。
このエミュレーションルーチンは、ADDLIST、L
命令のレジスタ指定フィールドRsによって指・定され
ているレジスタが保有する番地のデータをテンポラリレ
ジスタT1にロードして保存しくEO)、ADDLIS
T、L命令のレジスタ指定フィールドRdによって指定
されているレジスタの値を当該ADDLIST、L命令
のレジスタ指定フィールドR,sによって指定されてい
るレジスタが保有する番地に格納しくEl)、ADDL
IST、L命令のレジスタ指定フィールドRsによって
指定されているレジスタが保有する番地のデータを、当
該ADDLIST、L命令のレジスタ指定フィールドR
dによって指定されているレジスタが保有する番地に転
送しくE2)、テンポラリレジスタT1の値を、ADD
LIST、L命令のレジスタ指定フィールドRsによっ
て指定されているレジスタに格納しくE3)、最後にノ
ーマルモードへのリターン処理を行う〔E4〕。
命令のレジスタ指定フィールドRsによって指・定され
ているレジスタが保有する番地のデータをテンポラリレ
ジスタT1にロードして保存しくEO)、ADDLIS
T、L命令のレジスタ指定フィールドRdによって指定
されているレジスタの値を当該ADDLIST、L命令
のレジスタ指定フィールドR,sによって指定されてい
るレジスタが保有する番地に格納しくEl)、ADDL
IST、L命令のレジスタ指定フィールドRsによって
指定されているレジスタが保有する番地のデータを、当
該ADDLIST、L命令のレジスタ指定フィールドR
dによって指定されているレジスタが保有する番地に転
送しくE2)、テンポラリレジスタT1の値を、ADD
LIST、L命令のレジスタ指定フィールドRsによっ
て指定されているレジスタに格納しくE3)、最後にノ
ーマルモードへのリターン処理を行う〔E4〕。
前記エミュレーションルーチンを構成するエミュレーシ
ョン命令EO−E4は、エミュレーション命令空間即ち
エミュレーションROM40に格納され、エミュレーシ
ョン命令空間中のベクタテーブルのベースアドレス(エ
ミュレーション・ベクタ・ベース・アドレス)EVBA
に、ADDLIST、L命令のオペレーションコードに
対応して命令デコーダDECFから出力されるエントリ
番地を加算したアドレス、例えばEVBA+64(デシ
マル)番地を先頭に配置される。
ョン命令EO−E4は、エミュレーション命令空間即ち
エミュレーションROM40に格納され、エミュレーシ
ョン命令空間中のベクタテーブルのベースアドレス(エ
ミュレーション・ベクタ・ベース・アドレス)EVBA
に、ADDLIST、L命令のオペレーションコードに
対応して命令デコーダDECFから出力されるエントリ
番地を加算したアドレス、例えばEVBA+64(デシ
マル)番地を先頭に配置される。
第9図にはADDLIST、L命令とこれに対応するエ
ミュレーション命令の実行フローの一例が示される。ユ
ーザROM41の命令空間から命令をフェッチして処理
を行うノーマルモートの途中でADDLTST、L命令
が検出されると、エミュレーションROM40の命令空
間で命令をフェッチして処理を進めるエミュレーション
モードに切り替えられる。このモード切り替えにより、
ADDLIST、L命令は、そのオペレーションコード
のデコード結果とエミュレーション・ベクタ・ベース・
アドレスEVBAとによって決定される番地から始まる
エミュレーション命令EO〜E4によって実現され、再
び、ノーマルモードに戻されて、ADDLIST、L命
令に続く命令をユーザROM41の空間で実行していく
。
ミュレーション命令の実行フローの一例が示される。ユ
ーザROM41の命令空間から命令をフェッチして処理
を行うノーマルモートの途中でADDLTST、L命令
が検出されると、エミュレーションROM40の命令空
間で命令をフェッチして処理を進めるエミュレーション
モードに切り替えられる。このモード切り替えにより、
ADDLIST、L命令は、そのオペレーションコード
のデコード結果とエミュレーション・ベクタ・ベース・
アドレスEVBAとによって決定される番地から始まる
エミュレーション命令EO〜E4によって実現され、再
び、ノーマルモードに戻されて、ADDLIST、L命
令に続く命令をユーザROM41の空間で実行していく
。
第10図には前記ADDLIST、L命令をエミュレー
ションによって実現するときの5段パイプライン動作フ
ローの一例が示される。
ションによって実現するときの5段パイプライン動作フ
ローの一例が示される。
ここで先ず、5段パイプラインは、命令フェッチ(IF
)、命令デコート(ID)、命令実行(EX)、データ
メモリアクセス(MEM)、命令実行結果の書き込み(
WB)の各処理サイクルを、1命令毎に1サイクルづつ
ずらしながら行うものとする。例えば命令N2の処理内
容に代表されるように、ネイティブ命令において命令フ
ェッチサイクルでは、プログラムカウンタPCOの値に
従ってユーザROM41をアクセスして命令をフェッチ
する。命令デコードサイクルでは、フェッチした命令を
デコーダDECFで解読して制御信号を生成すると共に
、プログラムカウンタPCOの値をインクリメントする
。命令実行サイクルでは、算術論理演算器ALUなどの
オペレーションによって演算が行われる。データメモリ
アクセスサイクルではユーザRAM51のアクセスが行
われる。このネイティブ命令の実行に際してアクセスさ
れるRAM5やROM4の空間は制御信号φ■、φDに
よりノーマル空間(ユーザROM41、ユーザRAM5
1が配置された夫々の空間)が選択されている。命令実
行結果の書き込みサイクルでは、その結果が所定のレジ
スタなどに格納される。
)、命令デコート(ID)、命令実行(EX)、データ
メモリアクセス(MEM)、命令実行結果の書き込み(
WB)の各処理サイクルを、1命令毎に1サイクルづつ
ずらしながら行うものとする。例えば命令N2の処理内
容に代表されるように、ネイティブ命令において命令フ
ェッチサイクルでは、プログラムカウンタPCOの値に
従ってユーザROM41をアクセスして命令をフェッチ
する。命令デコードサイクルでは、フェッチした命令を
デコーダDECFで解読して制御信号を生成すると共に
、プログラムカウンタPCOの値をインクリメントする
。命令実行サイクルでは、算術論理演算器ALUなどの
オペレーションによって演算が行われる。データメモリ
アクセスサイクルではユーザRAM51のアクセスが行
われる。このネイティブ命令の実行に際してアクセスさ
れるRAM5やROM4の空間は制御信号φ■、φDに
よりノーマル空間(ユーザROM41、ユーザRAM5
1が配置された夫々の空間)が選択されている。命令実
行結果の書き込みサイクルでは、その結果が所定のレジ
スタなどに格納される。
ネイティブ命令N3の命令デコートサイクルT3でAD
DLIST、L命令が命令デコーダDECFで検出され
ると、当該命令デコードサイクルT3において、制御信
号φ■を反転して命令空間をユーザROM4.1からエ
ミュレーションROM40に切り替え制御すると共に、
インストラクションレジスタIRQにフェッチされてい
る当該命令のオペレーションコードにおける第0番ビッ
トから第3番ビットにて特定される値を16倍して得ら
れるような値に、エミュレーション・ベクタ・ベース・
アドレスEVBAを加算して、エミュレーション命令E
Oの番地を取得し、これをエミュレーションのためのプ
ログラムカウンタPCEMOに格納する。そして、プロ
グラムカウンタPCO〜PC3を、エミユレーション用
のプログラムカウンタP CE M O−P CE M
、 3に切り替え制御してそれを機能させる。更に、A
DDL I ST。
DLIST、L命令が命令デコーダDECFで検出され
ると、当該命令デコードサイクルT3において、制御信
号φ■を反転して命令空間をユーザROM4.1からエ
ミュレーションROM40に切り替え制御すると共に、
インストラクションレジスタIRQにフェッチされてい
る当該命令のオペレーションコードにおける第0番ビッ
トから第3番ビットにて特定される値を16倍して得ら
れるような値に、エミュレーション・ベクタ・ベース・
アドレスEVBAを加算して、エミュレーション命令E
Oの番地を取得し、これをエミュレーションのためのプ
ログラムカウンタPCEMOに格納する。そして、プロ
グラムカウンタPCO〜PC3を、エミユレーション用
のプログラムカウンタP CE M O−P CE M
、 3に切り替え制御してそれを機能させる。更に、A
DDL I ST。
L命令のデコードサイクルT3に並行してフェッチされ
る次命令N4に対してそのデコードサイクル以降をサプ
レス若しくはキャンセルする制御を行う。
る次命令N4に対してそのデコードサイクル以降をサプ
レス若しくはキャンセルする制御を行う。
ADDLIST、L命令のサイクルT4ではコンデイシ
ョンコートレジスタをCCRからエミュレーション専用
のCCREMに切り替える。さらにインストラクション
レジスタIRQが保有する命令N4をインストラクショ
ンレジスタIRBに保存して、エミュレーション終了直
後に利用可能にする。
ョンコートレジスタをCCRからエミュレーション専用
のCCREMに切り替える。さらにインストラクション
レジスタIRQが保有する命令N4をインストラクショ
ンレジスタIRBに保存して、エミュレーション終了直
後に利用可能にする。
ADDLIST、L命令のサイクルT5では。
制御信号φDを反転しで、データメモリ空間をユーザR
AM51からエミュレーションRAM50に切り替える
。このデータ空間の切り替えタイミングは、パイプライ
ン処理におけるデータメモリアクセス(MEM)に割り
当てられたタイミングに同期して行われるから、ADD
LIST、L命令以前の命令におけるRAM5アクセス
は必ずノーマル空間で行われる。
AM51からエミュレーションRAM50に切り替える
。このデータ空間の切り替えタイミングは、パイプライ
ン処理におけるデータメモリアクセス(MEM)に割り
当てられたタイミングに同期して行われるから、ADD
LIST、L命令以前の命令におけるRAM5アクセス
は必ずノーマル空間で行われる。
サイクルT4からT7においては、エミュレーション命
令EO−E3がプログラムカウンタP CEMOの値に
従って順次エミュレーションROM40からインストラ
クションレジスタIRQにフェッチされて、実行される
。このときのデータメモリアクセスは、既に空間切り替
えされたエミュレーションRAM50に対し、で行われ
る。
令EO−E3がプログラムカウンタP CEMOの値に
従って順次エミュレーションROM40からインストラ
クションレジスタIRQにフェッチされて、実行される
。このときのデータメモリアクセスは、既に空間切り替
えされたエミュレーションRAM50に対し、で行われ
る。
サイクルT8でフェッチされたエミュレーション命令E
4がサイクルT9でデコードされて、RTE命令である
ことが判定されると、命令空間をエミュレーションRO
M4.0からユーザROM41に切り替えると共に、プ
ログラムカウンタをPCEMからPCに切り替える。、
更に、前記インストラクションレジスタIRBに待避さ
れていた命令N4をインストラクションレジスタIRQ
に転送する。したがって、同サイクルT9においてRO
M4からフェッチされた命令は実質的に無効とされ、前
記サイクルT4からT7でサプレスされた命令N4が、
その直後に実行可能にされる。
4がサイクルT9でデコードされて、RTE命令である
ことが判定されると、命令空間をエミュレーションRO
M4.0からユーザROM41に切り替えると共に、プ
ログラムカウンタをPCEMからPCに切り替える。、
更に、前記インストラクションレジスタIRBに待避さ
れていた命令N4をインストラクションレジスタIRQ
に転送する。したがって、同サイクルT9においてRO
M4からフェッチされた命令は実質的に無効とされ、前
記サイクルT4からT7でサプレスされた命令N4が、
その直後に実行可能にされる。
そして、それ以降ノーマル空間で命令フェッチが行われ
る。
る。
前記RTE命令のサイクルTllではRA M 5はエ
ミュレーションRAM、50からユーザRAM51に切
り替えられ、それ以降に続く命令のデータメモリアクセ
スはノーマル空間で行われる。
ミュレーションRAM、50からユーザRAM51に切
り替えられ、それ以降に続く命令のデータメモリアクセ
スはノーマル空間で行われる。
(DCONV命令)
次に別のエミュレーション対象命令としてDCONV命
令を説明する。
令を説明する。
第11図には当該DCONV命令の詳細な命令フォーマ
ットが示される。この命令は、レジスタ指定フィールド
Rsで指定されるレジスタの内容を、コンバートタイプ
指定フィールドTB、TAの内容に応じて変換し、その
結果を再び元のレジスタに戻す処理を行うものである。
ットが示される。この命令は、レジスタ指定フィールド
Rsで指定されるレジスタの内容を、コンバートタイプ
指定フィールドTB、TAの内容に応じて変換し、その
結果を再び元のレジスタに戻す処理を行うものである。
コンバートタイプ指定フィールドTB(1’ype
Before)は当該命令実行前のデータタイプを示し
、コンバートタイプ指定フィールドTA(TypeAf
ter)は当該命令実行後のデータタイプを示す。
Before)は当該命令実行前のデータタイプを示し
、コンバートタイプ指定フィールドTA(TypeAf
ter)は当該命令実行後のデータタイプを示す。
前記コンバートタイプ指定フィールドの値とデータタイ
プとの関係は以下のようになっている。
プとの関係は以下のようになっている。
oooo ;符号付きバイト整数
(下8桁有効)
0001;符号付きワード整数
(下16桁有効)
0010;符号付きロングワード整数
(32桁全ビット有効)
0011;符号付きエクステント整数
(次しジスタ結合、64桁有効)
0100;符号無しバイト整数
(下8桁有効)
0101 ;符号無しワード整数
(下16桁有効)
0 ]、 10 ;符号無しロングワード整数(32桁
全ビット有効) 0111;符号付きエクステント整数 (次しジスタ結合、64桁有効) 1000;IEEE 単精度浮動小数点数(32桁有
効) 1001 ; IEEE 倍精度浮動小数点数(64
桁有効) 1010 ; IEEE 拡張倍精度浮動小数点数(
80桁有効) 1011;未定義 1100;BCD整数(10進数8桁)1101;BC
D整数(10進16桁)1110;未定義 1111 ;未定義 このDCONV命令でサポートするデータフォーマット
変換には複雑な処理を伴うため、当該命令を実現するた
めのエミュレーションには条件分岐が採用されている。
全ビット有効) 0111;符号付きエクステント整数 (次しジスタ結合、64桁有効) 1000;IEEE 単精度浮動小数点数(32桁有
効) 1001 ; IEEE 倍精度浮動小数点数(64
桁有効) 1010 ; IEEE 拡張倍精度浮動小数点数(
80桁有効) 1011;未定義 1100;BCD整数(10進数8桁)1101;BC
D整数(10進16桁)1110;未定義 1111 ;未定義 このDCONV命令でサポートするデータフォーマット
変換には複雑な処理を伴うため、当該命令を実現するた
めのエミュレーションには条件分岐が採用されている。
この条件分岐では、DC○NV命令のコンバートタイプ
指定フィールドTB。
指定フィールドTB。
TAを切り出し、これを分岐先番地のオフセットに反映
させる6次にその処理の概要を説明する。
させる6次にその処理の概要を説明する。
例えば命令実行前のデータタイプを示すコンバートタイ
プ指定フィールドTBの値をrooo。
プ指定フィールドTBの値をrooo。
(符号付きパイ1〜整数)」、当該命令実行後のデータ
タイプを示すコンバートタイプ指定フィールドTAの値
をrollo(符号無しロングワード整数)」とする。
タイプを示すコンバートタイプ指定フィールドTAの値
をrollo(符号無しロングワード整数)」とする。
第12図に示されるようにユーザROM412G間にお
いてDCONV命令がフェッチされると、命令空間がエ
ミュレーションROM4.0に切り替えられ、そのDC
ONV命令の命令デコート結果が反映されて取得された
アドレスにより、エミュレーションROM40がアクセ
スされて、エミュレーション命令EOを先頭とするエミ
ュレーションルーチンが開始される。この例に従ったエ
ミュレーションルーチンは、エミュレ−ション命令EO
からE3を実行した後、コンバートの内容に従ってエミ
ュレーション命令E8を先頭とするルーチンに条件分岐
し、最後にエミュレーション命令EjでRT E命令を
実行して再びノーマル空間に戻るようにされる。
いてDCONV命令がフェッチされると、命令空間がエ
ミュレーションROM4.0に切り替えられ、そのDC
ONV命令の命令デコート結果が反映されて取得された
アドレスにより、エミュレーションROM40がアクセ
スされて、エミュレーション命令EOを先頭とするエミ
ュレーションルーチンが開始される。この例に従ったエ
ミュレーションルーチンは、エミュレ−ション命令EO
からE3を実行した後、コンバートの内容に従ってエミ
ュレーション命令E8を先頭とするルーチンに条件分岐
し、最後にエミュレーション命令EjでRT E命令を
実行して再びノーマル空間に戻るようにされる。
即ち、
(EO;MOV、L ERI、T2)インストラクシ
ョンレジスタIRQを介してエミュレーションインスト
ラクションレジスタEIRに保持されているDCONV
命令がテンポラリレジスタT2に転送され、 (El ;MOV、B T2.T2)そのテンポラリ
レジスタ1゛2に格納されているDCONV命令のコン
バートタイプ指定フィールドTB、TAの全8ビツトの
値が同テンポラリレジスタT2に切り出され。
ョンレジスタIRQを介してエミュレーションインスト
ラクションレジスタEIRに保持されているDCONV
命令がテンポラリレジスタT2に転送され、 (El ;MOV、B T2.T2)そのテンポラリ
レジスタ1゛2に格納されているDCONV命令のコン
バートタイプ指定フィールドTB、TAの全8ビツトの
値が同テンポラリレジスタT2に切り出され。
(E2;5HLA、L T2.#3)テンポラリレジ
スタT2に切り出された値が3ビツトシフトされ、 (E3;BRA32 T2) プログラムカウンタPCEMの値にテンポラリレジスタ
〕゛2の値を加算して得られたアドレスのエミュレーシ
ョン命令E8に分岐され、(E8〜Ei) 1) CON V命令のレジスタ指定フィールドRsで
指定されるレジスタの値を符号付きパイ1〜整数から符
号無しロングワード整数にコンパ−1・する処理が行わ
れ、 (Ej;RTE) 最後にRTEが実行されて、命令空間がユーザROM4
1空間に切り替えられる。
スタT2に切り出された値が3ビツトシフトされ、 (E3;BRA32 T2) プログラムカウンタPCEMの値にテンポラリレジスタ
〕゛2の値を加算して得られたアドレスのエミュレーシ
ョン命令E8に分岐され、(E8〜Ei) 1) CON V命令のレジスタ指定フィールドRsで
指定されるレジスタの値を符号付きパイ1〜整数から符
号無しロングワード整数にコンパ−1・する処理が行わ
れ、 (Ej;RTE) 最後にRTEが実行されて、命令空間がユーザROM4
1空間に切り替えられる。
上記実施例によれば以下の作用効果がある。
(1)1動作サイクルでは実行することができないAD
DLIST、L命令やDCONV命令のような高機能命
令をエミュレーションで実現するとき、Cl5C型マイ
クロコンピユータの既存の命令セットにおける未定義命
令コードを流用して、これにエミュレーション対象命令
のコードを割当て、当該エミュレーション対象命令を前
記既存の命令セットなどに含まれる命令列でエミュレー
ション可能なように、当該命令列をエミュレーション命
令空間としてエミュレーションROM40に配置してお
く。同エミュレーション命令空間は、エミュレーション
を要しない命令空間としてのユーザROM、41とは別
空間に配置され、フェッチした命令がエミュレーション
対象命令か否かに応じてその命令空間が切り替え制御さ
れる。したがって、ノーマルモードで実行される命令と
エミュレーションモードで実行されるエミュレーション
命令はデコーダDECFなど共通の命令デコーダで解読
可能になり、エミュレーション対象命令のような高機能
命令のためにそれ専用のマイクロ・コードROMを特別
に設けなくても済む。これにより、ハードウェアの複雑
化やチップサイズの大型化を招くことなく、高機能命令
をサポートするマイクロコンピュータを得ることができ
る。
DLIST、L命令やDCONV命令のような高機能命
令をエミュレーションで実現するとき、Cl5C型マイ
クロコンピユータの既存の命令セットにおける未定義命
令コードを流用して、これにエミュレーション対象命令
のコードを割当て、当該エミュレーション対象命令を前
記既存の命令セットなどに含まれる命令列でエミュレー
ション可能なように、当該命令列をエミュレーション命
令空間としてエミュレーションROM40に配置してお
く。同エミュレーション命令空間は、エミュレーション
を要しない命令空間としてのユーザROM、41とは別
空間に配置され、フェッチした命令がエミュレーション
対象命令か否かに応じてその命令空間が切り替え制御さ
れる。したがって、ノーマルモードで実行される命令と
エミュレーションモードで実行されるエミュレーション
命令はデコーダDECFなど共通の命令デコーダで解読
可能になり、エミュレーション対象命令のような高機能
命令のためにそれ専用のマイクロ・コードROMを特別
に設けなくても済む。これにより、ハードウェアの複雑
化やチップサイズの大型化を招くことなく、高機能命令
をサポートするマイクロコンピュータを得ることができ
る。
(2)命令のエミュレーション用空間髪別に持つことに
より、命令セットを流用する既存のCl5C型マイクロ
コンピユータとの関係においてオペレーティングシステ
ムのベクトルハンドラを変更することなくエミュレーシ
ョンを行うことができ。
より、命令セットを流用する既存のCl5C型マイクロ
コンピユータとの関係においてオペレーティングシステ
ムのベクトルハンドラを変更することなくエミュレーシ
ョンを行うことができ。
従来のソフトウェアとの互換性を確保しながら高機能命
令をサポートすることができる。
令をサポートすることができる。
(3)エミュレーション命令列に含まれるRTE命令を
実行して、ノーマルモートからエミュレーションモード
に移行した後に再びノーマルモードに戻るときの処理を
実現することにより、その処理を簡単にすることができ
る。
実行して、ノーマルモートからエミュレーションモード
に移行した後に再びノーマルモードに戻るときの処理を
実現することにより、その処理を簡単にすることができ
る。
(4)プログラムカウンタを、エミュレーション命令用
P CE M O〜PCEM3とその他のマクロ命令用
PCO〜P C3とで夫々別々に設け、同様にコンディ
ションコードレジスタを、エミュレーション命令用CC
RE Mとその他のマクロ命令用CCRとで夫々別々に
設け、前記命令空間の切り替えに同期してそれらレジス
タも切り替え制御することにより、命令空間を切り替え
てノーマルモートからエミュレーションモードに移行し
て再びノーマルモードに戻ったときの処理の継続性を保
証するときにプログラムカウンタなどの状態保存に余計
な時間を費やさなくても済むと共に、状態保存のための
処理も大部分省略することができる。
P CE M O〜PCEM3とその他のマクロ命令用
PCO〜P C3とで夫々別々に設け、同様にコンディ
ションコードレジスタを、エミュレーション命令用CC
RE Mとその他のマクロ命令用CCRとで夫々別々に
設け、前記命令空間の切り替えに同期してそれらレジス
タも切り替え制御することにより、命令空間を切り替え
てノーマルモートからエミュレーションモードに移行し
て再びノーマルモードに戻ったときの処理の継続性を保
証するときにプログラムカウンタなどの状態保存に余計
な時間を費やさなくても済むと共に、状態保存のための
処理も大部分省略することができる。
、(5)エミュレーション命令の実行にのみ利用可能な
テンポラリレジスタT1〜T3を、エミュレーション命
令実行用のリソースとして追加利用可能にしたり、デー
タメモリ空間もエミュレーション命令実行用(エミュレ
ーションRAM50)とその他のマクロ命令実行用(ユ
ーザRAM51)とで夫々別々にすることにより、同じ
く、状態保存などに手間をかけずに処理の継続性を保証
する事ができると共に、エミュレーションによる高機能
処理に必要なレジスタや作業領域を大きくすることがで
きる。
テンポラリレジスタT1〜T3を、エミュレーション命
令実行用のリソースとして追加利用可能にしたり、デー
タメモリ空間もエミュレーション命令実行用(エミュレ
ーションRAM50)とその他のマクロ命令実行用(ユ
ーザRAM51)とで夫々別々にすることにより、同じ
く、状態保存などに手間をかけずに処理の継続性を保証
する事ができると共に、エミュレーションによる高機能
処理に必要なレジスタや作業領域を大きくすることがで
きる。
(6)フェッチされたエミュレーション対象命令の転送
を受けてこれを保持すると共に、これが保持するエミュ
レーション対象命令の全部または一部を演算部3に転送
可能なエミュレーションインストラクションレジスタE
IRを設けておくことにより、エミュレーション命令を
実行するための演算処理に、これに対応するエミュレー
ション対象命令のオペレーションコードやイミイデイエ
イ1〜値を利用可能にすることができる。
を受けてこれを保持すると共に、これが保持するエミュ
レーション対象命令の全部または一部を演算部3に転送
可能なエミュレーションインストラクションレジスタE
IRを設けておくことにより、エミュレーション命令を
実行するための演算処理に、これに対応するエミュレー
ション対象命令のオペレーションコードやイミイデイエ
イ1〜値を利用可能にすることができる。
(7)エミュレーション対象命令におけるオペレーショ
ンコートの全部又は一部をエミュレーション命令列の先
頭番地に反映させることにより、当該番地を命令デコー
トサイクルを利用して簡単な処理で短時間に得ることが
できるようになる。
ンコートの全部又は一部をエミュレーション命令列の先
頭番地に反映させることにより、当該番地を命令デコー
トサイクルを利用して簡単な処理で短時間に得ることが
できるようになる。
(8)命令フェッチ、命令デコート、命令実行など複数
段のパイプライン処理で命令を実行するとき、命令テコ
−1〜サイクルでエミュレーション対象命令を検出した
とき、ごれに並行する命令フェノ9サイクルで既にイン
ストラクションレジスタI RQにフェッチされている
次命令を保存するためのインストラクション待避しジス
タIRBを設けておき、エミュレーション命令列のRT
’ E命令を実行したとき同レジスタIRBの値をイン
ストラクションレジスタI RQに戻すようにすること
により、命令実行動作効率を向トさせることができる。
段のパイプライン処理で命令を実行するとき、命令テコ
−1〜サイクルでエミュレーション対象命令を検出した
とき、ごれに並行する命令フェノ9サイクルで既にイン
ストラクションレジスタI RQにフェッチされている
次命令を保存するためのインストラクション待避しジス
タIRBを設けておき、エミュレーション命令列のRT
’ E命令を実行したとき同レジスタIRBの値をイン
ストラクションレジスタI RQに戻すようにすること
により、命令実行動作効率を向トさせることができる。
以」−本発明者によってなされた発明を実施例に基づい
て具体的に説明したが、本発明はそれに限定されるもの
ではなく、その要旨を逸脱しない範囲において種々変更
することができる。
て具体的に説明したが、本発明はそれに限定されるもの
ではなく、その要旨を逸脱しない範囲において種々変更
することができる。
例えば、エミュレーション対象命令は上記実施例のAD
DLIST、L命令やDCONV命令に限定されず、比
較的処理ステップ数が多くなるその他の命令として設定
することができる。また、命令フォーマットや命令の種
別は上記実施例に限定されず適宜変更することができる
。
DLIST、L命令やDCONV命令に限定されず、比
較的処理ステップ数が多くなるその他の命令として設定
することができる。また、命令フォーマットや命令の種
別は上記実施例に限定されず適宜変更することができる
。
インストラクションレジスタの直列段数やプログラムカ
ウンタの直列段数はマイクロコンピュータの機能に応じ
て変更可能である。さらに、内蔵される演算器の種類や
内部バスの構成も上記実施例に限定されない。
ウンタの直列段数はマイクロコンピュータの機能に応じ
て変更可能である。さらに、内蔵される演算器の種類や
内部バスの構成も上記実施例に限定されない。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野である、RA、、M、RO
M、、周辺ジュールを1チツプに内蔵したマイクロコン
ピュータに適用した場合について説明したが、本発明は
それに限定されるものではなく、RAM、ROM、周辺
ジュールをオン・チップ化していないマイクロコンピュ
ータにも広くて適用することができる。本発明は、少な
くとも、高機能命令をエミュレーションで実現する条件
のものに適用することができる。
をその背景となった利用分野である、RA、、M、RO
M、、周辺ジュールを1チツプに内蔵したマイクロコン
ピュータに適用した場合について説明したが、本発明は
それに限定されるものではなく、RAM、ROM、周辺
ジュールをオン・チップ化していないマイクロコンピュ
ータにも広くて適用することができる。本発明は、少な
くとも、高機能命令をエミュレーションで実現する条件
のものに適用することができる。
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記の通りである。
て得られる効果を簡単に説明すれば下記の通りである。
すなわち、高機能命令をエミュレーションで実現すると
き、命令のエミユレーション用空間を別に設け、フェッ
チした命令がエミュレーション対象命令か否かに応じて
命令空間を切り替え制御して、ノーマルモードとエミュ
レーションモートを達成するから、双方の動作モードで
夫々実行される命令は共通の命令デコーダで解読可能に
なり、エミュレーション対象命令のような高機能命令の
ためにそれ専用のマイクロ−コードROMを特別に設け
なくても済み、これにより、ハードウェアの複雑化やチ
ップサイズの大型化を招くことなく、高機能命令をサポ
ートするマイクロコンピュータを得ることができるとい
う効果がある。
き、命令のエミユレーション用空間を別に設け、フェッ
チした命令がエミュレーション対象命令か否かに応じて
命令空間を切り替え制御して、ノーマルモードとエミュ
レーションモートを達成するから、双方の動作モードで
夫々実行される命令は共通の命令デコーダで解読可能に
なり、エミュレーション対象命令のような高機能命令の
ためにそれ専用のマイクロ−コードROMを特別に設け
なくても済み、これにより、ハードウェアの複雑化やチ
ップサイズの大型化を招くことなく、高機能命令をサポ
ートするマイクロコンピュータを得ることができるとい
う効果がある。
しかも、命令のエミユレーション用空間を別に持つこと
により、命令セットを流用する既存のマイクロコンピュ
ータとの関係においてオペレーティングシステムのベク
トルハンドラを変更することなくエミュレーションを行
うことができ、従来のソフトウェアとの互換性を確保し
ながら高機能命令をサポートすることができる。
により、命令セットを流用する既存のマイクロコンピュ
ータとの関係においてオペレーティングシステムのベク
トルハンドラを変更することなくエミュレーションを行
うことができ、従来のソフトウェアとの互換性を確保し
ながら高機能命令をサポートすることができる。
ノーマルモードからエミュレーションモードに移行した
後に再びノーマルモートに戻るときの処理を、エミュレ
ーション命令列に含まれるリターン命令を実行するこで
実現することにより、その処理を簡単にすることができ
る。
後に再びノーマルモートに戻るときの処理を、エミュレ
ーション命令列に含まれるリターン命令を実行するこで
実現することにより、その処理を簡単にすることができ
る。
プログラムカウンタやコンディションコードレジスタな
どをエミュレーション命令用とその他のマクロ命令用と
でそれぞれ別々に設け、命令空間の切り替えに同期して
それらレジスタも切り替え制御することにより、命令空
間を切り替えてノーマルモードからエミュレーションモ
ードに移行して再びノーマルモードに戻ったときの処理
の継続性を保証するときにプログラムカウンタなどの状
態保存に余計な時間を費やさなくても済むという効果が
ある。
どをエミュレーション命令用とその他のマクロ命令用と
でそれぞれ別々に設け、命令空間の切り替えに同期して
それらレジスタも切り替え制御することにより、命令空
間を切り替えてノーマルモードからエミュレーションモ
ードに移行して再びノーマルモードに戻ったときの処理
の継続性を保証するときにプログラムカウンタなどの状
態保存に余計な時間を費やさなくても済むという効果が
ある。
エミュレーション命令の実行にのみ利用可能なテンポラ
リレジスタを、エミュレーション命令実行用のリソース
として追加利用可能にしたり、データメモリ空間もエミ
ュレーション命令実行用とその他のマクロ命令実行用と
で夫々別々にすることにより、同じく、状態保存などに
手間をかけずに処理の継続性を保証する事ができると共
に、エミュレーションによる高機能処理に必要なレジス
タや作業領域を大きくすることができる。
リレジスタを、エミュレーション命令実行用のリソース
として追加利用可能にしたり、データメモリ空間もエミ
ュレーション命令実行用とその他のマクロ命令実行用と
で夫々別々にすることにより、同じく、状態保存などに
手間をかけずに処理の継続性を保証する事ができると共
に、エミュレーションによる高機能処理に必要なレジス
タや作業領域を大きくすることができる。
フェッチされたエミュレーション対象命令の転送を受け
てこれを保持し、保持したエミュレーション対象命令の
全部または一部を演算部に転送可能なエミュレーション
インストラクションレジスタを設けておくことにより、
エミュレーション命令を実行するための演算処理で、同
エミュレーション命令に対応するエミュレーション対象
命令のオペレーションコードやイミイディエイト値を容
易に利用することができる。
てこれを保持し、保持したエミュレーション対象命令の
全部または一部を演算部に転送可能なエミュレーション
インストラクションレジスタを設けておくことにより、
エミュレーション命令を実行するための演算処理で、同
エミュレーション命令に対応するエミュレーション対象
命令のオペレーションコードやイミイディエイト値を容
易に利用することができる。
エミュレーション対象命令におけるオペレーションコー
ドの全部又は一部をエミュレーション命令列の先頭番地
に反映させることにより、当該番地を命令デコードサイ
クルを利用して簡単な処理で短時間に得ることができる
ようになる。
ドの全部又は一部をエミュレーション命令列の先頭番地
に反映させることにより、当該番地を命令デコードサイ
クルを利用して簡単な処理で短時間に得ることができる
ようになる。
命令フェッチ、命令デコート、命令実行など複数段のパ
イプライン処理で命令を実行するとき、命令デコードサ
イクルでエミュレーション対象命令を検出したとき、こ
れに並行する命令フェッチサイクルで既にインストラク
ションレジスタにフェッチされた次命令を保存するため
のインストラクション待避レジスタを設けておき、エミ
ュレーション命令列のリターン命令を実行したとき同レ
ジスタの値をインストラクションレジスタに戻すように
することにより、命令実行動作効率を向上させることが
できる。
イプライン処理で命令を実行するとき、命令デコードサ
イクルでエミュレーション対象命令を検出したとき、こ
れに並行する命令フェッチサイクルで既にインストラク
ションレジスタにフェッチされた次命令を保存するため
のインストラクション待避レジスタを設けておき、エミ
ュレーション命令列のリターン命令を実行したとき同レ
ジスタの値をインストラクションレジスタに戻すように
することにより、命令実行動作効率を向上させることが
できる。
第1図は本発明に係るマイクロコンピュータの一実施例
ブロック図、 第2図は本実施例のマイクロコンピュータにおける中央
処理装置の詳細な一例ブロック図、第3図は命令フォー
マットの基本形態説明図、第4図は2レジスタフオーマ
ツト命令の一例説明図、 第5図はルジスタ及び4ピットイミゾイエイトフォーマ
ット命令の一例説明図。 第6図はルジスタ及び8ピツトイミゾイエイトフオーマ
ツト 第7図はエミュレーション対象命令の一例であるA.D
DLIST.L命令をエミュレーションによって実現す
るための処理内容説明図、第8図はADDLrST.L
命令に対応するエミュレーション命令列の一例フオーマ
ット図第9図はADDLIST.L命令とこれに対応す
るエミュレーションルーチンの実行フローの一例説明図
。 第10図はADDLIST.L命令をエミュレーション
によって実現するときの5段パイプライン動作フローの
一例説明図、 第11図はエミュレーション対象命令の別の例であるD
CONV命令のフォーマット図、第12図はDCONV
命令とこれに対応するエミュレーションルーチンの実行
フローの一例説明図である。 1・・・マイクロコンピュータ、2・・・制御部、3・
・演算部、4・・・ROM、5・・・RAM、40・・
・エミュレーションROM、41・・ユーザROM、5
0・・・エミュレーションRAM、51・・・ユーザR
AM、IRO〜IR5・・インストラクションレジスタ
、IRB・・・インス1−ラクション待避レジスタ、E
IR・・・エミュレーションインストラクションレジス
タ、TAG1〜TAG5・・タグレジスタ、DECF、
DECA、DECD、DECM・・・命令デコーダ、φ
I、φD・・・空間切り替え用制御信号、pcO−PC
3・・・プログラムカウンタ、PCEMO〜PCEM3
・・・エミユレーション用のプログラムカウンタ、T1
〜T3・・・エミユレーション用のテンポラリレジスタ
、CCR・・・コンディションコードレジスタ、CCR
EM・・エミユレーション用のコンディションコードレ
ジスタ、C0NT・・・制御回路。 第 1 図 ■ / 第 7 図 第 8 図 /4゜ 第 9 図 第11図 第12図 平成4年2月19日 特 許 庁 長 官 殿 1、事件の表示 平成2年特許願第332846号 2、発明の名称 マイクロコンピュータ 3、補正をする者 事件との関係 特許出願人 名称 (5101株式会社日立製作所4、代理人 住所 東京都文京区湯島3丁目21番5号サンコート湯
島401号
ブロック図、 第2図は本実施例のマイクロコンピュータにおける中央
処理装置の詳細な一例ブロック図、第3図は命令フォー
マットの基本形態説明図、第4図は2レジスタフオーマ
ツト命令の一例説明図、 第5図はルジスタ及び4ピットイミゾイエイトフォーマ
ット命令の一例説明図。 第6図はルジスタ及び8ピツトイミゾイエイトフオーマ
ツト 第7図はエミュレーション対象命令の一例であるA.D
DLIST.L命令をエミュレーションによって実現す
るための処理内容説明図、第8図はADDLrST.L
命令に対応するエミュレーション命令列の一例フオーマ
ット図第9図はADDLIST.L命令とこれに対応す
るエミュレーションルーチンの実行フローの一例説明図
。 第10図はADDLIST.L命令をエミュレーション
によって実現するときの5段パイプライン動作フローの
一例説明図、 第11図はエミュレーション対象命令の別の例であるD
CONV命令のフォーマット図、第12図はDCONV
命令とこれに対応するエミュレーションルーチンの実行
フローの一例説明図である。 1・・・マイクロコンピュータ、2・・・制御部、3・
・演算部、4・・・ROM、5・・・RAM、40・・
・エミュレーションROM、41・・ユーザROM、5
0・・・エミュレーションRAM、51・・・ユーザR
AM、IRO〜IR5・・インストラクションレジスタ
、IRB・・・インス1−ラクション待避レジスタ、E
IR・・・エミュレーションインストラクションレジス
タ、TAG1〜TAG5・・タグレジスタ、DECF、
DECA、DECD、DECM・・・命令デコーダ、φ
I、φD・・・空間切り替え用制御信号、pcO−PC
3・・・プログラムカウンタ、PCEMO〜PCEM3
・・・エミユレーション用のプログラムカウンタ、T1
〜T3・・・エミユレーション用のテンポラリレジスタ
、CCR・・・コンディションコードレジスタ、CCR
EM・・エミユレーション用のコンディションコードレ
ジスタ、C0NT・・・制御回路。 第 1 図 ■ / 第 7 図 第 8 図 /4゜ 第 9 図 第11図 第12図 平成4年2月19日 特 許 庁 長 官 殿 1、事件の表示 平成2年特許願第332846号 2、発明の名称 マイクロコンピュータ 3、補正をする者 事件との関係 特許出願人 名称 (5101株式会社日立製作所4、代理人 住所 東京都文京区湯島3丁目21番5号サンコート湯
島401号
Claims (1)
- 【特許請求の範囲】 1、マクロ命令セットに含まれる所定命令としてのエミ
ュレーション対象命令を、別のマクロ命令としてのエミ
ュレーション命令列でエミュレーションするマイクロコ
ンピュータであって、前記エミュレーション命令の空間
をその他のマクロ命令空間とは別に持ち、 フェッチした命令がエミュレーション対象命令か否かを
判定し、エミュレーション対象命令を検出したとき、命
令空間をエミュレーション命令空間に切り替えるための
論理を持つ制御手段を含んで、 成るものであることを特徴とするマイクロコンピュータ
。 2、前記制御手段は、フェッチした命令がエミュレーシ
ョン命令としてのリターン命令か否かを判定し、リター
ン命令を検出したとき、エミュレーション命令空間をそ
の他のマクロ命令空間に切り替えるための論理を更に含
んで成るものであることを特徴とする請求項1記載のマ
イクロコンピュータ。 3、エミュレーション命令用とその他のマクロ命令用に
それぞれ専用化されたプログラムカウンタ及びコンディ
ションコードレジスタを有し、前記制御手段には、命令
空間の切り替えに応じて前記レジスタを切り替え選択す
るための論理を更に追加して、 成るものであることを特徴とする請求項1又は2記載の
マイクロコンピュータ。 4、エミュレーション命令の実行にのみ利用可能なテン
ポラリレジスタを設け、 前記制御手段には、エミュレーション対象命令め検出に
応じて、それらテンポラリレジスタを、エミュレーショ
ン命令実行用のリソースとして追加利用可能にする論理
を更に追加して、成るものであることを特徴とする請求
項1乃至3の何れか1項記載のマイクロコンピュータ。 5、インストラクションレジスタからエミュレーション
対象命令の転送を受けてこれを保持すると共に、これが
保持するエミュレーション対象命令の全部または一部を
演算部に転送可能なエミュレーションインストラクショ
ンレジスタを設けて成るものであることを特徴とする請
求項1乃至4の何れか1項記載のマイクロコンピュータ
。 6、前記制御手段に、エミュレーション対象命令におけ
るオペレーションコードの全部又は一部を用いて、対応
するエミュレーション命令の番地を演算するための論理
を更に追加して成るものであることを特徴とする請求項
1乃至5の何れか1項記載のマイクロコンピュータ。 7、エミュレーション命令空間における命令実行と、そ
の他のマクロ命令空間における命令実行とで、それぞれ
専用化されたデータメモリ空間を別々に持ち、 前記制御手段には、命令空間の切り替えに応じてデータ
メモリ空間を切り替え制御するための論理を更に追加し
て、 成るものであることを特徴とする請求項1乃至6の何れ
か1項記載のマイクロコンピュータ。 8、命令デコードサイクルで前記制御手段がエミュレー
ション対象命令を検出したとき、これに並行する命令フ
ェッチサイクルでフェッチされた次命令を保存する為の
インストラクション待避レジスタを設け、 前記制御手段には、前記リターン命令を検出したときに
、インストラクション待避レジスタの値をインストラク
ションレジスタに戻す為の論理を更に追加して、 成るものであることを特徴とする請求項2記載のマイク
ロコンピュータ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2332846A JPH04199331A (ja) | 1990-11-29 | 1990-11-29 | マイクロコンピュータ |
KR1019910021030A KR920010422A (ko) | 1990-11-29 | 1991-11-23 | 마이크로 컴퓨터 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2332846A JPH04199331A (ja) | 1990-11-29 | 1990-11-29 | マイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04199331A true JPH04199331A (ja) | 1992-07-20 |
Family
ID=18259450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2332846A Pending JPH04199331A (ja) | 1990-11-29 | 1990-11-29 | マイクロコンピュータ |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPH04199331A (ja) |
KR (1) | KR920010422A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011508921A (ja) * | 2007-12-29 | 2011-03-17 | 中国科学院▲計▼算技▲術▼研究所 | Riscプロセッサ及びレジスタのフラグビットの処理方法 |
CN104049948A (zh) * | 2013-03-16 | 2014-09-17 | 英特尔公司 | 指令仿真处理器、方法和系统 |
JP2014194770A (ja) * | 2013-03-16 | 2014-10-09 | Intel Corp | 命令エミュレーションプロセッサ、方法、およびシステム |
JP2020140290A (ja) * | 2019-02-27 | 2020-09-03 | 株式会社ウーノラボ | 中央演算処理装置 |
-
1990
- 1990-11-29 JP JP2332846A patent/JPH04199331A/ja active Pending
-
1991
- 1991-11-23 KR KR1019910021030A patent/KR920010422A/ko not_active Application Discontinuation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011508921A (ja) * | 2007-12-29 | 2011-03-17 | 中国科学院▲計▼算技▲術▼研究所 | Riscプロセッサ及びレジスタのフラグビットの処理方法 |
CN104049948A (zh) * | 2013-03-16 | 2014-09-17 | 英特尔公司 | 指令仿真处理器、方法和系统 |
JP2014182813A (ja) * | 2013-03-16 | 2014-09-29 | Intel Corp | 命令エミュレーションプロセッサ、方法、およびシステム |
JP2014194770A (ja) * | 2013-03-16 | 2014-10-09 | Intel Corp | 命令エミュレーションプロセッサ、方法、およびシステム |
US9703562B2 (en) | 2013-03-16 | 2017-07-11 | Intel Corporation | Instruction emulation processors, methods, and systems |
JP2020140290A (ja) * | 2019-02-27 | 2020-09-03 | 株式会社ウーノラボ | 中央演算処理装置 |
US12111788B2 (en) | 2019-02-27 | 2024-10-08 | Uno Laboratories, Ltd. | Central processing unit with asynchronous registers |
Also Published As
Publication number | Publication date |
---|---|
KR920010422A (ko) | 1992-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100323191B1 (ko) | 다중명령세트를이용한데이터프로세싱장치 | |
JP5199931B2 (ja) | Riscアーキテクチャを有する8ビットマイクロコントローラ | |
US3646522A (en) | General purpose optimized microprogrammed miniprocessor | |
US6327647B1 (en) | Method and apparatus for interfacing a processor to a coprocessor | |
TWI541658B (zh) | 資料處理裝置及半導體積體電路裝置 | |
US5426783A (en) | System for processing eight bytes or less by the move, pack and unpack instruction of the ESA/390 instruction set | |
JPH09212358A (ja) | データ処理装置及びマイクロプロセッサ | |
JPH09512652A (ja) | 多重命令セットによるデータ処理 | |
JPH03218523A (ja) | データプロセッサ | |
JP2507638B2 (ja) | デ―タ処理装置 | |
JP2581236B2 (ja) | データ処理装置 | |
JPH1165839A (ja) | プロセッサの命令制御機構 | |
JP2001142692A (ja) | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 | |
JPH04233640A (ja) | メモリ拡張スキームを切り替える疑似直線バンクを有するマイクロコントローラ | |
JPS5811654B2 (ja) | デ−タシヨリシステム | |
US6012138A (en) | Dynamically variable length CPU pipeline for efficiently executing two instruction sets | |
JP2001142693A (ja) | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 | |
JPH0391029A (ja) | データ処理装置 | |
JPH04199331A (ja) | マイクロコンピュータ | |
JPH0651981A (ja) | データ処理装置 | |
JP2511151B2 (ja) | デ―タ処理装置 | |
US5187782A (en) | Data processing system | |
JP2646855B2 (ja) | データ処理装置 | |
JPH1091432A (ja) | プログラム実行方法およびプログラム実行装置 | |
JP3422690B2 (ja) | 実行プログラム生成装置 |