JPH0713757A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0713757A
JPH0713757A JP5156545A JP15654593A JPH0713757A JP H0713757 A JPH0713757 A JP H0713757A JP 5156545 A JP5156545 A JP 5156545A JP 15654593 A JP15654593 A JP 15654593A JP H0713757 A JPH0713757 A JP H0713757A
Authority
JP
Japan
Prior art keywords
address
microprogram
instruction
micro
operand
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
JP5156545A
Other languages
English (en)
Inventor
Shunichi Iwata
俊一 岩田
Toru Shimizu
徹 清水
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5156545A priority Critical patent/JPH0713757A/ja
Priority to US08/266,400 priority patent/US5463747A/en
Publication of JPH0713757A publication Critical patent/JPH0713757A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 オペレーションコードとは独立したアドレッ
シングモード指定部を有する命令を、高速かつ小さなマ
イクロプログラムサイズで実行可能にする。 【構成】 命令コードのデコードの際に、オペレーショ
ンコード部対応のメインマイクロアドレス信号212,アド
レシッシングモード指定部対応のサブマイクロアドレス
信号218,アドレス計算の必要の有無を示すアドレス計算
要求信号223 を生成し、アドレス計算要求信号223 に応
じてオペレーションコード対応部またはアドレシッシン
グモード指定部対応のアドレス信号を選択するマイクロ
アドレス入力セレクタ252 と、このマイクロアドレス入
力セレクタ252 を制御する命令実行制御部制御回路256
とを備えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマイクロプログラム制御
方式のデータ処理装置に関し、より詳しくは、オペラン
ドアドレス計算及び命令実行をマイクロプログラムで制
御するデータ処理装置に関する。
【0002】
【従来の技術】マイクロプログラム制御方式のデータ処
理装置では、マイクロROM と称されるメモリに予めマイ
クロプログラムが格納されている。そして、データ処理
装置は命令コード中のオペレーションコードをデコード
することによりそれに対応するマイクロプログラムルー
チンのマイクロROM での先頭アドレスを生成し、この先
頭アドレスから順次マイクロ命令を読み出してレジスタ
あるいは演算器の動作を制御することにより命令を実行
する。このようなマイクロプログラム制御方式のデータ
処理装置により処理される命令コードのフォーマットに
は、オペレーションコードによりオペランドのアドレッ
シングモードが決定されるフォーマットと、オペランド
のアドレッシングモードを指定するフィールドがオペレ
ーションコードから独立していて各オペランド毎にアド
レシッシングモードの指定が可能なフォーマットとがあ
る。
【0003】アドレッシングモードの指定がオペレーシ
ョンコードから独立しているような命令を処理するマイ
クロプログラム制御方式のデータ処理装置では、オペラ
ンドアドレス計算のための専用のハードウェアを設ける
場合が多い。そのようなハードウェアでは、命令がデコ
ードされる際に、オペレーションコードがデコードされ
ることによりマイクロプログラムアドレスが生成される
と共に、アドレシッシングモード指定部もデコードされ
てアドレス計算用の制御コードも生成される。そして、
アドレス計算が行われた後にオペレーションコードに対
応するマイクロプログラムにより命令が実行される。
【0004】しかし、ハードウェア規模の制限からオペ
ランドアドレス計算のための専用のハードウェアを備え
ることができないようなマイクロプログラム制御方式の
データ処理装置では、オペランドアドレス計算と命令実
行とは同じハードウェアで処理される。このようなデー
タ処理装置では、マイクロプログラムによりアドレシッ
シングモードを判定してマイクロプログラムのシーケン
スを変更したり、オペランドアドレス計算用のサブルー
チンを呼ぶという方法を採る場合がある。しかし、この
方法を採る場合には必ずアドレシッシングモードを判定
するためのマイクロプログラムが必要となるため、それ
に対応して処理時間が長くなる。
【0005】また、命令デコード時にオペレーションコ
ードとアドレッシングモード指定部との両方を同時にデ
コードしてアドレシッシングモード毎にマイクロプログ
ラムアドレスを生成する方法を採る場合もある。この方
法を採るデータ処理装置では、アドレシッシングモード
を判定するためのマイクロプログラムが不要となるため
実行時間が短縮されるが、オペレーションコードそれぞ
れに使用可能なアドレシッシングモード全てに対応して
マイクロプログラムをしてマイクロROM に格納しておく
必要が生じるため、マイクロプログラムのワード数が多
くなってそれを格納しておくためのマイクロROM の容量
が大きくなる。
【0006】
【発明が解決しようとする課題】上述のように、オペラ
ンドアドレス計算と命令実行とを同じハードウェアを使
用して行うような従来のマイクロプログラム制御方式の
データ処理装置において、オペレーションコードとは独
立したアドレッシングモード指定部を有する命令を実行
する場合、以下のような問題があった。
【0007】第1は、マイクロプログラムによりアドレ
シッシングモードの判定を行い、その結果に基づいてマ
イクロプログラムの実行シーケンスを変更したり、ある
いはアドレス計算用のサブルーチンを呼ぶように制御す
るデータ処理装置は、アドレッシングモードを判定する
マイクロプログラムが必要となるため、それに対応して
処理時間が長くなるという問題である。
【0008】また第2は、命令デコードの段階でオペレ
ーションコードとアドレッシングモード指定部との両方
を同時にデコードしてマイクロプログラムアドレスを生
成することにより、最初からアドレッシングモードにも
対応したマイクロプログラムを実行するデータ処理装置
では、オペレーションコード毎に指定可能なアドレシッ
シングモードの数だけマイクロプログラムが必要となる
ため、マイクロプログラムのワード数が多くなるという
問題である。従って、それらを格納しておくためにマイ
クロROM の容量を大きくする必要が生じる。
【0009】本発明は、このような問題点の解決を主た
る目的としてなされたものであり、オペランドのアドレ
ス計算と命令実行とを同じハードウェアを使用して行う
ようなマイクロプログラム制御方式のデータ処理装置に
おいて、オペレーションコードとは独立したアドレッシ
ングモード指定部を有する命令を、高速かつ小さなマイ
クロプログラムサイズで実行可能なデータ処理装置を提
供することを目的とする。
【0010】
【課題を解決するための手段】本発明に係るデータ処理
装置は、命令コード中のオペレーションコード部をデコ
ードして命令実行を制御するためのマイクロプログラム
ルーチンの先頭アドレス(命令実行用マイクロプログラ
ムアドレス)を生成するメインデコーダ及び命令コード
中のアドレシッシングモード指定部をデコードしてオペ
ランドのアドレス計算を制御するためのマイクロプログ
ラムルーチンの先頭アドレス(アドレス計算用マイクロ
プログラムアドレス)を生成するサブデコーダとで構成
されるデコード手段と、命令実行用マイクロプログラム
アドレス, アドレス計算用マイクロプログラムアドレ
ス, あるいは他のマイクロプログラムアドレスのいずれ
かを次に実行すべきマイクロプログラムのアドレスとし
て選択する選択手段 (マイクロアドレス入力セレクタ)
と、アドレス計算の必要の有無を示す第1の制御信号
(アドレス計算要求信号)とオペランドをメモリからリ
ードする必要があるか否かを示す第2の制御信号(オペ
ランドフェッチ要求信号)とオペランドをメモリにライ
トする必要があるか否かを示す第3の制御信号(オペラ
ンドライト要求信号)とに基づいて選択手段の選択動作
を制御する制御手段 (命令実行制御部制御回路) とを備
えている。
【0011】また本発明に係るデータ処理装置更に、命
令実行用マイクロプログラムアドレスを所定期間保持す
る保持手段 (レジスタ) を備え、アドレス計算が終了し
たことを示すマイクロ命令のシーケンス制御信号 (マイ
クロシーケンス制御信号)が出力された時点でこの保持
手段に保持されているデコード手段により先にデコード
された命令実行用マイクロプログラムアドレスを選択手
段が選択するように構成されている。
【0012】
【作用】本発明に係るデータ処理装置では、アドレス計
算の必要がないたとえばオペランドがレジスタであるよ
うな命令の実行に際しては、第1の制御信号であるアド
レス計算要求信号が”無効”となり、命令実行用マイク
ロプログラムアドレスが選択されて命令が実行される。
一方、アドレス計算が必要なたとえばオペランドがメモ
リであるような命令の実行に際しては、アドレス計算要
求信号が”有効”となり、アドレス計算用マイクロプロ
グラムアドレスが選択されてオペランドのアドレス計算
が行われる。また、第1の制御信号であるオペランドフ
ェッチ要求信号が”有効”であればオペランドのアドレ
ス計算の終了直後にメモリリード用のマイクロプログラ
ムアドレスが選択されてオペランドがメモリからリード
され、”無効”であればオペランドのアドレス計算の終
了直後に命令実行用マイクロプログラムアドレスが選択
される。また、第2の制御信号であるオペランドライト
要求信号が”有効”であればオペランドのアドレス計算
の終了直後にメモリライト用のマイクロプログラムアド
レスが選択されてオペランドがメモリにライトされ、”
無効”であればオペランドのアドレス計算の終了直後に
命令実行用マイクロプログラムアドレスが選択される。
【0013】更に、先にデコードされた命令実行用マイ
クロプログラムアドレスは保持手段としてのレジスタに
保持されている。このため、アドレス計算またはメモリ
リードが終了してマイクロシーケンス制御信号が”有
効”になると、レジスタに保持されている命令実行用マ
イクロプログラムアドレスが選択され、アドレス計算に
引き続いて命令が実行される。
【0014】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述する。図2は、本発明のデータ処理装置の全体
の構成及びその外部メモリ104 との接続関係を示すブロ
ック図である。
【0015】図2において、参照符号 101はアドレスバ
スを、 102はデータバスを、 103は本発明のデータ処理
装置としてのプロセッサを、 104はプロセッサ103 外部
のメモリをそれぞれ示している。なお、メモリ104 とプ
ロセッサ103 とはアドレスバス101 及びデータバス102
で接続されている。
【0016】プロセッサ103 は、バスI/F 部105,命令フ
ェッチ部106,命令デコード部107,命令実行制御部108,命
令実行部110 等で構成されている。なお、命令実行制御
部108 にはマイクロROM109が備えられている。バスI/F
部105 はメモリ104 とアドレスバス101 及びデータバス
102 で接続されており、メモリ104 に対して命令, デー
タのアクセスを行う。
【0017】命令フェッチ部106 はバスI/F 部105 及び
命令デコード部107 と接続されており、バスI/F 部105
に対する命令フェッチ要求と、バスI/F 部105 がフェッ
チした命令の命令デコード部107 への出力とを制御す
る。命令デコード部107 は命令フェッチ部106 及び命令
実行制御部108 と接続されており、命令フェッチ部106
から受け取った命令をデコードし、その命令に必要な情
報を命令実行制御部108 へ出力する。
【0018】命令実行制御部108 はバスI/F 部105,命令
デコード部107 及び命令実行部110と接続されている。
この命令実行制御部108 にはマイクロプログラムを格納
したメモリであるマイクロROM 109 が内蔵されており、
命令デコード部107 から出力された情報に基づいてマイ
クロROM 109 をアクセスしてマイクロ命令をフェッチ
し、それをデコードして命令実行部110 を制御するため
の種々の制御信号を出力する。命令実行部110 は命令実
行制御部108 及びバスI/F 部105 と接続されており、命
令実行制御部108 から出力される制御信号に従って命令
を実行する。
【0019】図1は、図2に示されている命令フェッチ
部106,命令デコード部107 及び命令実行制御部108 の詳
細な構成を示すブロック図である。なお、命令フェッチ
部106 とバスI/F 部105 との間の接続関係はこの図1に
おいては省略してある。
【0020】また、図2においてφ1,φ2はクロック
を示している。図3は、本発明のデータ処理装置、即ち
プロセッサ103 内で使用されるφ1,φ2クロックの波
形を示す波形図である。φ1,φ2クロックは所謂ノン
オーバラップ2相クロックであり、1マシンサイクルの
期間にφ1クロックが先にハイレベルになり、φ1クロ
ックがローレベルになった後にφ2クロックがハイレベ
ルになって相互にハイレベルの期間がオーバラップしな
いようになっている。
【0021】命令フェッチ部106 は、主として命令バッ
ファ201 及び命令フェッチ部制御回路202 で構成されて
いる。命令バッファ201 は、前述の如く、バスI/F 部10
5 から先読みした命令を蓄えておくためのバッファであ
り、命令デコード部107 の後述する命令コード入力レジ
スタ210 に対して6バイト単位で命令コードを信号203
として出力する。
【0022】命令フェッチ部制御回路202 は主として制
御信号204 により命令バッファ201の入出力制御等の命
令フェッチ部106 内の動作を制御する。具体的には、命
令フェッチ部制御回路202 には後述する命令デコード部
制御回路222 から消費した、即ちデコーダ処理が済んだ
命令コードのバイト数が信号206 として与えられるの
で、命令バッファ201 に保持されている命令コードのど
のバイトを命令コード入力レジスタ210 へ出力すべきか
を決定する。また、命令フェッチ部制御回路202 はバス
I/F 部105 に対して命令フェッチ要求を与えたり、ある
いは命令バッファ201 が出力する命令コードが有効か無
効かを示す信号205 を命令デコード部107 に対して出力
する。
【0023】命令デコード部107 は、主として命令コー
ド入力レジスタ210,メインデコーダ211,サブデコーダ21
7,命令デコード部制御回路222, ANDゲート231 及びレジ
スタ224 〜230 等にて構成されている。
【0024】命令コード入力レジスタ210 は、命令バッ
ファ201 から出力される6バイトの命令コードをφ1ク
ロックに同期して入力して一旦保持した後に出力する。
具体的には、命令コード入力レジスタ210 は保持してい
る6バイトの命令コードの内の先頭から1バイト目を信
号232 としてメインデコーダ211 へ、2バイト目を信号
233 としてサブデコーダ217 へ、3〜6バイト目を拡張
部データ信号234 として拡張部データレジスタ230 へ出
力する。なお、拡張部データ信号234 はレジスタ230 に
φ2クロックに同期して保持され、更にレジスタ230 か
ら出力されて2回目以降のマシンサイクルのφ1クロッ
クに同期して命令実行制御部108 のレジスタ245 に保持
される。
【0025】メインデコーダ211 は、上述の如く命令コ
ード入力レジスタ210 から出力される6バイトの命令コ
ードの内の先頭から1バイト目、即ちオペレーションコ
ード部をデコードして命令実行に関する情報を出力す
る。具体的には、メインデコーダ211 は以下の信号を出
力する。
【0026】・メインマイクロアドレス信号 参照符号212 にて示されており、φ2クロックに同期し
てレジスタ224 に保持される。この信号は命令実行制御
用のマイクロプログラムルーチンの先頭アドレスを指示
するマイクロROM 109 のアドレスを示す。なお、このメ
インマイクロアドレス信号212 はレジスタ224 から出力
されて命令実行制御部108 のマイクロアドレス入力セレ
クタ252 に入力されると共に、2回目以降のマシンサイ
クルのφ1クロックに同期してレジスタ240 に保持され
る。
【0027】・オペランドフェッチ要求信号 参照符号213 にて示されており、φ2クロックに同期し
てレジスタ226 に保持される。この信号は”1”である
場合にオペランドをフェッチすることを、”0”である
場合にオペランドをフェッチしないことをそれぞれ示
す。なお、このオペランドフェッチ要求信号213 はレジ
スタ226 から出力されて命令実行制御部108 のレジスタ
241 に2回目以降のマシンサイクルのφ1クロックに同
期して保持される。
【0028】・サブデコーダ有効信号 参照符号214 にて示されており、 ANDゲート231 へ出力
されている。この信号は”1”である場合にサブデコー
ダ217 のデコード結果が有効であることを、”0”であ
る場合にサブデコーダ217 のデコード結果が無効である
ことをそれぞれ示す。
【0029】・第1レジスタ番号信号 参照符号215 にて示されており、φ2クロックに同期し
てレジスタ228 に保持される。この信号はオペレーショ
ンコード内のレジスタ番号フィールドの値がそのまま出
力される。なお、この第1レジスタ番号信号215 はレジ
スタ228 から出力されて2回目以降のマシンサイクルの
φ1クロックに同期して命令実行制御部108 のレジスタ
243 に保持される。 ・制御信号 参照符号216 にて示されており、命令デコード部制御回
路222 へ出力されている。命令デコード部107 の制御用
の信号である。
【0030】サブデコーダ217 は、上述の如く命令コー
ド入力レジスタ210 から出力される6バイトの命令コー
ドの内の先頭から2バイト目、即ちオペランド指定部を
デコードしてアドレス計算に関する情報を出力する。具
体的には、サブデコーダ217は以下の信号を出力する。
【0031】・サブマイクロアドレス信号 参照符号218 にて示されており、φ2クロックに同期し
てレジスタ225 に保持される。この信号はアドレス計算
用のマイクロプログラムルーチンの先頭アドレスを指示
するマイクロROM 109 のアドレスを示す。なお、このサ
ブマイクロアドレス信号218 はレジスタ225 から出力さ
れて命令実行制御部108 のマイクロアドレス入力セレク
タ252 に入力されている。
【0032】・レジスタ/メモリ信号 参照符号219 にて示されており、 ANDゲート231 へ出力
されている。この信号は”0”である場合にアドレシッ
シングモードが汎用レジスタファイル308 の汎用レジス
タであることを、”1”である場合にアドレシッシング
モードがメモリ104 であることをそれぞれ示す。
【0033】・第2レジスタ番号信号220 参照符号220 にて示されており、φ2クロックに同期し
てレジスタ229 に保持される。この信号はオペランド指
定部内のレジスタ番号フィールドの値がそのまま出力さ
れる。なお、この第2レジスタ番号信号220 はレジスタ
229 から出力されて2回目以降のマシンサイクルのφ1
クロックに同期して命令実行制御部108 のレジスタ244
に保持される。
【0034】・拡張部サイズ信号 参照符号221 にて示されており、命令デコード部制御回
路222 へ出力されている。拡張部が何バイトであるかを
示す。
【0035】命令デコード部制御回路222 は命令デコー
ド部107 の制御を行う。また命令デコード部制御回路22
2 は命令フェッチ部106 に対して、命令デコード部107
で消費された命令コードのサイズ情報を信号206 として
出力すると共に、命令実行制御部108 に対して、現在出
力中のマイクロプログラムアドレス等の信号が有効か無
効かを示す信号215 を出力する。
【0036】なお、 ANDゲート231 の出力信号はアドレ
ス計算要求信号223 としてレジスタ227 にφ2クロック
に同期して保持される。このアドレス計算要求信号223
は、メインデコーダ211 から出力されるサブデコーダ有
効信号214 とサブデコーダ217 から出力されるレジスタ
/メモリ信号219 との論理積をとった信号であり、”
1”である場合にアドレス計算が必要であることを、”
0”である場合にアドレス計算が不要であることをそれ
ぞれ示す。なお、 ANDゲート231 の出力であるアドレス
計算要求信号223 はレジスタ227から出力されて命令実
行制御部108 の命令実行制御部制御回路256 へ入力され
ると共に、2回目以降のマシンサイクルのφ1クロック
に同期してレジスタ242に保持される。
【0037】なお、この命令デコード部107 内の参照符
号224 〜230 にて示されている各レジスタには、図示さ
れてはいないが、後述する命令実行制御部制御回路256
が出力する命令実行終了信号263 が与えられており、こ
の命令実行終了信号263 が有効である場合にのみ、入力
されている信号をφ2クロックに同期してそれぞれ保持
する。
【0038】命令実行制御部108 は主として、前述のマ
イクロROM109, マイクロアドレス入力セレクタ252,マイ
クロアドレス入力レジスタ253,マイクロROM 出力レジス
タ254,マイクロデコーダ255,命令実行制御部制御回路25
6,レジスタ240 〜245 及びレジスタ246 〜251 等にて構
成されている。
【0039】レジスタ240 〜245 はφ1クロックに同期
して信号入力を行う。また、レジスタ246 〜251 には、
図示されてはいないが、命令実行制御部制御回路256 が
出力する命令実行終了信号263 が与えられており、この
命令実行終了信号263 が有効な場合にのみ、入力されて
いる信号をφ2クロックに同期してそれぞれ保持する。
これらのレジスタ240 〜245 及びレジスタ246 〜251 は
以下のように接続されている。
【0040】レジスタ240 には命令デコード部107 のレ
ジスタ224 の出力、即ちメインマイクロアドレス信号21
2 が入力されており、φ1クロックに同期して保持され
る。このレジスタ240 の出力はレジスタ246 に入力され
ており、φ2クロックに同期して保持される。更に、レ
ジスタ246 の出力はマイクロアドレス入力セレクタ252
に入力されている。
【0041】なお、命令デコード部107 のレジスタ224
の出力は直接マイクロアドレス入力セレクタ252 にも入
力されている。従って、メインデコーダ211 から出力さ
れたメインマイクロアドレス信号212 は、それが1回目
のマシンサイクルのφ2クロックに同期してレジスタ22
4 に保持されると同時にマイクロアドレス入力セレクタ
252 に入力されると共に、2回目以降のマシンサイクル
のφ2クロックに同期してレジスタ246 に保持されると
同時に再度マイクロアドレス入力セレクタ252に入力さ
れる。
【0042】レジスタ241 には命令デコード部107 のレ
ジスタ226 の出力、即ちオペランドフェッチ要求信号21
3 が入力されており、φ1クロックに同期して保持され
る。このレジスタ241 の出力はレジスタ247 に入力され
ており、φ2クロックに同期して保持される。更に、レ
ジスタ247 の出力は命令実行制御部制御回路256 に入力
されている。
【0043】レジスタ242 には命令デコード部107 のレ
ジスタ227 の出力、即ちアドレス計算要求信号223 が入
力されており、φ1クロックに同期して保持される。こ
のレジスタ242 の出力はレジスタ248 に入力されてお
り、φ2クロックに同期して保持される。更に、レジス
タ248 の出力は命令実行制御部制御回路256 及びマイク
ロデコーダ255 に入力されている。なお、命令デコード
部107 のレジスタ227 の出力は直接命令実行制御部制御
回路256 にも入力されている。従って、 ANDゲート231
から出力されたアドレス計算要求信号223 は、それが1
回目のマシンサイクルのφ2クロックに同期してレジス
タ227 に保持されると同時に命令実行制御部制御回路25
6 に入力されると共に、2回目以降のマシンサイクルの
φ2クロックに同期してレジスタ248 に保持されると同
時に再度命令実行制御部制御回路256 及びマイクロデコ
ーダ255 に入力される。
【0044】レジスタ243 には命令デコード部107 のレ
ジスタ228 の出力、即ち第1レジスタ番号信号215 が入
力されており、φ1クロックに同期して保持される。こ
のレジスタ243 の出力はレジスタ249 に入力されてお
り、φ2クロックに同期して保持される。更に、レジス
タ249 の出力はマイクロデコーダ255 に入力されてい
る。
【0045】レジスタ244 には命令デコード部107 のレ
ジスタ229 の出力、即ち第2レジスタ番号信号220 が入
力されており、φ1クロックに同期して保持される。こ
のレジスタ244 の出力はレジスタ250 に入力されてお
り、φ2クロックに同期して保持される。更に、レジス
タ250 の出力はマイクロデコーダ255 に入力されてい
る。レジスタ245 には命令デコード部107 のレジスタ23
0 の出力、即ち拡張部データ信号234 が入力されてお
り、φ1クロックに同期して保持される。このレジスタ
245 の出力はレジスタ251 に入力されており、φ2クロ
ックに同期して保持される。更に、レジスタ251 の出力
は命令実行部110 へ出力されている。
【0046】マイクロアドレス入力セレクタ252 は命令
実行制御部制御回路256 から出力されるセレクタ制御信
号260 により制御されて、マイクロアドレス入力レジス
タ253 に保持させるべきマイクロプログラムアドレスを
以下のいずれかから選択する。
【0047】・命令デコード部107 のレジスタ224 に保
持されているメインマイクロアドレス信号212 。 ・命令実行制御部108 のレジスタ246 に保持されている
メインマイクロアドレス信号212 。但し、レジスタ246
に保持されているメインマイクロアドレス信号212 は上
述の命令デコード部107 のレジスタ224 に保持されてい
るメインマイクロアドレス信号212 に比して1マシンサ
イクル以上遅延している。 ・命令デコード部107 のレジスタ225 に保持されている
サブマイクロアドレス信号218 。 ・命令実行制御部108 のマイクロROM 出力レジスタ254
に保持されているマイクロ命令で指定される次マイクロ
アドレス信号262 。
【0048】なお、このマイクロアドレス入力セレクタ
252 の動作、即ちどのような場合にいずれの信号をマイ
クロアドレス入力レジスタ253 の保持させるかに関して
は図4に一覧表の形で示されているが、詳細は後述す
る。
【0049】マイクロアドレス入力レジスタ253 はマイ
クロアドレス入力セレクタ252 により選択出力された信
号の値、即ちマイクロプログラムアドレスの値をφ1ク
ロックに同期して保持し、その値でマイクロROM109をア
クセスする。マイクロROM 出力レジスタ254 はマイクロ
ROM109から読み出されたマイクロ命令をφ2クロックに
同期して入力する。その内の、マイクロプログラムシー
ケンスのオペレーションを指定するフィールドはマイク
ロシーケンス制御信号261 として命令実行制御部制御回
路256 へ出力され、次に実行すべきマイクロプログラム
のアドレスを指定するフィールドは次マイクロアドレス
信号262 として出力されてマイクロアドレス入力セレク
タ252 に入力される。それ以外のフィールドは、マイク
ロデコーダ255 へ出力される。
【0050】マイクロデコーダ255 はマイクロROM 出力
レジスタ254 から出力されるマイクロ命令の一部と、ア
ドレス計算要求信号223 (ANDゲート231 からレジスタ22
7, 242, 248 を経由) と、第1レジスタ番号信号215(レ
ジスタ228, 243, 249 を経由) と、第2レジスタ番号信
号220(レジスタ229, 244, 250 を経由) とを入力してデ
コードし、命令実行部110 を制御する制御信号を生成す
る。
【0051】命令実行制御部制御回路256 は命令実行制
御部108 を制御する。即ち、命令実行制御部制御回路25
6 は、マイクロ命令のマイクロプログラムシーケンス制
御用のオペレーションコードをマイクロROM 出力レジス
タ254 からマイクロシーケンス制御信号261 として入力
してマイクロアドレス入力セレクタ252 を制御したり、
あるいは命令実行終了信号263 を出力して命令実行制御
部108及び命令デコード部107 の一部のレジスタがそれ
ぞれに入力されている信号を保持するタイミングを制御
する。
【0052】具体的には、命令デコード部107 内の各レ
ジスタ224 〜230 は命令実行制御部制御回路256 が出力
する命令実行終了信号263 が有効である場合にのみ、入
力されている信号をφ2クロックに同期してそれぞれ保
持する。また、命令実行制御部108 内の各レジスタ246
〜251 は命令実行制御部制御回路256 が出力する命令実
行終了信号263 が有効な場合にのみ、入力されている信
号をφ2クロックに同期してそれぞれ保持する。従っ
て、命令デコード部107 内の各レジスタ224 〜230 及び
命令実行制御部108 内の各レジスタ246 〜251 は、命令
実行制御部制御回路256 が出力する命令実行終了信号26
3 が有効になるまでは新たな信号を保持し且つ出力する
ことはない。
【0053】また、命令実行制御部制御回路256 は命令
実行部110 に対して、現在出力している制御信号が有効
であるか無効であるかを示す信号を出力し、命令実行部
110からは命令実行制御に必要な情報を入力する。
【0054】図5は、図2に示されている命令実行部11
0 の詳細な構成を示すブロック図である。図5におい
て、参照符号301 はS1バス (32ビット)を、 302はS2バ
ス (32ビット)を、303 はDバス(32ビット)をそれぞ
れ示しており、これらの各バスはデータ演算に使用され
る。
【0055】参照符号304 はメモリリードレジスタ(32
ビット)であり、メモリ104 からリードしたデータを保
持する。このメモリリードレジスタ304 はバスI/F 部10
5 からの入力経路とS2バス302 への出力経路とを備えて
いる。参照符号305 はメモリライトレジスタ(32ビッ
ト)であり、メモリ104 にライトすべきデータを保持す
る。このメモリライトレジスタ305 はDバス303 からの
入力経路とバスI/F 部105 への出力経路とを備えてい
る。
【0056】参照符号306 はメモリアドレスレジスタ
(32ビット)であり、メモリアドレスを格納する。この
メモリアドレスレジスタ306 はDバス303 からの入力経
路と、S1バス301 及びバスI/F 部105 への出力経路とを
備えている。参照符号307 は作業用レジスタ(32ビッ
ト)であり、Dバス303 からの入力経路とS1バス301 及
びS2バス302 への出力経路とを備えている。
【0057】参照符号308 は汎用レジスタファイル(32
ビット×16本)であり、16本の32ビット汎用レジスタR
0〜R15にて構成されている。各汎用レジスタR0〜R
15はそれぞれDバス303 からの入力経路とS1バス301 及
びS2バス302 への出力経路とを備えている。参照符号30
9 はALU であり、S1バス301 及びS2バス302 からデータ
を入力して加減算及び論理演算を行なう。なお、ALU309
による演算結果はDバス303 へ出力される。また、ALU3
09はS1バス301 またはS2バス302 から入力したデータを
そのままDバス303 へ出力する機能も備えている。
【0058】参照符号310 はシフト回路であり、S1バス
301 及びS2バス302 からの入力経路と、Dバス303 への
出力経路とを有し、S2バス302 から入力したデータを、
S1バス301 から入力したデータで指定されるビット分左
右方向へシフトする。このシフト回路310 によるシフト
結果のデータはDバス303 へ出力される。
【0059】なお、この図5に示されている命令実行部
110 の各構成要素は上述の命令実行制御部108 のマイク
ロデコーダ255 から出力される信号により制御される
が、そのための信号線は図5では省略してある。
【0060】図4は、図1に示されているマイクロアド
レス入力セレクタ252 の動作状態、換言すれば命令実行
制御部制御回路256 から出力されるセレクタ制御信号26
0 によるマイクロアドレス入力セレクタ252 の制御状態
を示す一覧表である。図4の表の左欄にはマイクロプロ
グラムルーチンのオペレーション、即ちマイクロROM 出
力レジスタ254 から命令実行制御部制御回路256 に入力
されるマイクロシーケンス制御信号261 により指定され
るオペレーションが示されており、右欄にはそれぞれの
オペレーションに対応してマイクロアドレス入力セレク
タ252が選択する信号、即ちマイクロプログラムアドレ
ス値が示されている。
【0061】具体的には、マイクロプログラムルーチン
のオペレーション終了を指示するオペレーション”exi
t”がマイクロシーケンス制御信号261 により指定され
ると、命令実行制御部制御回路256 はアドレス計算要求
信号223 が”0”であれば命令デコード部107 のレジス
タ224 に保持されているメインマイクロアドレス信号21
2 を、”1”であればレジスタ225 に保持されているサ
ブマイクロアドレス信号218 をそれぞれマイクロアドレ
ス入力セレクタ252 に選択させる。なお、オペレーショ
ン”exit”がマイクロシーケンス制御信号261 により指
定された場合には前述の如く、命令実行制御部制御回路
256 は命令実行終了信号263 を出力する。この命令実行
終了信号263 が与えられることにより、レジスタ224 〜
230 及び246 〜251 は入力されている信号をφ2クロッ
クに同期して保持する。
【0062】アドレス計算終了を指示するオペレーショ
ン”return”がマイクロシーケンス制御信号261 により
指定されると、命令実行制御部制御回路256 は命令実行
制御部108 のレジスタ246 に保持されているメインマイ
クロアドレス信号212 をマイクロアドレス入力セレクタ
252 に選択させる。
【0063】マイクロジャンプを指示するオペレーショ
ン”goto”がマイクロシーケンス制御信号261 として指
定されると、命令実行制御部制御回路256 はマイクロRO
M 出力レジスタ254 から出力されている次マイクロアド
レス信号262 をマイクロアドレス入力セレクタ252 に選
択させる。オペレーション”goto”又は”exit”を指示
するオペレーション”go/ex”がマイクロシーケンス制
御信号261 として指定されると、命令実行制御部制御回
路256 はアドレス計算要求信号223 が”0”であれば”
exit”の場合と同じ選択を、”1”であれば”goto”の
場合と同じ選択をそれぞれマイクロアドレス入力セレク
タ252 にさせる。
【0064】オペレーション”goto”又は”return”を
指示するオペレーション”go/ret”がマイクロシーケン
ス制御信号261 として指定されると、命令実行制御部制
御回路256 はオペランドフェッチ要求信号213 が”0”
であれば”return”の場合と同じ選択を、”1”であれ
ば”goto”の場合と同じ選択をそれぞれマイクロアドレ
ス入力セレクタ252 に行わせる。
【0065】図6は、本発明のデータ処理装置のプロセ
ッサ103 が処理する命令のフォーマットの一例を示す模
式図である。図6において、参照符号401 は一般形(G
フォーマット)の命令フォーマットを示しており、1バ
イトのオペレーションコード4011, 4014と1バイトのオ
ペランド指定部4012, 4015とで構成される。両オペラン
ド指定部4012, 4015の後ろにはそれぞれ拡張部4013, 40
16が付くこともある。
【0066】また、参照符号402 は使用頻度の高い一部
の命令のための短縮形(Sフォーマット)の命令フォー
マットを示しており、オペレーションコード4021中にレ
ジスタ番号が含まれており、2オペランド命令をオペレ
ーションコード4021及びオペランド指定部4022の2バイ
ト+拡張部4023のサイズで表現できる。但し、このSフ
ォーマットでは一方のオペランドは必ずレジスタとな
る。
【0067】図7は、図6に示されているフォーマット
のオペランド指定部4012, 4015, 4022で指定可能なアド
レシッシングモードのフォーマットを示す模式図であ
る。図7において、参照符号411 はレジスタ直接アドレ
ッシングモードの、412 はレジスタ間接アドレッシング
モードの、413 は32ビットレジスタ相対間接アドレッシ
ングモードの、415 は32ビット絶対アドレッシングモー
ドのフォーマットをそれぞれ示している。
【0068】オペランド指定部は、レジスタ直接, レジ
スタ間接などのアドレシッシングモードを指定するフィ
ールドであり、レジスタ直接あるいはアドレス計算にレ
ジスタ値が使用されるアドレシッシングモード(レジス
タ間接, レジスタ相対間接等)においては一部がレジス
タ番号(Rn)を指定するフィールドとなる。絶対アドレシ
ッシングモードあるいはレジスタ相対間接アドレシッシ
ングモード等においては、絶対アドレスあるいは相対値
を16ビットまたは32ビットの拡張部として指定する。
【0069】図8は、 MOV命令(データ転送命令)の命
令コードの一例を示す模式図である。図8(A) に参照符
号421 にて示されている命令コードはレジスタ−レジス
タ間転送の一般形(Gフォーマット)の一例であり、第
1オペランドとしてレジスタ直接モードで汎用レジスタ
R0が、第2オペランドとしてレジスタ直接モードで汎
用レジスタR1がそれぞれ指定されている。従って、こ
の命令コード421 は汎用レジスタR0の値を汎用レジス
タR1へ転送する命令である。
【0070】図8(B) に参照符号422 にて示されている
命令コードはメモリ−メモリ間転送の一般形(Gフォー
マット)の一例であり、第1オペランドとしてレジスタ
間接モードで汎用レジスタR2の値をアドレスとするメ
モリの値が、第2オペランドとして絶対モードで拡張部
によりメモリのアドレス”12345678(16進) ”がそれぞ
れ指定されている。従って、この命令コード422 は汎用
レジスタR2の値をアドレスとするメモリの値をメモリ
のアドレス”12345678(16進) ”へ転送する命令であ
る。。
【0071】図8(C) に参照符号423 にて示されている
命令コードはレジスタ−レジスタ間転送の短縮形(Sフ
ォーマット)の一例であり、第1オペランドとしてレジ
スR3が、第2オペランドとしてレジスタ直接モードで
汎用レジスタR4がそれぞれ指定されている。従って、
この命令コード423 は汎用レジスタR3の値を汎用レジ
スタR4へ転送する命令である。
【0072】図8(D) に参照符号424 にて示されている
命令コードはメモリ−メモリ間転送の短縮形(Sフォー
マット)の一例であり、第1オペランドとして汎用レジ
スタR5が、第2オペランドとしてレジスタ相対モード
で汎用レジスタR6の値に拡張部の値”00001000(16
進) ”を加えた値がそれぞれ指定されている。従って、
この命令コード424 は汎用レジスタR5の値を汎用レジ
スタR6の値に更に”00001000(16進) ”を加えた値を
アドレスとするメモリへ転送する命令である。
【0073】図9は、図8に示されている命令を実行し
た場合の命令デコード部107 における各出力信号の一覧
表である。なお、図9において”×”はその信号の出力
が無意味(don■t care)であることを意味している。
【0074】たとえば、図8(A) に参照符号421 にて示
されているレジスタ−レジスタ間転送の一般形(Gフォ
ーマット)命令コードの第1オペランドがデコードされ
ると、メインマイクロアドレス信号212 として出力され
る信号はマイクロプログラムルーチン”movg1”のマイ
クロROM109での先頭アドレスであり、サブマイクロアド
レス信号218 として出力される信号は無意味であり、オ
ペランドフェッチ要求信号213 として出力される信号
は”1”であり、サブデコーダ有効信号214 として出力
される信号は”1”であり、レジスタ/メモリ信号219
として出力される信号は”0”であり、第1レジスタ番
号信号215 として出力される信号は無意味であり、第2
レジスタ番号信号220 として出力される信号は汎用レジ
スタR0を指示し、拡張部データ信号234 として出力さ
れる信号は無意味であることを意味している。
【0075】以上のように構成された本発明のデータ処
理装置の動作について、 MOV命令の実行シーケンスを一
例として説明する。MOV命令はソースからデスティネー
ションにデータを転送する命令であり、第1オペランド
でソースを、第2オペランドでデスティネーションをそ
れぞれ指定する。
【0076】図10は MOV命令(データ転送命令)の一般
形(Gフォーマット)のマイクロプログラム実行シーケ
ンスを示すフローチャートである。また、図11は MOV命
令(データ転送命令)の短縮形(Sフォーマット)のマ
イクロプログラム実行シーケンスを示すフローチャート
である。
【0077】 (A) 一般形のレジスタ−レジスタ間転送 (図10参照) まず、第1オペランド,第2オペランド共にレジスタ直
接アドレッシングモードを指定した一般形の命令の実行
シーケンスについて説明する。命令コードは図8(A) に
参照符号421 にて示されている。この命令コードは、具
体的には汎用レジスタファイル308 の汎用レジスタR0
の値を同じく汎用レジスタR1に書き込む、という処理
を行う。
【0078】まず、命令コードの最初の2バイトがデコ
ードされる。具体的には、図8(A) に参照符号421 にて
示されている命令コードが1回目のマシンサイクルのφ
1クロックに同期して命令コード入力レジスタ210 に一
旦保持され、先頭の1バイトがメインデコーダ211 で、
次の1バイトがサブデコーダ217 でそれぞれデコードさ
れる。デコード結果は図9(A) の第1オペランドの欄に
示されているようになる。
【0079】メインデコーダ211 から出力される各信号
は以下のようになる。メインマイクロアドレス信号212
としてはマイクロプログラムルーチン”movg1”の先頭
アドレスが出力される。オペランドフェッチ要求信号21
3 としてはオペランドをフェッチすることを示す”1”
が出力される。サブデコーダ有効信号214 としてはサブ
デコーダ217 のデコード結果が有効であることを示す”
1”が出力され、 ANDゲート231 に入力される。第1レ
ジスタ番号信号215 としては”×(don■t care)”が出
力される。
【0080】また、サブデコーダ217 から出力される各
信号は以下のようになる。サブマイクロアドレス信号21
8 としては”×(don■t care)”が出力される。レジス
タ/メモリ信号219 としてはアドレッシングモードがレ
ジスタであることを示す”0”が出力され、 ANDゲート
231 に入力される。第2レジスタ番号信号220 としては
汎用レジスタR0を指示する信号が出力される。
【0081】サブデコーダ有効信号214 として”1”
が、レジスタ/メモリ信号219 として”0”がそれぞれ
出力されているので、 ANDゲート231 からはアドレス計
算要求信号223 としてアドレス計算が不要であることを
示す”0”が出力される。なお、図8(A) に示されてい
るように、命令コード421 の第1オペランドは拡張部を
有していないので、命令コード入力レジスタ210 からは
拡張部データ信号234 として”×(don■t care)”が出
力される。
【0082】ところで、前命令の最終マイクロ命令がマ
イクロROM109から読み出されると命令実行制御部制御回
路256 にはマイクロシーケンス制御信号261 によりマイ
クロシーケンスオペレーションとして”exit”が指定さ
れる。これにより、命令実行制御部制御回路256 からは
命令実行終了信号263 が出力されて上述の各信号がφ2
クロックに同期してそれぞれレジスタ224 〜230 に保持
されると共に、それぞれレジスタ204 〜245,マイクロア
ドレス入力セレクタ252 及び命令実行終了信号263 に入
力される。またこの際、アドレス計算要求信号223 は”
0”になっているため、図4に示されているように、命
令実行制御部制御回路256 はマイクロアドレス入力セレ
クタ252 を制御して命令デコード部107 のレジスタ224
に保持されているメインマイクロアドレス信号212 を選
択させる。従って、マイクロアドレス入力レジスタ253
には、マイクロROM109のアドレスとしてマイクロプログ
ラムルーチン”movg1”の先頭アドレスが2回目のマシ
ンサイクルのφ1クロックに同期して保持される。
【0083】マイクロアドレス入力レジスタ253 に保持
されているアドレスに従ってマイクロROM109からは”mo
vg1”ルーチンが読出されて2回目のマシンサイクルの
φ2クロックに同期してマイクロROM 出力レジスタ254
に保持され、マイクロデコーダ255 によりデコードされ
て処理される。以上の動作は、図10のフローチャート
の”START ”→ステップS13 に相当する。
【0084】”movg1”ルーチンは、第1オペランドの
値(ここでは汎用レジスタファイル308 の汎用レジスタ
R0が指定される)を一旦作業用レジスタ307 に退避す
る処理を行う。具体的には、汎用レジスタファイル308
の汎用レジスタR0の値がS1バス301,ALU309, Dバス30
3 経由で作業用レジスタ307 へ転送されて格納される。
以上で、 MOV命令の第1オペレーションコードに対応す
る処理は終了するため、マイクロシーケンスオペレーシ
ョン”exit”がマイクロシーケンス制御信号261 により
マイクロROM 出力レジスタ254 から命令実行制御部制御
回路256 に指定される。
【0085】一方、命令デコード部107 では、命令コー
ドの最初の2バイトのデコードが終了すると、引き続い
て次の2バイトがデコードされる。具体的には、図8
(A) に参照符号421 にて示されている命令コードの第
3, 第4バイトが2回目のマシンサイクルのφ1クロッ
クに同期して命令コード入力レジスタ210 に一旦保持さ
れ、第3バイトがメインデコーダ211 で、第4バイトが
サブデコーダ217 でそれぞれデコードされる。デコード
結果は図9(A) の第2オペランドの欄に示されているよ
うになる。
【0086】メインデコーダ211 から出力される各信号
は以下のようになる。メインマイクロアドレス信号212
としてはマイクロプログラムルーチン”movg2”の先頭
アドレスが出力される。オペランドフェッチ要求信号21
3 としてはオペランドをフェッチしないことを示す”
0”が出力される。サブデコーダ有効信号214 としては
サブデコーダ217 のデコード結果が有効であることを示
す”1”が出力され、 ANDゲート231 に入力される。第
1レジスタ番号信号215 としては”×(don■t care)”
が出力される。
【0087】また、サブデコーダ217 から出力される各
信号は以下のようになる。サブマイクロアドレス信号21
8 としては”×(don■t care)”が出力される。レジス
タ/メモリ信号219 としてはアドレッシングモードがレ
ジスタであることを示す”0”が出力され、 ANDゲート
231 に入力される。第2レジスタ番号信号220 としては
汎用レジスタR1を指示する信号が出力される。
【0088】サブデコーダ有効信号214 としては”1”
が、またレジスタ/メモリ信号219としては”0”がそ
れぞれ出力されているので、 ANDゲート231 からはアド
レス計算要求信号223 としてアドレス計算が不要である
ことを示す”0”が出力される。なお、図8(A) に示さ
れているように、命令コード421 の第2オペランドも拡
張部を有していないので、命令コード入力レジスタ210
からは拡張部データ信号234 として”×(don■t car
e)”が出力される。
【0089】ところで、第1オペレーションコードに対
応する処理の終了時点で”movg1”ルーチンのマイクロ
シーケンスオペレーション”exit”がマイクロシーケン
ス制御信号261 によりマイクロROM 出力レジスタ254 か
ら命令実行制御部制御回路256 に指定される。これによ
り、命令実行制御部制御回路256 からは命令実行終了信
号263 が出力されて上述の各信号がφ2クロックに同期
してそれぞれレジスタ224 〜230 に保持されると共に、
それぞれレジスタ204 〜245,マイクロアドレス入力セレ
クタ252 及び命令実行終了信号263 に入力される。また
この際、アドレス計算要求信号223 は”0”になってい
るため、図4に示されているように、命令実行制御部制
御回路256 はマイクロアドレス入力セレクタ252 を制御
して命令デコード部107 のレジスタ224 に保持されてい
るメインマイクロアドレス信号212 を選択させる。従っ
て、マイクロアドレス入力レジスタ253 には、マイクロ
ROM109のアドレスとしてマイクロプログラムルーチン”
movg2”の先頭アドレスが次のマシンサイクルのφ1ク
ロックに同期して保持される。
【0090】マイクロアドレス入力レジスタ253 に保持
されているアドレスに従ってマイクロROM109からは”mo
vg2”ルーチンが読出されてφ2クロックに同期してマ
イクロROM 出力レジスタ254 に保持され、マイクロデコ
ーダ255 によりデコードされて処理される。以上の動作
は、図10のフローチャートのステップS13 →ステップS1
6 に相当する。
【0091】”movg2”ルーチンは、”movg1”ルーチ
ンにより作業用レジスタ307 に退避されている第1オペ
ランドの値を第2オペランド(ここでは汎用レジスタフ
ァイル308 の汎用レジスタR1が指定される)へ転送す
る処理を行う。具体的には、作業用レジスタ307 の値が
S1バス301, ALU309, Dバス303 経由で第2オペランド
として指定されている汎用レジスタファイル308 の汎用
レジスタR1及びメモリライトレジスタ305 へ転送され
て格納される。
【0092】次のマイクロシーケンスオペレーションを
指定するマイクロシーケンス制御信号261 は”go/ex”
になるが、アドレス計算要求信号223(命令実行制御部10
8 出力)が”0”であるため、図4に示されているよう
に、命令実行制御部制御回路256 はマイクロアドレス入
力セレクタ252 を”exit”の場合と同様に制御して命令
処理が終了する。このようにして、図8(A) に参照符号
421 にて示されている命令コードにより、汎用レジスタ
ファイル308 の汎用レジスタR0の値が同じく汎用レジ
スタR1へ転送される。図10のフローチャートでは、”
START ”→ステップS13 →ステップS16 →”END ”とな
り、2ステップで命令の実行が終了する。
【0093】 (B) 一般形のメモリ−メモリ間転送 (図10参照) 第1オペランドでレジスタ間接アドレッシングモード
が、第2オペランドで絶対アドレッシングモードがそれ
ぞれ指定された一般形の命令の実行シーケンスについて
説明する。命令コードは図8(B) に参照符号422 にて示
されている。この命令コードは、具体的には汎用レジス
タファイル308 の汎用レジスタR2の値をアドレスとし
たメモリ104 の値をアドレス”12345678(16進)”に書
き込む、という処理を行う。
【0094】まず、命令コードの最初の2バイトがデコ
ードされる。具体的には、図8(B) に参照符号422 にて
示されている命令コードが1回目のマシンサイクルのφ
1クロックに同期して命令コード入力レジスタ210 に一
旦保持され、先頭の1バイトがメインデコーダ211 で、
次の1バイトがサブデコーダ217 でそれぞれデコードさ
れる。デコード結果は図9(B) の第1オペランドの欄に
示されているようになる。
【0095】メインデコーダ211 から出力される各信号
は以下のようになる。メインマイクロアドレス信号212
としてはマイクロプログラムルーチン”movg1”の先頭
アドレスが出力される。オペランドフェッチ要求信号21
3 としてはオペランドをフェッチすることを示す”1”
が出力される。サブデコーダ有効信号214 としてはサブ
デコーダ217 のデコード結果が有効であることを示す”
1”が出力され、 ANDゲート231 に入力される。第1レ
ジスタ番号信号215 としては”×(don■t care)”が出
力される。
【0096】また、サブデコーダ217 から出力される各
信号は以下のようになる。サブマイクロアドレス信号21
8 としては”@Rn”が出力される。レジスタ/メモリ信
号219 としてはアドレッシングモードがメモリ104 であ
ることを示す”1”が出力され、 ANDゲート231 に入力
される。第2レジスタ番号信号220 としては汎用レジス
タR2を指示する信号が出力される。
【0097】サブデコーダ有効信号214 としては”1”
が、またレジスタ/メモリ信号219としては”1”がそ
れぞれ出力されているので、 ANDゲート231 からはアド
レス計算要求信号223 としてアドレス計算が必要である
ことを示す”1”が出力される。なお、図8(B) に示さ
れているように、命令コード422 の第1オペランドは拡
張部を有していないので、命令コード入力レジスタ210
からは拡張部データ信号234 として”×(don■t car
e)”が出力される。
【0098】ところで、前命令の最終マイクロ命令がマ
イクロROM109から読み出されると命令実行制御部制御回
路256 にはマイクロシーケンスオペレーション”exit”
がマイクロシーケンス制御信号261 により指定される。
これにより、上述の各信号がφ2クロックに同期してそ
れぞれレジスタ224 〜230 に保持されると共に、それぞ
れレジスタ204 〜245,マイクロアドレス入力セレクタ25
2 及び命令実行終了信号263 に入力される。この際、ア
ドレス計算要求信号223 は”1”になっているため、図
4に示されているように、命令実行制御部制御回路256
はマイクロアドレス入力セレクタ252 を制御して命令デ
コード部107 のレジスタ225 に保持されているサブマイ
クロアドレス信号218 を選択させる。
【0099】従って、マイクロアドレス入力レジスタ25
3 には、マイクロROM109のアドレスとしてマイクロプロ
グラムルーチン”@Rn”の先頭アドレスが2回目のマシ
ンサイクルのφ1クロックに同期して保持される。
【0100】一方、命令デコード部107 から出力されて
いるマイクロプログラムルーチン”movg1”の先頭アド
レスを指示するメインマイクロアドレス信号212 は2回
目のマシンサイクルのφ1クロックに同期して命令実行
制御部108 のレジスタ240 に保持され、更に2回目のマ
シンサイクルのφ2クロックに同期して命令実行制御部
108 のレジスタ246 に保持される。
【0101】マイクロアドレス入力レジスタ253 に保持
されているアドレスに従ってマイクロROM109からは”@
Rn”ルーチンが読出されてφ2クロックに同期してマイ
クロROM 出力レジスタ254 に保持され、マイクロデコー
ダ255 によりデコードされて処理される。以上の動作
は、図10のフローチャートの”START ”→ステップS11
に相当する。
【0102】”@Rn”ルーチンは、レジスタ間接のアド
レス計算を行うマイクロプログラムルーチンである。第
1オペランド指定部で指定されている汎用レジスタ(こ
こでは汎用レジスタファイル308 の汎用レジスタR2が
指定される)の値がS1バス301,ALU309, Dバス303 経由
でメモリアドレスレジスタ306 へ転送されて格納され
る。次のマイクロシーケンスオペレーションを指定する
マイクロシーケンス制御信号261 は”go/ret ”になる
が、オペランドフェッチ要求信号213 が”1”であるた
め、図4に示されているように、命令実行制御部制御回
路256 はマイクロアドレス入力セレクタ252 をマイクロ
シーケンスオペレーション”goto”の場合と同様に制御
する。
【0103】マイクロシーケンスオペレーション”got
o”のジャンプ先としてはメモリリード用のルーチン”r
ead”のアドレスが次マイクロアドレス信号262 により
指定される。このルーチン”read”では、メモリアドレ
スレジスタ306 の値をアドレスとしてメモリ104 がリー
ドされる。リードされたデータはメモリリードレジスタ
304 にセットされる。以上の動作は、図10のフローチャ
ートのステップS11 →ステップS12 に相当する。
【0104】次のマイクロシーケンスオペレーションを
指定するマイクロシーケンス制御信号261 は”return”
になるので、図4に示されているように、命令実行制御
部制御回路256 はマイクロアドレス入力セレクタ252 を
制御して命令実行制御部108のレジスタ246 に保持され
ているメインマイクロアドレス信号212 を選択させる。
これにより、次のマイクロプログラムアドレスとして
は”movg1”の先頭アドレスが指定される。
【0105】”movg1”ルーチンでは、前述同様に、第
1オペランド(ここではメモリリードレジスタ304 が指
定される)の値がS1バス301 →ALU309→Dバス303 経由
で作業用レジスタ307 に格納される。以上の動作は、図
10のフローチャートのステップS12 →ステップS13 に相
当する。
【0106】一方、命令デコード部107 では、命令コー
ドの最初の2バイトのデコードが終了すると、引き続い
て次の2バイトがデコードされる。具体的には、図8
(B) に参照符号422 にて示されている命令コードが2回
目のマシンサイクルのφ1クロックに同期して命令コー
ド入力レジスタ210 に一旦保持され、第3バイトがメイ
ンデコーダ211 で、第4バイトがサブデコーダ217 でそ
れぞれデコードされる。デコード結果は図9(B) の第2
オペランドの欄に示されているようになる。
【0107】メインデコーダ211 から出力される各信号
は以下のようになる。メインマイクロアドレス信号212
としてはマイクロプログラムルーチン”movg2”の先頭
アドレスが出力される。オペランドフェッチ要求信号21
3 としてはオペランドをフェッチしないことを示す”
0”が出力される。
【0108】サブデコーダ有効信号214 としてはサブデ
コーダ217 のデコード結果が有効であることを示す”
1”が出力され、 ANDゲート231 に入力される。第1レ
ジスタ番号信号215 としては”×(don■t care)”が出
力される。
【0109】また、サブデコーダ217 から出力される各
信号は以下のようになる。サブマイクロアドレス信号21
8 としては”@abs ”が出力される。レジスタ/メモリ
信号219 としてはアドレッシングモードがメモリ104 で
あることを示す”1”が出力され、 ANDゲート231 に入
力される。第2レジスタ番号信号220 としては”×(don
■t care)”が出力される。
【0110】サブデコーダ有効信号214 としては”1”
が、またレジスタ/メモリ信号219としては”1”がそ
れぞれ出力されているので、 ANDゲート231 からはアド
レス計算要求信号223 としてアドレス計算が必要である
ことを示す”0”が出力される。なお、図8(B) に示さ
れているように、命令コード422 の第2オペランドは拡
張部を有しているので、命令コード入力レジスタ210 か
らは拡張部データ信号234 として”12345678(16進)”
が出力される。
【0111】ところで、第1オペレーションコードに対
応する処理の終了時点で”movg1”ルーチンのマイクロ
シーケンスオペレーション”exit”がマイクロシーケン
ス制御信号261 によりマイクロROM 出力レジスタ254 か
ら命令実行制御部制御回路256 に指定される。これによ
り、上述の各信号がφ2クロックに同期してそれぞれレ
ジスタ224 〜230 に保持されると共に、それぞれレジス
タ204 〜245,マイクロアドレス入力セレクタ252 及び命
令実行終了信号263 に入力される。またこの際、アドレ
ス計算要求信号223 は”1”になっているため、図4に
示されているように、命令実行制御部制御回路256 はマ
イクロアドレス入力セレクタ252 を制御して命令デコー
ド部107 のレジスタ225 に保持されているサブマイクロ
アドレス信号218 を選択させる。従って、マイクロアド
レス入力レジスタ253 には、マイクロROM109のアドレス
としてマイクロプログラムルーチン”@abs ”の先頭ア
ドレスが次のマシンサイクルのφ1クロックに同期して
保持される。
【0112】一方、命令デコード部107 から出力されて
いるマイクロプログラムルーチン”movg2”の先頭アド
レスを指示するメインマイクロアドレス信号212 は次の
マシンサイクルのφ1クロックに同期して命令実行制御
部108 のレジスタ240 に保持され、更にφ2クロックに
同期して命令実行制御部108 のレジスタ246 に保持され
る。マイクロアドレス入力レジスタ253 に保持されてい
るアドレスに従ってマイクロROM109からは”@abs ”ル
ーチンが読出されてφ2クロックに同期してマイクロRO
M 出力レジスタ254 に保持され、マイクロデコーダ255
によりデコードされて処理される。以上の動作は、図10
のフローチャートのステップS13 →ステップS14 に相当
する。
【0113】”@abs ”ルーチンは、絶対アドレッシン
グのアドレス計算を行うマイクロプログラムルーチンで
ある。拡張部の値がS1バス301,ALU309, Dバス303 経由
でメモリアドレスレジスタ306 へ転送されてセットされ
る。
【0114】次のマイクロシーケンスオペレーションを
指定するマイクロシーケンス制御信号261 は”go/ret
”になるが、オペランドフェッチ要求信号213 が”
0”であるため、図4に示されているように、命令実行
制御部制御回路256 はマイクロアドレス入力セレクタ25
2 をマイクロシーケンスオペレーション”return”の場
合と同様に制御する。即ち、次のマイクロプログラムア
ドレスは命令実行制御部108 のレジスタ246に保持され
ているメインマイクロアドレス信号212 となり、マイク
ロプログラムルーチン”movg2”の先頭アドレスが指示
される。以上の動作は、図10のフローチャートのステッ
プS14 →ステップS16 に相当する。
【0115】”movg2”ルーチンでは、前述同様に、作
業用レジスタ307 の値がS1バス301,ALU309,Dバス303
経由で第2オペランド指定部のレジスタ番号で指定され
ているレジスタ(ここでは指定されていないため、いず
れの汎用レジスタにも書き込まれない)及びメモリライ
トレジスタ305 へ転送されて格納される。次のマイクロ
シーケンスオペレーションを指定するマイクロシーケン
ス制御信号261 は”go/ex”になるが、アドレス計算要
求信号223 が”1”であるため、図4に示されているよ
うに、命令実行制御部制御回路256 はマイクロアドレス
入力セレクタ252 をマイクロシーケンスオペレーショ
ン”goto”の場合と同様に制御する。
【0116】マイクロシーケンスオペレーション”got
o”のジャンプ先としてはメモリライト用のルーチン”w
rite ”のアドレスが次マイクロアドレス信号262 によ
り指定される。このルーチン”write ”では、メモリア
ドレスレジスタ306 の値をアドレスとしてメモリ104 が
リードされる。リードされたデータはメモリリードレジ
スタ304 にセットされる。以上の動作は、図10のフロー
チャートのステップS16 →ステップS17 に相当する。
【0117】次にマイクロシーケンスオペレーション
は”exit”になり、命令処理が終了する。このようにし
て、図8(B) に参照符号422 にて示されている命令コー
ドにより、汎用レジスタファイル308 の汎用レジスタR
2の値をアドレスとしたメモリデータが、アドレス”12
345678(16進)”に書き込まれる。図10のフローチャー
トでは、” START”→ステップS11 →ステップS12 →ス
テップS13 →ステップS14 →ステップS16 →ステップS1
7 →”END ”となる。
【0118】なお、図10にステップS15 として示されて
いるオペレーション”read”は、第2オペランドをメモ
リからリードする場合に必要になるが、ここで示されて
いる例では不要である。
【0119】(C) 短縮形のレジスタ−レジスタ間転送
(図11参照) 第2オペランドでレジスタ直接アドレッシングモードが
指定された短縮形の命令の実行シーケンスについて説明
する。命令コードは図8(C) に参照符号423 にて示され
ている。この命令コードは、具体的には汎用レジスタフ
ァイル308 の汎用レジスタR4の値を同じく汎用レジス
タR5に書き込む、という処理を行う。
【0120】まず、命令コードの最初の2バイトが前述
の命令と同様にデコードされる。デコード結果は図9
(C) の欄に示されているようになる。
【0121】メインデコーダ211 から出力される各信号
は以下のようになる。メインマイクロアドレス信号212
としてはマイクロプログラムルーチン”movs”の先頭ア
ドレスが出力され。オペランドフェッチ要求信号213 と
してはオペランドをフェッチしないことを示す”0”が
出力される。サブデコーダ有効信号214 としてはサブデ
コーダ217 のデコード結果が有効であることを示す”
1”が出力され、 ANDゲート231 に入力される。第1レ
ジスタ番号信号215 としては汎用レジスタR3を指示す
る信号が出力される。
【0122】また、サブデコーダ217 から出力される各
信号は以下のようになる。サブマイクロアドレス信号21
8 としては”×(don■t care)”が出力される。レジス
タ/メモリ信号219 としてはアドレッシングモードがレ
ジスタであることを示す”0”が出力され、 ANDゲート
231 に入力される。第2レジスタ番号信号220 としては
汎用レジスタR4を指示する信号が出力される。
【0123】サブデコーダ有効信号214 としては”1”
が、またレジスタ/メモリ信号219としては”0”がそ
れぞれ出力されているので、 ANDゲート231 からはアド
レス計算要求信号223 としてアドレス計算が不要である
ことを示す”0”が出力される。なお、図8(C) に示さ
れているように、命令コード423 の第1オペランドは拡
張部を有していないので、命令コード入力レジスタ210
からは拡張部データ信号234 として”×(don■t car
e)”が出力される。
【0124】ところで、前命令の最終マイクロ命令がマ
イクロROM109から読み出されると命令実行制御部制御回
路256 にはマイクロシーケンスオペレーション”exit”
がマイクロシーケンス制御信号261 により指定される。
これにより、上述の各信号がφ2クロックに同期してそ
れぞれレジスタ224 〜230 に保持されると共に、それぞ
れレジスタ204 〜245,マイクロアドレス入力セレクタ25
2 及び命令実行終了信号263 に入力される。またこの
際、アドレス計算要求信号223 は”0”になっているた
め、図4に示されているように、命令実行制御部制御回
路256 はマイクロアドレス入力セレクタ252 を制御して
レジスタ224 に保持されているメインマイクロアドレス
信号212 を選択させる。従って、マイクロアドレス入力
レジスタ253 には、マイクロROM109のアドレスとしてマ
イクロプログラムルーチン”movs”の先頭アドレスが2
回目のマシンサイクルのφ1クロックに同期して保持さ
れる。
【0125】マイクロアドレス入力レジスタ253 に保持
されているアドレスに従ってマイクロROM109からは”mo
vs”ルーチンが読出されてφ2クロックに同期してマイ
クロROM 出力レジスタ254 に保持され、マイクロデコー
ダ255 によりデコードされて処理される。以上の動作
は、図11のフローチャートの”START ”→ステップS23
に相当する。
【0126】”movs”ルーチンでは、オペレーションコ
ードで指定されたレジスタ(=R3)の値がS1バス301,
ALU309,Dバス303 経由でオペランド指定部のレジスタ
番号で指定されるレジスタ(=R4)及びメモリライト
レジスタ305 へ転送されて格納される。
【0127】次のマイクロシーケンスオペレーションを
指定するマイクロシーケンス制御信号261 は”go/ex”
になるが、アドレス計算要求信号223 が”0”であるた
め、図4に示されているように、命令実行制御部制御回
路256 はマイクロアドレス入力セレクタ252 をマイクロ
シーケンスオペレーション”exit”の場合と同様に制御
し、命令処理が終了する。このようにして、汎用レジス
タR3の値が同じく汎用レジスタR4へ転送される。図
11のフローチャートでは” START”→ステップS23 →”
END ”となり、1ステップで命令が終了する。
【0128】(D) 短縮形のメモリ−メモリ間転送 (図11
参照) 第2オペランドにレジスタ相対間接アドレッシングモー
ドを指定した短縮形の命令の実行シーケンスについて説
明する。命令コードは図8(D) に参照符号424 にて
示されている。この命令コードは、具体的には汎用レジ
スタファイル308 の汎用レジスタR5の値をアドレス”
R6+1000(16進)”のメモリ104 に書き込む、という
処理を行う。
【0129】まず、前述の各命令コードと同様に、命令
コードの最初の2バイトがデコードされる。デコード結
果は図9(D) の欄に示すようになる。
【0130】メインデコーダ211 から出力される各信号
は以下のようになる。メインマイクロアドレス信号212
としてはマイクロプログラムルーチン”movs”の先頭ア
ドレスが出力される。オペランドフェッチ要求信号213
としてはオペランドをフェッチしないことを示す”0”
が出力される。サブデコーダ有効信号214 としてはサブ
デコーダ217 のデコード結果が有効であることを示す”
1”が出力され、 ANDゲート231 に入力される。第1レ
ジスタ番号信号215 としては汎用レジスタR5を指示す
る信号が出力される。
【0131】また、サブデコーダ217 から出力される各
信号は以下のようになる。サブマイクロアドレス信号21
8 としては”@Rn+exp ”が出力される。レジスタ/メ
モリ信号219 としてはアドレッシングモードがメモリ10
4 であることを示す”1”が出力され、 ANDゲート231
に入力される。第2レジスタ番号信号220 としては汎用
レジスタR6を指示する信号が出力される。
【0132】サブデコーダ有効信号214 としては”1”
が、またレジスタ/メモリ信号219としては”1”がそ
れぞれ出力されているので、 ANDゲート231 からはアド
レス計算要求信号223 としてアドレス計算が必要である
ことを示す”1”が出力される。なお、図8(D) に示さ
れているように、命令コード424 の第2オペランドは拡
張部を有しているので、命令コード入力レジスタ210 か
らは拡張部データ信号234 として”00001000(16進)”
が出力される。
【0133】ところで、前命令の最終マイクロ命令がマ
イクロROM109から読み出されると命令実行制御部制御回
路256 にはマイクロシーケンスオペレーション”exit”
がマイクロシーケンス制御信号261 により指定される。
これにより、上述の各信号がφ2クロックに同期してそ
れぞれレジスタ224 〜230 に保持されると共に、それぞ
れレジスタ204 〜245,マイクロアドレス入力セレクタ25
2 及び命令実行終了信号263 に入力される。またこの
際、アドレス計算要求信号223 は”1”になっているた
め、図4に示されているように、命令実行制御部制御回
路256 はマイクロアドレス入力セレクタ252 を制御して
レジスタ225 に保持されているサブマイクロアドレス信
号218を選択させる。従って、マイクロアドレス入力レ
ジスタ253 には、マイクロROM109のアドレスとしてマイ
クロプログラムルーチン”@Rn+exp ”の先頭アドレス
が2回目のマシンサイクルのφ1クロックに同期して保
持される。
【0134】一方、命令デコード部107 から出力されて
いるマイクロプログラムルーチン”movs”の先頭アドレ
スを指示するメインマイクロアドレス信号212 は2回目
のマシンサイクルのφ1クロックに同期して命令実行制
御部108 のレジスタ240 に保持され、更にφ2クロック
に同期して命令実行制御部108 のレジスタ246 に保持さ
れる。
【0135】マイクロアドレス入力レジスタ253 に保持
されているアドレスに従ってマイクロROM109からは”@
Rn+exp ”ルーチンが読出されてφ2クロックに同期し
てマイクロROM 出力レジスタ254 に保持され、マイクロ
デコーダ255 によりデコードされて処理される。以上の
動作は、図11のフローチャートの”START ”→ステップ
S21 に相当する。
【0136】”@Rn+exp ”ルーチンは、レジスタ相対
間接のアドレス計算を行うマイクロプログラムルーチン
である。オペランド指定部で指定されている汎用レジス
タ(ここでは汎用レジスタファイル308 の汎用レジスタ
R6が指定される)の値がS1バス301 へ、拡張部の値”
00001000(16進)”がS2バス302 へそれぞれ出力され、
それらをALU309で加算した結果の値がDバス303 へ出力
されてメモリアドレスレジスタ306 にセットされる。次
のマイクロシーケンスオペレーションを指定するマイク
ロシーケンス制御信号261 は”go/ret ”になるが、オ
ペランドフェッチ要求信号213 が”0”であるため、図
4に示されているように、命令実行制御部制御回路256
はマイクロアドレス入力セレクタ252 をマイクロシーケ
ンスオペレーション”return”の場合と同様に制御す
る。
【0137】即ち、次のマイクロプログラムアドレスは
命令実行制御部108 のレジスタ246に保持されているメ
インマイクロアドレス信号212 となり、マイクロプログ
ラムルーチン”movs”の先頭アドレスが指示される。以
上の動作は、図11のフローチャートのステップS21 →ス
テップS23 に相当する。
【0138】”movs”ルーチンでは、オペレーションコ
ード内のレジスタ番号で指定された汎用レジスタR5の
値がS1バス301, ALU309,Dバス303 経由でオペランド指
定部のレジスタ番号で指定されるレジスタ(=ここでは
指定されていないため、いずれの汎用レジスタにも書き
込まれない)及びメモリライトレジスタ305 へ転送さて
格納される。次のマイクロシーケンサオペレーションを
指定するマイクロシーケンス制御信号261 は”go/ex”
になるが、アドレス計算要求信号223 が”1”であるた
め、図4に示されているように、命令実行制御部制御回
路256 はマイクロアドレス入力セレクタ252 をマイクロ
シーケンスオペレーション”goto”の場合と同様に制御
する。
【0139】マイクロシーケンスオペレーション”got
o”のジャンプ先としてはメモリライト用のルーチン”w
rite ”のアドレスが次マイクロアドレス信号262 によ
り指定される。このルーチン”write ”では、メモリア
ドレスレジスタ306 の値をアドレスとしてメモリライト
レジスタ305 がリードされる。リードされたデータはメ
モリリードレジスタ304 にセットされる。以上の動作
は、図11のフローチャートのステップS23 →ステップS2
4 に相当する。
【0140】次にマイクロシーケンスオペレーション
は”exit”になり、命令処理が終了する。このようにし
て、図8(D) に参照符号424 にて示されている命令コー
ドにより、汎用レジスタファイル308 の汎用レジスタR
5の値がメモリ104 のアドレスレスアドレス”R6+10
00(16進)”に書き込まれる。図11のフローチャートで
は、” START”→ステップS21 →ステップS23 →ステッ
プS24 →”END ”となる。
【0141】なお、図11にステップS22 として示されて
いるオペレーション”read”は、第1オペランドをメモ
リからリードする場合に必要になるが、ここで示されて
いる例では不要である。
【0142】
【発明の効果】以上に詳述したように本発明のデータ処
理装置によれば、アドレス計算が必要なアドレシッシン
グモードが指定された場合にのみアドレス計算用マイク
ロプログラムを実行するようにハードウェア制御される
ため、マイクロプログラム中でアドレシッシングモード
を判定する必要がなくなる。また、アドレス計算用のマ
イクロプログラムもアドレシッシングモードと同数だけ
用意すればよいため、命令実行の高速化とマイクロプロ
グラムサイズの縮小化との双方が実現される。
【図面の簡単な説明】
【図1】本発明のデータ処理装置の命令フェッチ部,命
令デコード部及び命令実行制御部の詳細な構成を示すブ
ロック図である。
【図2】本発明のデータ処理装置の全体の構成を示すブ
ロック図である。
【図3】本発明のデータ処理装置のプロセッサ内で使用
されているノンオーバラップ2相クロックの波形図であ
る。
【図4】本発明のデータ処理装置のマイクロアドレス入
力セレクタの動作を説明する表を示す図である。
【図5】本発明のデータ処理装置の命令実行部の詳細な
構成を示すブロック図である。
【図6】本発明のデータ処理装置が処理する命令のフォ
ーマットの一例を示す模式図である。
【図7】本発明のデータ処理装置が処理する命令のフォ
ーマットのオペランド指定部のフォーマットの一例を示
す模式図である。
【図8】本発明のデータ処理装置が処理する MOV命令
(データ転送命令)の命令コードの一例を示す模式図で
ある。
【図9】図8に示されている命令コードを実行した場合
の命令デコード部における各出力信号の一覧表を示す図
である。
【図10】本発明のデータ処理装置が処理する MOV命令
(データ転送命令)の一般形(Gフォーマット)の実行
シーケンスを示すフローチャートである。
【図11】本発明のデータ処理装置が処理する MOV命令
(データ転送命令)の短縮形(Sフォーマット)の実行
シーケンスを示すフローチャートである。
【符号の説明】
103 プロセッサ 104 メモリ 107 命令デコード部 108 命令実行制御部 109 マイクロROM 110 命令実行部 210 命令コード入力レジスタ 211 メインデコーダ 212 メインマイクロアドレス信号 213 オペランドフェッチ要求信号 214 サブデコーダ有効信号 217 サブデコーダ 218 サブマイクロアドレス信号 219 レジスタ/メモリ信号 223 アドレス計算要求信号 224 〜230 レジスタ 240 〜245 レジスタ 246 〜251 レジスタ 252 マイクロアドレス入力セレクタ 256 命令実行制御部制御回路 261 マイクロシーケンス制御信号 262 次マイクロアドレス信号
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年10月15日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項3
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】請求項8
【補正方法】変更
【補正内容】
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正内容】
【0012】
【作用】本発明に係るデータ処理装置では、アドレス計
算の必要がないたとえばオペランドがレジスタであるよ
うな命令の実行に際しては、第1の制御信号であるアド
レス計算要求信号が”無効”となり、命令実行用マイク
ロプログラムアドレスが選択されて命令が実行される。
一方、アドレス計算が必要なたとえばオペランドがメモ
リであるような命令の実行に際しては、アドレス計算要
求信号が”有効”となり、アドレス計算用マイクロプロ
グラムアドレスが選択されてオペランドのアドレス計算
が行われる。また、第1の制御信号であるオペランドフ
ェッチ要求信号が”有効”であればオペランドのアドレ
ス計算の終了直後にメモリリード用のマイクロプログラ
ムアドレスが選択されてオペランドがメモリからリード
され、”無効”であればオペランドのアドレス計算の終
了直後に命令実行用マイクロプログラムアドレスが選択
される。また、第2の制御信号であるオペランドライト
要求信号が”有効”であれば命令実行の終了直後にメモ
リライト用のマイクロプログラムアドレスが選択されて
オペランドがメモリにライトされ、”無効”であれば
令実行の終了直後に新たなオペレーションコードに対応
するマイクロプログラムアドレスが選択される。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0116
【補正方法】変更
【補正内容】
【0116】マイクロシーケンスオペレーション”got
o”のジャンプ先としてはメモリライト用のルーチン”w
rite ”のアドレスが次マイクロアドレス信号262 によ
り指定される。このルーチン”write ”では、メモリア
ドレスレジスタ306 の値をアドレスとしてメモリ104
メモリライトレジスタ305 の値がライトされる。以上の
動作は、図10のフローチャートのステップS16 →ステッ
プS17 に相当する。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0139
【補正方法】変更
【補正内容】
【0139】マイクロシーケンスオペレーション”got
o”のジャンプ先としてはメモリライト用のルーチン”w
rite ”のアドレスが次マイクロアドレス信号262 によ
り指定される。このルーチン”write ”では、メモリア
ドレスレジスタ306 の値をアドレスとしてメモリライト
レジスタ305 がライトされる。以上の動作は、図11のフ
ローチャートのステップS23 →ステップS24 に相当す
る。
【手続補正6】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正内容】
【図1】
【手続補正7】
【補正対象書類名】図面
【補正対象項目名】図10
【補正方法】変更
【補正内容】
【図10】
【手続補正8】
【補正対象書類名】図面
【補正対象項目名】図11
【補正方法】変更
【補正内容】
【図11】

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 オペレーション指定部とオペランド指定
    部とを含む命令コードを有する命令をマイクロプログラ
    ムを用いて実行制御するデータ処理装置であって、 命令コードをデコードすることにより、オペレーション
    指定部を含むフィールドから命令実行のための第1のマ
    イクロプログラムアドレスを、命令コードのオペランド
    指定部を含むフィールドからオペランドのアドレス計算
    のための第2のマイクロプログラムアドレスを、命令コ
    ードの一部または全部から前記第2のマイクロプログラ
    ムアドレスが有効であるか否かを示す第1の制御信号を
    それぞれ生成するデコード手段と、 次に実行されるべきマイクロプログラムシーケンスを指
    定するためのマイクロシーケンスフィールドを有する複
    数のマイクロ命令を格納したマイクロ命令格納手段と、 前記マイクロ命令格納手段から次に読み出して実行すべ
    きマイクロ命令のアドレスを格納するマイクロアドレス
    格納手段と、 前記第1のマイクロプログラムアドレス、前記第2のマ
    イクロプログラムアドレス、それ以外の一つまたは複数
    のアドレスを含む第3のマイクロプログラムアドレスの
    内のいずれか一つを選択して前記マイクロアドレス格納
    手段に格納させるマイクロアドレス選択手段と、 前記第1の制御信号と直前に実行されたマイクロ命令の
    マイクロシーケンスフィールドの値とに応じて前記第
    1,第2,第3のマイクロプログラムアドレスの内のい
    ずれか一つを前記マイクロアドレス選択手段に選択させ
    るマイクロアドレス選択制御手段とを備えたことを特徴
    とするデータ処理装置。
  2. 【請求項2】 オペレーション指定部とオペランド指定
    部とを含む命令コードを有する命令をマイクロプログラ
    ムを用いて実行制御するデータ処理装置であって、 命令コードをデコードすることにより、オペレーション
    指定部を含むフィールドから命令実行のための第1のマ
    イクロプログラムアドレスを、命令コードのオペランド
    指定部を含むフィールドからオペランドのアドレス計算
    のための第2のマイクロプログラムアドレスを、命令コ
    ードの一部または全部から前記第2のマイクロプログラ
    ムアドレスが有効であるか否かを示す第1の制御信号
    を、命令コードの一部または全部からオペランドをメモ
    リからリードする必要があるか否かを示す第2の制御信
    号をそれぞれ生成するデコード手段と、 次に実行されるべきマイクロプログラムシーケンスを指
    定するためのマイクロシーケンスフィールドを有する複
    数のマイクロ命令を格納したマイクロ命令格納手段と、 前記マイクロ命令格納手段から次に読み出して実行すべ
    きマイクロ命令のアドレスを格納するマイクロアドレス
    格納手段と、 前記第1のマイクロプログラムアドレス、前記第2のマ
    イクロプログラムアドレス、それ以外の一つまたは複数
    のアドレスを含む第3のマイクロプログラムアドレスの
    内のいずれか一つを選択して前記マイクロアドレス格納
    手段に格納させるマイクロアドレス選択手段と、 前記第1の制御信号及び直前に実行されたマイクロ命令
    のマイクロシーケンスフィールドの値に応じて前記第
    1,第2,第3のマイクロプログラムアドレスの内のい
    ずれか一つを前記マイクロアドレス選択手段に選択さ
    せ、また前記第2の制御信号の値に応じて前記第1のマ
    イクロアドレスまたは前記第3のマイクロアドレスのい
    ずれかを選択させるマイクロアドレス選択制御手段とを
    備えたことを特徴とするデータ処理装置。
  3. 【請求項3】 オペレーション指定部とオペランド指定
    部とを含む命令コードを有する命令をマイクロプログラ
    ムを用いて実行制御するデータ処理装置であって、 命令コードをデコードすることにより、オペレーション
    指定部を含むフィールドから命令実行のための第1のマ
    イクロプログラムアドレスを、命令コードのオペランド
    指定部を含むフィールドからオペランドのアドレス計算
    のための第2のマイクロプログラムアドレスを、命令コ
    ードの一部または全部から前記第2のマイクロプログラ
    ムアドレスが有効であるか否かを示す第1の制御信号
    を、命令コードの一部または全部からオペランドをメモ
    リからリードする必要があるか否かを示す第2の制御信
    号を、命令コードの一部または全部からオペランドを前
    記メモリにライトする必要があるか否かを示す第3の制
    御信号をそれぞれ生成するデコード手段と、 次に実行されるべきマイクロプログラムシーケンスを指
    定するためのマイクロシーケンスフィールドを有する複
    数のマイクロ命令を格納したマイクロ命令格納手段と、 前記マイクロ命令格納手段から次に読み出して実行すべ
    きマイクロ命令のアドレスを格納するマイクロアドレス
    格納手段と、 前記第1のマイクロプログラムアドレス、前記第2のマ
    イクロプログラムアドレス、それ以外の一つまたは複数
    のアドレスを含む第3のマイクロプログラムアドレスの
    内のいずれか一つを選択して前記マイクロアドレス格納
    手段に格納させるマイクロアドレス選択手段と、 前記第1の制御信号及び直前に実行されたマイクロ命令
    のマイクロシーケンスフィールドの値に応じて前記第
    1,第2,第3のマイクロプログラムアドレスの内のい
    ずれか一つを前記マイクロアドレス選択手段に選択さ
    せ、前記第2の制御信号の値に応じて前記第1のマイク
    ロアドレスまたは前記第3のマイクロアドレスのいずれ
    かを選択させ、前記第1の制御信号,前記第3の制御信
    号及び直前に実行されたマイクロ命令のマイクロシーケ
    ンスフィールドの値に応じて前記第1のマイクロアドレ
    スまたは前記第3のマイクロアドレスのいずれかを選択
    させるマイクロアドレス選択制御手段とを備えたことを
    特徴とするデータ処理装置。
  4. 【請求項4】 デコード手段は更に、命令コードの一部
    または全部から命令コード中にオペランド指定部がある
    か否かを示す第4の制御信号と、オペランドがメモリで
    あるか否かを示す第5の制御信号とを生成すべくなして
    あり、 前記第4及び第5の制御信号から前記第1の制御信号を
    生成する手段を備えたことを特徴とする請求項1,2及
    び3に記載のデータ処理装置。
  5. 【請求項5】 前記デコード手段が生成した第1のマイ
    クロプログラムアドレスを所定期間保持した後に前記マ
    イクロアドレス選択手段へ出力する保持手段を備えたこ
    とを特徴とする請求項1,2及び3に記載のデータ処理
    装置。
  6. 【請求項6】 実行すべき命令の種類をオペレーション
    コードで指定するオペレーション指定部と、オペランド
    のアドレス計算のためのアドレッシングモードを指定す
    るオペランド指定部とを含む命令コードを有する命令を
    マイクロプログラムを用いて実行制御するデータ処理装
    置であって、 オペレーションコードの種類にそれぞれ対応した複数の
    命令実行用マイクロプログラムルーチンと、アドレシッ
    シングモードの種類にそれぞれ対応した複数のアドレス
    計算用マイクロプログラムルーチンとを含む複数のマイ
    クロプログラムルーチンを格納したマイクロプログラム
    格納手段と、 命令コードの一部または全部をデコードしてその命令が
    アドレス計算を必要とするか否かを示すアドレス計算有
    効信号を生成するデコード手段と、 該デコード手段により生成されたアドレス計算有効信号
    に応じて、前記マイクロプログラム格納手段に格納され
    ているマイクロプログラムルーチンを実行制御する制御
    手段とを備え、 前記制御手段は、 前記アドレス計算有効信号が無効である場合は命令コー
    ドのオペレーションコードに対応する命令実行用マイク
    ロプログラムルーチンを前記マイクロプログラム格納手
    段から読み出して実行し、 前記アドレス計算有効信号が有効である場合は命令コー
    ドのオペランド指定部が指定するアドレッシングモード
    に対応するアドレス計算用マイクロプログラムルーチン
    を前記マイクロプログラム格納手段から読み出して実行
    すべくなしてあることを特徴とするデータ処理装置。
  7. 【請求項7】 実行すべき命令の種類をオペレーション
    コードで指定するオペレーション指定部と、オペランド
    のアドレス計算のためのアドレッシングモードを指定す
    るオペランド指定部とを含む命令コードを有する命令を
    マイクロプログラムを用いて実行制御するデータ処理装
    置であって、 オペレーションコードの種類にそれぞれ対応した複数の
    命令実行用マイクロプログラムルーチンと、アドレシッ
    シングモードの種類にそれぞれ対応した複数のアドレス
    計算用マイクロプログラムルーチンと、オペランドをメ
    モリからリードするためのマイクロプログラムルーチン
    とを含む複数のマイクロプログラムルーチンを格納した
    マイクロプログラム格納手段と、 命令コードの一部または全部をデコードしてその命令が
    アドレス計算を必要とするか否かを示すアドレス計算有
    効信号と、その命令のオペランドをメモリからリードす
    る必要があるか否かを示すオペランドリード有効信号と
    を生成するデコード手段と、 該デコード手段により生成されたアドレス計算有効信号
    及びオペランドリード有効信号に応じて前記マイクロプ
    ログラム格納手段に格納されているマイクロプログラム
    ルーチンを実行制御する制御手段とを備え、 前記制御手段は、 前記アドレス計算有効信号が無効である場合は命令コー
    ドのオペレーションコードに対応する命令実行用マイク
    ロプログラムルーチンを前記マイクロプログラム格納手
    段から読み出して実行し、 前記アドレス計算有効信号が有効である場合は命令コー
    ドのオペランド指定部が指定するアドレッシングモード
    に対応するアドレス計算用マイクロプログラムルーチン
    を前記マイクロプログラム格納手段から読み出して実行
    し、 前記オペランドリード有効信号が有効である場合はアド
    レス計算用マイクロプログラムルーチン終了直後にメモ
    リリード用マイクロプログラムルーチンを前記マイクロ
    プログラム格納手段から読み出して実行し、 前記オペランドリード有効信号が無効である場合はアド
    レス計算用マイクロプログラムルーチン終了直後に命令
    実行用マイクロプログラムルーチンを前記マイクロプロ
    グラム格納手段から読み出して実行すべくなしてあるこ
    とを特徴とするデータ処理装置。
  8. 【請求項8】 実行すべき命令の種類をオペレーション
    コードで指定するオペレーション指定部と、オペランド
    のアドレス計算のためのアドレッシングモードを指定す
    るオペランド指定部とを含む命令コードを有する命令を
    マイクロプログラムを用いて実行制御するデータ処理装
    置であって、 オペレーションコードの種類にそれぞれ対応した複数の
    命令実行用マイクロプログラムルーチンと、アドレシッ
    シングモードの種類にそれぞれ対応した複数のアドレス
    計算用マイクロプログラムルーチンと、オペランドをメ
    モリからリードするためのマイクロプログラムルーチン
    と、オペランドをメモリにライトするためのマイクロプ
    ログラムルーチンとを含む複数のマイクロプログラムル
    ーチンを格納したマイクロプログラム格納手段と、 命令コードの一部または全部をデコードしてその命令が
    アドレス計算を必要とするか否かを示すアドレス計算有
    効信号と、その命令のオペランドをメモリからリードす
    る必要があるか否かを示すオペランドリード有効信号
    と、その命令のオペランドをメモリにライトする必要が
    あるか否かを示すオペランドライト有効信号とを生成す
    るデコード手段と、 該デコード手段により生成されたアドレス計算有効信
    号,オペランドリード有効信号及びオペランドライト有
    効信号に応じて前記マイクロプログラム格納手段に格納
    されているマイクロプログラムルーチンを実行制御する
    制御手段とを備え、 前記制御手段は、 前記アドレス計算有効信号が無効である場合は命令コー
    ドのオペレーションコードに対応する命令実行用マイク
    ロプログラムルーチンを前記マイクロプログラム格納手
    段から読み出して実行し、 前記アドレス計算有効信号が有効である場合は命令コー
    ドのオペランド指定部が指定するアドレッシングモード
    に対応するアドレス計算用マイクロプログラムルーチン
    を前記マイクロプログラム格納手段から読み出して実行
    し、 前記オペランドリード有効信号が有効である場合はアド
    レス計算用マイクロプログラムルーチン終了直後にメモ
    リリード用マイクロプログラムルーチンを前記マイクロ
    プログラム格納手段から読み出して実行し、 前記オペランドリード有効信号が無効である場合はアド
    レス計算用マイクロプログラムルーチン終了直後に命令
    実行用マイクロプログラムルーチンを前記マイクロプロ
    グラム格納手段から読み出して実行し、 前記オペランドライト有効信号が有効である場合はアド
    レス計算用マイクロプログラムルーチン終了直後にメモ
    リライト用マイクロプログラムルーチンを前記マイクロ
    プログラム格納手段から読み出して実行し、 前記オペランドライト有効信号が無効である場合は新た
    なオペレーションコードに対応するマイクロプログラム
    ルーチンを前記マイクロプログラム格納手段から読み出
    して実行すべくなしてあることを特徴とするデータ処理
    装置。
JP5156545A 1993-06-28 1993-06-28 データ処理装置 Pending JPH0713757A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5156545A JPH0713757A (ja) 1993-06-28 1993-06-28 データ処理装置
US08/266,400 US5463747A (en) 1993-06-28 1994-06-27 Microprogram data processor processing operand address calculation and instruction execution with common hardware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5156545A JPH0713757A (ja) 1993-06-28 1993-06-28 データ処理装置

Publications (1)

Publication Number Publication Date
JPH0713757A true JPH0713757A (ja) 1995-01-17

Family

ID=15630145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5156545A Pending JPH0713757A (ja) 1993-06-28 1993-06-28 データ処理装置

Country Status (2)

Country Link
US (1) US5463747A (ja)
JP (1) JPH0713757A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61153663A (ja) * 1984-12-27 1986-07-12 Canon Inc 電子写真用トナ−
JP2008047031A (ja) * 2006-08-21 2008-02-28 Kumamoto Univ 並列演算装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000004484A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Wide instruction word graphics processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60105044A (ja) * 1983-11-11 1985-06-10 Fujitsu Ltd マイクロプログラム制御方式
US5187782A (en) * 1986-02-26 1993-02-16 Hitachi, Ltd. Data processing system
JPS6450934A (en) * 1987-08-21 1989-02-27 Railway Technical Res Inst Abrasion testing machine of trolley line
JPH0766324B2 (ja) * 1988-03-18 1995-07-19 三菱電機株式会社 データ処理装置
JP2511151B2 (ja) * 1989-09-11 1996-06-26 富士通株式会社 デ―タ処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61153663A (ja) * 1984-12-27 1986-07-12 Canon Inc 電子写真用トナ−
JP2008047031A (ja) * 2006-08-21 2008-02-28 Kumamoto Univ 並列演算装置

Also Published As

Publication number Publication date
US5463747A (en) 1995-10-31

Similar Documents

Publication Publication Date Title
KR940009094B1 (ko) 데이타처리 시스템
US6405302B1 (en) Microcomputer
JPH06332792A (ja) データ処理装置及びそのデータ読み出し制御回路,データ書き込み制御回路
JP2554050B2 (ja) デ−タ処理方法
JP3203401B2 (ja) データ処理装置
US5313644A (en) System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
JPH0810428B2 (ja) データ処理装置
US5077659A (en) Data processor employing the same microprograms for data having different bit lengths
JP2007122626A (ja) マイクロプロセッサ
JPH0713757A (ja) データ処理装置
JP3841820B2 (ja) マイクロコンピュータ
JPH0769806B2 (ja) データ処理装置
JP2583506B2 (ja) データ処理装置
JP2513884B2 (ja) マイクロプロセッサ
JP2522048B2 (ja) マイクロプロセッサ及びそれを使用したデ―タ処理装置
JP2000112754A (ja) データ処理装置
JP3515018B2 (ja) パイプライン形データ処理装置
JP5263498B2 (ja) 信号処理プロセッサ及び半導体装置
JPH0769803B2 (ja) データ処理装置
JPH06324884A (ja) データ処理装置
JPH0375904B2 (ja)
JP2008083762A (ja) マイクロコンピュータ
JP2001356902A (ja) データ処理装置
JPH0769802B2 (ja) データ処理装置