JPH01207825A - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JPH01207825A JPH01207825A JP63033089A JP3308988A JPH01207825A JP H01207825 A JPH01207825 A JP H01207825A JP 63033089 A JP63033089 A JP 63033089A JP 3308988 A JP3308988 A JP 3308988A JP H01207825 A JPH01207825 A JP H01207825A
- Authority
- JP
- Japan
- Prior art keywords
- operand
- instruction
- register
- memory
- refuge
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 20
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 101000619552 Homo sapiens Prion-like protein doppel Proteins 0.000 description 1
- 102100022209 Prion-like protein doppel Human genes 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔目 次〕
概要
産業上の利用分野
従来の技術 (第6図)発明が解決し
ようとする課題 課題を解決するための手段 作用 実施例 本発明の一実施例 (第1〜5図)発明の効果 〔概 要〕 マイクロプロセツサに関し、 汎用レジスタやワークレジスタ等をオペランド退避用と
して機能させ、専用の退避レジスタを不要にしてハード
ウェアーの規模を削減することを目的とし、 少なくとも2組のオプコードフィールドおよびオペラン
ドフィールドからなる命令コード列が入力され、該オプ
コードフィールド内のコード情報から命令の種別を解読
する解読手段と、前記オペランドフィールド内のコード
情報からオペランドの存在するレジスタ、即値、メモリ
などの位置を特定する特定手段と、を具備し、前記命令
の種別が少なくとも2つのオペランドを取り扱う処理命
令で、かつ、前記特定された位置が共に即値あるいはメ
モリの場合、該2つのオペランドの何れか一方を先にア
クセスする第1のアクセス手段と、該アクセスされた一
方のオペランドを汎用もしくはワークレジスタに退避す
る退避手段と、該一方のオペランドが退避された後、他
方のオペランドをアクセスする第2のアクセス手段と、
アクセスされた他方のオペランドおよび汎用もしくはワ
ークレジスタ内の一方のオペランドに対し、前記命令の
種別に従って処理を実行する実行手段と、を備えて構成
している。
ようとする課題 課題を解決するための手段 作用 実施例 本発明の一実施例 (第1〜5図)発明の効果 〔概 要〕 マイクロプロセツサに関し、 汎用レジスタやワークレジスタ等をオペランド退避用と
して機能させ、専用の退避レジスタを不要にしてハード
ウェアーの規模を削減することを目的とし、 少なくとも2組のオプコードフィールドおよびオペラン
ドフィールドからなる命令コード列が入力され、該オプ
コードフィールド内のコード情報から命令の種別を解読
する解読手段と、前記オペランドフィールド内のコード
情報からオペランドの存在するレジスタ、即値、メモリ
などの位置を特定する特定手段と、を具備し、前記命令
の種別が少なくとも2つのオペランドを取り扱う処理命
令で、かつ、前記特定された位置が共に即値あるいはメ
モリの場合、該2つのオペランドの何れか一方を先にア
クセスする第1のアクセス手段と、該アクセスされた一
方のオペランドを汎用もしくはワークレジスタに退避す
る退避手段と、該一方のオペランドが退避された後、他
方のオペランドをアクセスする第2のアクセス手段と、
アクセスされた他方のオペランドおよび汎用もしくはワ
ークレジスタ内の一方のオペランドに対し、前記命令の
種別に従って処理を実行する実行手段と、を備えて構成
している。
本発明は、マイクロプロセツサに関し、特に、ソースお
よびディスティネーション双方のオペランドが即値(イ
ミディエート)あるいはメモリの場合に、専用の退避レ
ジスタを用いることなく、一方のオペランドを汎用ある
いはワークレジスタに退避できるようにしたマイクロプ
ロセッサに関する。
よびディスティネーション双方のオペランドが即値(イ
ミディエート)あるいはメモリの場合に、専用の退避レ
ジスタを用いることなく、一方のオペランドを汎用ある
いはワークレジスタに退避できるようにしたマイクロプ
ロセッサに関する。
マイクロコンピュータ等の命令セントは基本的に、デー
タ転送グループ、数値演算グループ、論理演算グループ
、ブランチグループ、その他のグループ、の5グループ
に相当する命令を備え、各命令は一般に、2つのフィー
ルド、すなわち、その動作を指定する部分(オプコード
フィールド二〇PCODEフィールド)と、動作の対象
となるデータを指定する部分(オペランドフィールド:
0PRNDフイールド)からなっている。
タ転送グループ、数値演算グループ、論理演算グループ
、ブランチグループ、その他のグループ、の5グループ
に相当する命令を備え、各命令は一般に、2つのフィー
ルド、すなわち、その動作を指定する部分(オプコード
フィールド二〇PCODEフィールド)と、動作の対象
となるデータを指定する部分(オペランドフィールド:
0PRNDフイールド)からなっている。
オプコードフィールドは、一定のビットパターンによる
コードが与えられており、そのコードがCPUによって
判読されたうえで実行される。例えば、このコードのフ
ィールドが8ビツトに固定されていれば28個すなわち
計256個の異った命令を設定することができる。
コードが与えられており、そのコードがCPUによって
判読されたうえで実行される。例えば、このコードのフ
ィールドが8ビツトに固定されていれば28個すなわち
計256個の異った命令を設定することができる。
ところで、近年マイクロプロセッサ等の高性能化に伴っ
て命令セントには、より多くのビット数を使用して命令
あたりの情報量を増大する傾向にある。
て命令セントには、より多くのビット数を使用して命令
あたりの情報量を増大する傾向にある。
第6図は、そのような命令フィールドを示す図であり、
この命令フィールドは、2組の命令フィールド○M、、
OM2からなっている。各組は、オブコードフィールド
0PCODEI、2およびオペランドフィールド○PR
NDI、2からなっていて、0PCODEIは単項演算
の種別および単項/二項演算命令の区別等の情報をもつ
。また、オペランドフィールド0PRNDI、2は、オ
ペランドをパ特定”するための情報格納用として用いら
れる。
この命令フィールドは、2組の命令フィールド○M、、
OM2からなっている。各組は、オブコードフィールド
0PCODEI、2およびオペランドフィールド○PR
NDI、2からなっていて、0PCODEIは単項演算
の種別および単項/二項演算命令の区別等の情報をもつ
。また、オペランドフィールド0PRNDI、2は、オ
ペランドをパ特定”するための情報格納用として用いら
れる。
ここで、オペランドの特定とは、
(1)オペランドの存在する位置が、プロセッサ内部の
レジスタか、あるいはメモリか、もしくは、オペランド
フィールド内の情報そのものがオペランド(いわゆる即
値:イミディエート)か、などのオペランド指定モード
の区別や、(II)オペランド指定がメモリの場合、レ
ジスタ相対、プログラムカウンタ相対、スタックポイン
タ相対、絶対アドレス指定などのオペランドアドレスの
計算方法、などを示す情報をコード化したものであり、 0PCODEI、2内のコード情報で表わされる命令に
使用されるオペランドを直接与えたり(即値の場合)、
あるいは該当するレジスタやメモリなどから取り出すた
めのアクセス情報を与えたりして、最終的にオペランド
に対して○Pc0DEI、2のコード列で表わされた命
令が実行される。
レジスタか、あるいはメモリか、もしくは、オペランド
フィールド内の情報そのものがオペランド(いわゆる即
値:イミディエート)か、などのオペランド指定モード
の区別や、(II)オペランド指定がメモリの場合、レ
ジスタ相対、プログラムカウンタ相対、スタックポイン
タ相対、絶対アドレス指定などのオペランドアドレスの
計算方法、などを示す情報をコード化したものであり、 0PCODEI、2内のコード情報で表わされる命令に
使用されるオペランドを直接与えたり(即値の場合)、
あるいは該当するレジスタやメモリなどから取り出すた
めのアクセス情報を与えたりして、最終的にオペランド
に対して○Pc0DEI、2のコード列で表わされた命
令が実行される。
このような命令フィールドを実行するマイクロコンピュ
ータは、0PCODEI、2を解読して命令の種別を判
読するとともに、0PRNDI、2を評価してオペラン
ドの特定を行う必要がある。
ータは、0PCODEI、2を解読して命令の種別を判
読するとともに、0PRNDI、2を評価してオペラン
ドの特定を行う必要がある。
従来のこの種の命令フィールドを実行するマイクロプロ
セッサとしては、例えば、各種命令毎の命令別マイクロ
プログラムと、○PRND1.2を評価する各種命令に
共通の評価マイクロプログラムとを有し、命令デコーダ
は、○PCODEI、2を解読した結果、命令に対応す
る命令別マイクロプログラムの開始アドレスを生成する
とともに、併せて評価マイクロプログラムの開始アドレ
スも生成する。そして、評価マイクロプログラムを実行
して0PRNDI、2からオペランドを特定し、特定さ
れたオペランドを用いて命令別マイクロプログラムを実
行するようなものがあった。
セッサとしては、例えば、各種命令毎の命令別マイクロ
プログラムと、○PRND1.2を評価する各種命令に
共通の評価マイクロプログラムとを有し、命令デコーダ
は、○PCODEI、2を解読した結果、命令に対応す
る命令別マイクロプログラムの開始アドレスを生成する
とともに、併せて評価マイクロプログラムの開始アドレ
スも生成する。そして、評価マイクロプログラムを実行
して0PRNDI、2からオペランドを特定し、特定さ
れたオペランドを用いて命令別マイクロプログラムを実
行するようなものがあった。
ところで、0PRNDI、2で指定される2つのオペラ
ンド、すなわち、ソースオペランドとディスティネーシ
ョンオペランドの双方が、例えば、共にメモリ指定の場
合、あるいは共に即値の場合には、何れか一方のオペラ
ンドあるいは双方のオペランドを処理の実行開始まで退
避させておく必要があり、このため、上述の従来例では
、ソースおよびディスティネーションオペランドを退避
させるための専用のレジスタを備えている。
ンド、すなわち、ソースオペランドとディスティネーシ
ョンオペランドの双方が、例えば、共にメモリ指定の場
合、あるいは共に即値の場合には、何れか一方のオペラ
ンドあるいは双方のオペランドを処理の実行開始まで退
避させておく必要があり、このため、上述の従来例では
、ソースおよびディスティネーションオペランドを退避
させるための専用のレジスタを備えている。
しかしながら、従来の退避専用のレジスタを備えたマイ
クロプロセッサにあっては、例えば、浮動少数点演算の
ように、12ハイド程度のオペランドを退避させる場合
には、少なくともそのハイド数分だけのレジスタ容量を
専用に確保していなければならないから、ハードウェア
の規模が増大するといった問題点があった。
クロプロセッサにあっては、例えば、浮動少数点演算の
ように、12ハイド程度のオペランドを退避させる場合
には、少なくともそのハイド数分だけのレジスタ容量を
専用に確保していなければならないから、ハードウェア
の規模が増大するといった問題点があった。
本発明は、このような問題点に鑑みてなされたもので、
汎用レジスタやワークレジスタ等をオペランド退避用と
して機能させ、専用レジスタを不要にしてハードウェア
の規模を削減することを目的としている。
汎用レジスタやワークレジスタ等をオペランド退避用と
して機能させ、専用レジスタを不要にしてハードウェア
の規模を削減することを目的としている。
本発明では、上記目的を達成するために、少なくとも2
Miのオプコードフィールドおよびオペランドフィール
ドからなる命令コード列が人力され、該オプコードフィ
ールド内のコード情報から命令の種別を解読する解読手
段と、前記オペランドフィールド内のコード情報からオ
ペランドの存在するレジスタ、即値、メモリなどの位置
を特定する特定手段と、を具備し、前記命令の種別が少
なくとも2つのオペランドを取り扱う処理命令で、かつ
、前記特定された位置が共に即値あるいはメモリの場合
、該2つのオペランドの何れか一方を先にアクセスする
第1のアクセス手段と、該アクセスされた一方のオペラ
ンドを汎用もしくはワークレジスタに退避する退避手段
と、該一方のオペランドが退避された後、他方のオペラ
ンドをアクセスする第2のアクセス手段と、アクセスさ
れた他方のオペランドおよび汎用もしくはワークレジス
タ内の一方のオペランドに対し、前記命令の種別に従っ
て処理を実行する実行手段と、を備えて構成している。
Miのオプコードフィールドおよびオペランドフィール
ドからなる命令コード列が人力され、該オプコードフィ
ールド内のコード情報から命令の種別を解読する解読手
段と、前記オペランドフィールド内のコード情報からオ
ペランドの存在するレジスタ、即値、メモリなどの位置
を特定する特定手段と、を具備し、前記命令の種別が少
なくとも2つのオペランドを取り扱う処理命令で、かつ
、前記特定された位置が共に即値あるいはメモリの場合
、該2つのオペランドの何れか一方を先にアクセスする
第1のアクセス手段と、該アクセスされた一方のオペラ
ンドを汎用もしくはワークレジスタに退避する退避手段
と、該一方のオペランドが退避された後、他方のオペラ
ンドをアクセスする第2のアクセス手段と、アクセスさ
れた他方のオペランドおよび汎用もしくはワークレジス
タ内の一方のオペランドに対し、前記命令の種別に従っ
て処理を実行する実行手段と、を備えて構成している。
本発明では、命令の種別が少なくとも2つのオペランド
を取り扱う処理命令で、かつオペランドの特定位置が共
に即値あるいはメモリの場合、先にアクセスされた一方
のオペランドを汎用もしくはワークレジスタに退避した
後、他方のオペランドがアクセスされ、これら一方およ
び他方のオペランドに対して命令が実行される。
を取り扱う処理命令で、かつオペランドの特定位置が共
に即値あるいはメモリの場合、先にアクセスされた一方
のオペランドを汎用もしくはワークレジスタに退避した
後、他方のオペランドがアクセスされ、これら一方およ
び他方のオペランドに対して命令が実行される。
すなわち、一方のオペランドが汎用もしくはワークレジ
スタに退避されるので、専用のレジスタ等を設ける必要
がなく、ハードウェアの規模増大を抑えることができる
。
スタに退避されるので、専用のレジスタ等を設ける必要
がなく、ハードウェアの規模増大を抑えることができる
。
以下、本発明を図面に基づいて説明する。
第1〜5図は、本発明に係るマイクロプロセッサの一実
施例を示す図である。
施例を示す図である。
まず、第1図の基本的な概念図に従って本実施例におけ
る命令の解読動作を説明する。
る命令の解読動作を説明する。
命令レジスタ内には、第6図で示す命令フィールドOM
が取り込まれており、この命令フィールドOMは解読部
に転送され、所定の解読処理を受ける。解読部からは以
下の3つの解読結果が出力される。
が取り込まれており、この命令フィールドOMは解読部
に転送され、所定の解読処理を受ける。解読部からは以
下の3つの解読結果が出力される。
すなわち、
(a)OPRNDI、2を解読した結果、(a−1)オ
ペランドの存在する位置がレジスタ、即値、メモリの何
れであるか、 (a−2)オペランドがレジスタの場合、使用される汎
用レジスタの番号、 (a−3)オペランドがメモリの場合、ベースとなるレ
ジスタ(汎用レジスタ、プロ ダラムカウンタ等)の指定と、変位 (ディスブレースメンl−)の発生制御、(a−4)オ
ペランドがリード、ライト、モデファライトの何れであ
るかといったア クセスタイプ、などのオペランドを特 定するオペランド特定出力、 (b)ソース、ディスティネーションの2つ以上のオペ
ランドを取り扱う例えば二項演算において、必要に応し
一方のオペランドを汎用あるいはワークレジスタに退避
させるよう指令する退避指令出力、 (c)OPCODEI、2を解読した結果、処理すべき
命令の種類(機能)を指示する命令種別出力、 などが出力される。
ペランドの存在する位置がレジスタ、即値、メモリの何
れであるか、 (a−2)オペランドがレジスタの場合、使用される汎
用レジスタの番号、 (a−3)オペランドがメモリの場合、ベースとなるレ
ジスタ(汎用レジスタ、プロ ダラムカウンタ等)の指定と、変位 (ディスブレースメンl−)の発生制御、(a−4)オ
ペランドがリード、ライト、モデファライトの何れであ
るかといったア クセスタイプ、などのオペランドを特 定するオペランド特定出力、 (b)ソース、ディスティネーションの2つ以上のオペ
ランドを取り扱う例えば二項演算において、必要に応し
一方のオペランドを汎用あるいはワークレジスタに退避
させるよう指令する退避指令出力、 (c)OPCODEI、2を解読した結果、処理すべき
命令の種類(機能)を指示する命令種別出力、 などが出力される。
また、上記オペランド出力および退避指令出力に従って
オペランド制御フラグが七ソ1−され、オペランド制御
フラグは、汎用レジスタ、ワークレジスタ、即値、メモ
リの各フラグを持つソース制御フラグ(SF)と、汎用
レジスタ、即値、メモすの各フラグを持つディスティネ
ーション制御フラグ(DF)と、を有している。
オペランド制御フラグが七ソ1−され、オペランド制御
フラグは、汎用レジスタ、ワークレジスタ、即値、メモ
リの各フラグを持つソース制御フラグ(SF)と、汎用
レジスタ、即値、メモすの各フラグを持つディスティネ
ーション制御フラグ(DF)と、を有している。
例えば、二項演算の場合には、ソースおよびディスティ
ネーションオペランドのうち、一方のオペランドを汎用
あるいはワークレジスタに退避するとともに、退避先を
各々のフラグにセットする。
ネーションオペランドのうち、一方のオペランドを汎用
あるいはワークレジスタに退避するとともに、退避先を
各々のフラグにセットする。
そして、他方のオペランドをアクセスした後、フラグを
点検して一方のオペランドを取り出し、これらソースお
よびディスティネーションオペランドに対して0PCO
DEI、2で示された命令を実行する。
点検して一方のオペランドを取り出し、これらソースお
よびディスティネーションオペランドに対して0PCO
DEI、2で示された命令を実行する。
このように、オペランドを命令の処理開始まで、汎用レ
ジスタあるいはワークレジスタに退避しておくことがで
きるので、退避専用のレジスタ等を備える必要がなく、
ハードウェアの規模増大を抑えることができる。
ジスタあるいはワークレジスタに退避しておくことがで
きるので、退避専用のレジスタ等を備える必要がなく、
ハードウェアの規模増大を抑えることができる。
第2図は一実施例の具体的な構成を示す図である。
第2図において、10はマイクロプロセッサであす、マ
イクロプロセッサ10は、命令フィールドOMを格納す
る命令レジスタ11と、命令フィールドOMを解読して
命令の種別を判読する解読部12と、を有し、解読部1
2は、0PCODEI、2を解読してマイクロプログラ
ムの先頭アドレスを出力したり、オペランドのアクセス
タイプ(リード/ライト)を指定する信号を出力するデ
コーダ12a、12bと、0PRNDI、2を解読して
オペランドモードを特定し、モード毎の指示信号を出力
するデコーダ12Gと、を有している。なお、上記デコ
ーダ12aおよびデコーダ12bは解読手段としての機
能を有し、例えば、デコーダ12aは単項命令を担当し
、デコーダ12bは二項命令を担当する。また、上記デ
コーダ12Cは特定手段としての機能を有している。
イクロプロセッサ10は、命令フィールドOMを格納す
る命令レジスタ11と、命令フィールドOMを解読して
命令の種別を判読する解読部12と、を有し、解読部1
2は、0PCODEI、2を解読してマイクロプログラ
ムの先頭アドレスを出力したり、オペランドのアクセス
タイプ(リード/ライト)を指定する信号を出力するデ
コーダ12a、12bと、0PRNDI、2を解読して
オペランドモードを特定し、モード毎の指示信号を出力
するデコーダ12Gと、を有している。なお、上記デコ
ーダ12aおよびデコーダ12bは解読手段としての機
能を有し、例えば、デコーダ12aは単項命令を担当し
、デコーダ12bは二項命令を担当する。また、上記デ
コーダ12Cは特定手段としての機能を有している。
マイクロプロセッサ10は解読されたオペランドモード
毎に内部回路を制御するモード制御部13を有し、モー
ド制御部13(第1および第2のアクセス手段)はオペ
ランドモードがメモリ指定の場合、オペランドアドレス
を生成するアドレス計算部13aと、オペランドモード
が即値(イミディエート)指定の場合、命令フィール1
0M中のオペランドを出力するイミディエート発生部1
2bと、オペランドモードがレジスタ指定の場合、後述
の汎用レジスタ18を管理して所定のレジスタブロック
を選択するレジスタ選択部13cと、を含んで構成され
ている。
毎に内部回路を制御するモード制御部13を有し、モー
ド制御部13(第1および第2のアクセス手段)はオペ
ランドモードがメモリ指定の場合、オペランドアドレス
を生成するアドレス計算部13aと、オペランドモード
が即値(イミディエート)指定の場合、命令フィール1
0M中のオペランドを出力するイミディエート発生部1
2bと、オペランドモードがレジスタ指定の場合、後述
の汎用レジスタ18を管理して所定のレジスタブロック
を選択するレジスタ選択部13cと、を含んで構成され
ている。
さらに、マイクロプロセッサ10は、解読された命令種
別、オペランドモード、アクセスタイプ、単項/二項命
令の区別、などを監視するとともに、これらの監視情報
に従ってマイクロプログラムを選択したり、フラグ制御
信号を生成するマイクロ選択およびフラグ生成部14と
、フラグ生成部14からのフラグ制御信号により七ソト
/リセットされる制御フラグ部15と、オペランドモー
ドがメモリ指定の場合、オペランドアドレスを保持する
アドレス保持部16と、オペランドモードがメモリ指定
の場合、メモリMからのオペランド読出しを制御するオ
ペランド読出し部(第1および第2のアクセス手段)1
7と、メモリMから読出された1つのオペランドを格納
するオペランド格納部MDIと、オペランドモードが即
値の場合、命令フィール10M中のオペランドを格納す
る即値格納部IDIと、レジスタ指定のオペランドを保
持し、あるいは、必要に応じてオペランド格納部MDI
や即値格納部IDI内のオペランドを取込んで退避のた
めにこれらを格納する他、実行処理途中において発生ず
る各種データ等を一時的に格納する汎用レジスタ(ある
いはワークレジスタ)18と、命令種別毎のマイクロプ
ログラムやオペランド退避用のマイクロプログラム等を
内部に持ち、アドレス指定によって所定のプログラムを
起動させ、オペランドの退避および命令の実行処理を制
御するマイクロプログラムROM (退避手段)19と
、オペランド格納部MDI、即値格納部IDI、汎用レ
ジスタ18などから供給されたソースおよびディスティ
ネーションオペランドに対し、そのときに起動中のマイ
クロプログラムに従ってMDIあるいはIDIから汎用
レジスタ18へのオペランド退避の実行や、各種命令を
実行する実行部(退避手段、実行手段)20と、マイク
ロプログラムの制御を受け、メモリMにオペランドを書
き込んだり、あるいは、退避プログラムの場合、汎用レ
ジスタ18にソースあるいはディスティネーションオペ
ランドを書き込んで退避させるオペランド書き込み制御
部21と、を有している。
別、オペランドモード、アクセスタイプ、単項/二項命
令の区別、などを監視するとともに、これらの監視情報
に従ってマイクロプログラムを選択したり、フラグ制御
信号を生成するマイクロ選択およびフラグ生成部14と
、フラグ生成部14からのフラグ制御信号により七ソト
/リセットされる制御フラグ部15と、オペランドモー
ドがメモリ指定の場合、オペランドアドレスを保持する
アドレス保持部16と、オペランドモードがメモリ指定
の場合、メモリMからのオペランド読出しを制御するオ
ペランド読出し部(第1および第2のアクセス手段)1
7と、メモリMから読出された1つのオペランドを格納
するオペランド格納部MDIと、オペランドモードが即
値の場合、命令フィール10M中のオペランドを格納す
る即値格納部IDIと、レジスタ指定のオペランドを保
持し、あるいは、必要に応じてオペランド格納部MDI
や即値格納部IDI内のオペランドを取込んで退避のた
めにこれらを格納する他、実行処理途中において発生ず
る各種データ等を一時的に格納する汎用レジスタ(ある
いはワークレジスタ)18と、命令種別毎のマイクロプ
ログラムやオペランド退避用のマイクロプログラム等を
内部に持ち、アドレス指定によって所定のプログラムを
起動させ、オペランドの退避および命令の実行処理を制
御するマイクロプログラムROM (退避手段)19と
、オペランド格納部MDI、即値格納部IDI、汎用レ
ジスタ18などから供給されたソースおよびディスティ
ネーションオペランドに対し、そのときに起動中のマイ
クロプログラムに従ってMDIあるいはIDIから汎用
レジスタ18へのオペランド退避の実行や、各種命令を
実行する実行部(退避手段、実行手段)20と、マイク
ロプログラムの制御を受け、メモリMにオペランドを書
き込んだり、あるいは、退避プログラムの場合、汎用レ
ジスタ18にソースあるいはディスティネーションオペ
ランドを書き込んで退避させるオペランド書き込み制御
部21と、を有している。
なお、22はマイクロ選択およびフラグ生成部14から
の管理を受けてデコーダ12aおよびデコーダ12bか
らのマイクロアドレスを切り換えるマルチプレクサ、2
3はマイクロプログラムROM19や制御フラグ部15
からの管理を受けてMDI、IDI、汎用レジスフ18
を切り換えソース、ディスティネーションオペランドと
して実行部20に供給するマルチプレクサである。
の管理を受けてデコーダ12aおよびデコーダ12bか
らのマイクロアドレスを切り換えるマルチプレクサ、2
3はマイクロプログラムROM19や制御フラグ部15
からの管理を受けてMDI、IDI、汎用レジスフ18
を切り換えソース、ディスティネーションオペランドと
して実行部20に供給するマルチプレクサである。
また、次表1.2は上述の制御フラグ部15内に設けら
れたソース制御フラグSFおよびディスティネーション
制御フラグDFのセント状態と、その内容を示しており
、例えば、SFが“00″でDFが“11”ならば、ソ
ースオペランドは汎用レジスタ18に格納され、ディス
ティネーションオペランドはメモリMに存在しているこ
とを示している。
れたソース制御フラグSFおよびディスティネーション
制御フラグDFのセント状態と、その内容を示しており
、例えば、SFが“00″でDFが“11”ならば、ソ
ースオペランドは汎用レジスタ18に格納され、ディス
ティネーションオペランドはメモリMに存在しているこ
とを示している。
表1
表2
次に、作用を説明する。
命令フィールドOMが二項命令であって、OPRNDI
をソース側、0PRND2をディスティネーション側と
するとき、デコーダ12aにより二項命令が解読され、
また、デコーダ12Cは0PRNDI、2を解読してソ
ースおよびディスティネーションのオペランドモードを
特定する。そして、この特定に際しては次のような組合
せになる場合がある。
をソース側、0PRND2をディスティネーション側と
するとき、デコーダ12aにより二項命令が解読され、
また、デコーダ12Cは0PRNDI、2を解読してソ
ースおよびディスティネーションのオペランドモードを
特定する。そして、この特定に際しては次のような組合
せになる場合がある。
(イ)ソースオペランドS−メモリ、ディスティネーシ
ョンD→メモリ、 (ロ)あるいは、ソースオペランドアドレス、ディステ
ィネーションD→即値、 第3図は上記(イ)の場合の演算処理を示すタイミング
チャートである。
ョンD→メモリ、 (ロ)あるいは、ソースオペランドアドレス、ディステ
ィネーションD→即値、 第3図は上記(イ)の場合の演算処理を示すタイミング
チャートである。
第3図において、解読部12は、○PCODEIおよび
0PRND2を解読し、二項命令であることを判読して
○PRNDIをアドレス計算部13aに出力する。この
とき制御フラグ15のソース制御フラグSFは“11”
(メモリ)にセットされる。アドレス計算部13aは
0PRND 1からメモリM内のソースオペランドアド
レスを計算し、オペランド読出し部17に出力してメモ
リMからのソースオペランドを読め出させ、オペランド
格納部MDIに格納する。同時に、デコーダ12aから
ば○PCODE 1に従ってマイクロアドレスが出力さ
れ、マイクロ選択部14は0PRNDI、2の組合わせ
が両方ともメモリであることからこれを選択してマイク
ロプログラム19の退避マイクロプログラムが起動され
る。ソースフラグSFは前述の通りパ11” (メモリ
)指定でディスティネーション制御フラグDFは一時的
に′01”とし退避先のワークレジスタ番号を発生させ
る。そして、実行部20は、このマイクロプログラムに
従って先に読み出されたソースオペランドをオペランド
格納部MDIから汎用レジスタ(ワークレジスタ)18
内に退避させる処理を実行する。この処理後、制御フラ
グ部15のソース制御フラグSFは01″ (ワークレ
ジスタ)に変更される。
0PRND2を解読し、二項命令であることを判読して
○PRNDIをアドレス計算部13aに出力する。この
とき制御フラグ15のソース制御フラグSFは“11”
(メモリ)にセットされる。アドレス計算部13aは
0PRND 1からメモリM内のソースオペランドアド
レスを計算し、オペランド読出し部17に出力してメモ
リMからのソースオペランドを読め出させ、オペランド
格納部MDIに格納する。同時に、デコーダ12aから
ば○PCODE 1に従ってマイクロアドレスが出力さ
れ、マイクロ選択部14は0PRNDI、2の組合わせ
が両方ともメモリであることからこれを選択してマイク
ロプログラム19の退避マイクロプログラムが起動され
る。ソースフラグSFは前述の通りパ11” (メモリ
)指定でディスティネーション制御フラグDFは一時的
に′01”とし退避先のワークレジスタ番号を発生させ
る。そして、実行部20は、このマイクロプログラムに
従って先に読み出されたソースオペランドをオペランド
格納部MDIから汎用レジスタ(ワークレジスタ)18
内に退避させる処理を実行する。この処理後、制御フラ
グ部15のソース制御フラグSFは01″ (ワークレ
ジスタ)に変更される。
一方、解読部12は、0PCODEIおよび○PRND
Iに引き続いて○PCODE2および0PRND 2を
解読し、○PRND2をアドレス計算部13aに出力す
る。アドレス計算部13aは0PRND2からメモリM
内のディスティネーションオペラントアドレスを計算し
、オペランド読出し部17に出力してメモリMからのデ
ィスティネーションオペランドを読み出させる。このデ
ィスティネーションオペラントはオペランド格納部MD
Iに格納される。そして、マイクロプログラム19は、
二項演算命令に対応するマイクロプログラムを起動し、
実行部20は、このマイクロプログラムを実行する。マ
イクロプログラムの実行時において、実行部20は、制
御フラグ部15のソース制御フラグSFを点検してソー
スオペランドの退避先、すなわち、汎用レジスタ18か
らソースオペランドを取出し、また、オペランド格納部
MDIからディスティネーションオペランドを取出して
これらのオペランドに対して0PCODEI、2から判
読された命令を実行する命令個別処理を行う。
Iに引き続いて○PCODE2および0PRND 2を
解読し、○PRND2をアドレス計算部13aに出力す
る。アドレス計算部13aは0PRND2からメモリM
内のディスティネーションオペラントアドレスを計算し
、オペランド読出し部17に出力してメモリMからのデ
ィスティネーションオペランドを読み出させる。このデ
ィスティネーションオペラントはオペランド格納部MD
Iに格納される。そして、マイクロプログラム19は、
二項演算命令に対応するマイクロプログラムを起動し、
実行部20は、このマイクロプログラムを実行する。マ
イクロプログラムの実行時において、実行部20は、制
御フラグ部15のソース制御フラグSFを点検してソー
スオペランドの退避先、すなわち、汎用レジスタ18か
らソースオペランドを取出し、また、オペランド格納部
MDIからディスティネーションオペランドを取出して
これらのオペランドに対して0PCODEI、2から判
読された命令を実行する命令個別処理を行う。
このようにソースおよびディスティネーションオペラン
ドがともに、メモリ指定の場合、先にアクセスされた一
方のオペランドを汎用レジスタ18に退避することがで
きるので、専用の退避レジスタ等を備える必要がなく、
ハードウェアの規模を増大させることがない。すなわち
、特別なレジスタ等を設けることなく、2つ以上のオペ
ランドのモードに応じて必要な場合にのみ、オペランド
を命令処理開始まで退避しておくことができるので、マ
イクロの共通化、処理速度の向上およびハードウェアの
削減といった効果を発揮することができる。
ドがともに、メモリ指定の場合、先にアクセスされた一
方のオペランドを汎用レジスタ18に退避することがで
きるので、専用の退避レジスタ等を備える必要がなく、
ハードウェアの規模を増大させることがない。すなわち
、特別なレジスタ等を設けることなく、2つ以上のオペ
ランドのモードに応じて必要な場合にのみ、オペランド
を命令処理開始まで退避しておくことができるので、マ
イクロの共通化、処理速度の向上およびハードウェアの
削減といった効果を発揮することができる。
一方、メモリーレジスタ指定の演算処理を行う場合には
、第4図にそのタイミングチャートを示すように、退避
マイクロプログラムは起動せず、例えば、0PRNDI
に従ってメモリからソースオペランドをアクセスし、○
PRND2に従ってレジスタからディスティネーション
オペランドをアクセスしてこれらのオペランドに対して
演算処理を実行するといった動作が行われる。
、第4図にそのタイミングチャートを示すように、退避
マイクロプログラムは起動せず、例えば、0PRNDI
に従ってメモリからソースオペランドをアクセスし、○
PRND2に従ってレジスタからディスティネーション
オペランドをアクセスしてこれらのオペランドに対して
演算処理を実行するといった動作が行われる。
あるいは、第5図にタイミングチャートを示すようにメ
モリーメモリ指定のデータ転送処理を行う場合には、ソ
ースオペランドだけを読込めばよいので退避マイクロプ
ログラムは起動されない。
モリーメモリ指定のデータ転送処理を行う場合には、ソ
ースオペランドだけを読込めばよいので退避マイクロプ
ログラムは起動されない。
本発明によれば、汎用レジスタやワークレジスタ等をオ
ペランド退避用として機能させることができるので、退
避専用のレジスタ等を不要にすることができ、ハードウ
ェアの規模を削減することができる。
ペランド退避用として機能させることができるので、退
避専用のレジスタ等を不要にすることができ、ハードウ
ェアの規模を削減することができる。
第1〜5図は本発明に係るマイクロプロセッサの一実施
例を示す図であり、 第1図はその基本的な動作を説明する概念図、第2図は
その具体的な構成を示すブロック図、第3図はそのメモ
リーメモリ指定の演算処理を示すタイミングチャート、 第4図はそのメモリーレジスタ指定の演算処理を示すタ
イミングチャート、 第5図はそのメモリーメモリ指定のデータ転送処理を示
すタイミングチャートである。 第6図は命令フィールドを示す図である。 12a、12b・・・・・・デコーダ(解読手段)、1
2C・・・・・・デコーダ(特定手段)、18・・・・
・・汎用レジスタ、 19・・・・・・マイクロプログラム(退避手段)、2
0・・・・・・実行部(退避手段、実行手段)。
例を示す図であり、 第1図はその基本的な動作を説明する概念図、第2図は
その具体的な構成を示すブロック図、第3図はそのメモ
リーメモリ指定の演算処理を示すタイミングチャート、 第4図はそのメモリーレジスタ指定の演算処理を示すタ
イミングチャート、 第5図はそのメモリーメモリ指定のデータ転送処理を示
すタイミングチャートである。 第6図は命令フィールドを示す図である。 12a、12b・・・・・・デコーダ(解読手段)、1
2C・・・・・・デコーダ(特定手段)、18・・・・
・・汎用レジスタ、 19・・・・・・マイクロプログラム(退避手段)、2
0・・・・・・実行部(退避手段、実行手段)。
Claims (1)
- 【特許請求の範囲】 少なくとも2組のオプコードフィールドおよびオペラン
ドフィールドからなる命令コード列が入力され、 該オプコードフィールド内のコード情報から命令の種別
を解読する解読手段と、 前記オペランドフィールド内のコード情報からオペラン
ドの存在するレジスタ、即値、メモリなどの位置を特定
する特定手段と、 を具備し、 前記命令の種別が少なくとも2つのオペランドを取り扱
う処理命令で、かつ、前記特定された位置が共に即値あ
るいはメモリの場合、該2つのオペランドの何れか一方
を先にアクセスする第1のアクセス手段と、 該アクセスされた一方のオペランドを汎用もしくはワー
クレジスタに退避する退避手段と、該一方のオペランド
が退避された後、他方のオペランドをアクセスする第2
のアクセス手段と、アクセスされた他方のオペランドお
よび汎用もしくはワークレジスタ内の一方のオペランド
に対し、前記命令の種別に従って処理を実行する実行手
段と、 を備えたことを特徴とするマイクロプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63033089A JPH07104780B2 (ja) | 1988-02-16 | 1988-02-16 | マイクロプロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63033089A JPH07104780B2 (ja) | 1988-02-16 | 1988-02-16 | マイクロプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01207825A true JPH01207825A (ja) | 1989-08-21 |
JPH07104780B2 JPH07104780B2 (ja) | 1995-11-13 |
Family
ID=12376952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63033089A Expired - Lifetime JPH07104780B2 (ja) | 1988-02-16 | 1988-02-16 | マイクロプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07104780B2 (ja) |
-
1988
- 1988-02-16 JP JP63033089A patent/JPH07104780B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH07104780B2 (ja) | 1995-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6021265A (en) | Interoperability with multiple instruction sets | |
JPH0827716B2 (ja) | データ処理装置及びデータ処理方法 | |
JPS62197830A (ja) | デ−タ処理システム | |
JPH0248931B2 (ja) | ||
JP3781519B2 (ja) | プロセッサの命令制御機構 | |
KR920004279B1 (ko) | 포인터레지스터를 구비한 마이크로프로세서 | |
JPH03233630A (ja) | 情報処理装置 | |
US5664156A (en) | Microcontroller with a reconfigurable program status word | |
US4337510A (en) | Read control system for a control storage device | |
JPH027097B2 (ja) | ||
JPH01207825A (ja) | マイクロプロセッサ | |
US4853889A (en) | Arrangement and method for speeding the operation of branch instructions | |
US6321319B2 (en) | Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction | |
JPH0218729B2 (ja) | ||
JPH09505428A (ja) | ページアドレスモードを有するマイクロコントローラ | |
JP2743947B2 (ja) | マイクロプログラム制御方式 | |
JPS63293638A (ja) | データ処理装置 | |
JPS59106047A (ja) | マイクロコンピユ−タ | |
JPS62174833A (ja) | デ−タ処理システム | |
JPS62139058A (ja) | メモリ制御装置 | |
JPH06103063A (ja) | マイクロプロセッサ | |
JPH0425937A (ja) | 情報処理装置 | |
JPH02242335A (ja) | 電子計算機 | |
JPH04167150A (ja) | リスト命令処理装置を有する計算機 | |
JPS60245049A (ja) | デ−タ処理装置 |