JPH10161871A - プロセッサ - Google Patents
プロセッサInfo
- Publication number
- JPH10161871A JPH10161871A JP8317803A JP31780396A JPH10161871A JP H10161871 A JPH10161871 A JP H10161871A JP 8317803 A JP8317803 A JP 8317803A JP 31780396 A JP31780396 A JP 31780396A JP H10161871 A JPH10161871 A JP H10161871A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- state
- storage means
- flag
- signal
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
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)
- Advance Control (AREA)
Abstract
(57)【要約】
【課題】 マイクロプロセッサにおいて条件により処理
を変えようとする場合、条件付分岐命令を用いると、条
件の成立によりNOP命令が挿入され、処理時間が低下
する。 【解決手段】 命令セットに条件付転送命令を付加し、
その条件が成立するか否かを判定しその判定結果に応じ
て転送を有効あるいは無効とする制御信号eを命令デコ
ーダに出力するフラグデコーダ9を設ける。
を変えようとする場合、条件付分岐命令を用いると、条
件の成立によりNOP命令が挿入され、処理時間が低下
する。 【解決手段】 命令セットに条件付転送命令を付加し、
その条件が成立するか否かを判定しその判定結果に応じ
て転送を有効あるいは無効とする制御信号eを命令デコ
ーダに出力するフラグデコーダ9を設ける。
Description
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サや信号処理プロセッサなどのプロセッサに関し、特に
これらのプロセッサにおいて実行されるデータ転送命令
に係わる。
サや信号処理プロセッサなどのプロセッサに関し、特に
これらのプロセッサにおいて実行されるデータ転送命令
に係わる。
【0002】
【従来の技術】図11は、従来のマイクロプロセッサの
構成を示す。図11に示したマイクロプロセッサは、プ
ログラムカウンタ1、命令メモリ2、命令デコーダ3、
データメモリ4、レジスタファイル5、演算回路6、ア
キュムレータ7、フラグレジスタ8より構成される。
構成を示す。図11に示したマイクロプロセッサは、プ
ログラムカウンタ1、命令メモリ2、命令デコーダ3、
データメモリ4、レジスタファイル5、演算回路6、ア
キュムレータ7、フラグレジスタ8より構成される。
【0003】プログラムカウンタ1は、アドレス信号P
を出力する。命令メモリ2のアドレス信号入力端子に
は、プログラムカウンタ1が出力するアドレス信号Pが
供給される。命令メモリ2は、アドレス信号Pに対応し
たアドレスに格納されている命令Qを読み出し、図示せ
ぬ命令レジスタIRに書き込む。
を出力する。命令メモリ2のアドレス信号入力端子に
は、プログラムカウンタ1が出力するアドレス信号Pが
供給される。命令メモリ2は、アドレス信号Pに対応し
たアドレスに格納されている命令Qを読み出し、図示せ
ぬ命令レジスタIRに書き込む。
【0004】命令デコーダ3の命令入力端子には、命令
レジスタIRが蓄えている命令Qが供給される。命令デ
コーダ3は、命令Qの内容を解読し、命令Qに応じた制
御信号g、制御信号h、制御信号i、制御信号j、及び
制御信号kをそれぞれデータメモリ4、レジスタファイ
ル5、演算回路6、プログラムカウンタ1、及び命令メ
モリ2の制御端子に供給する。
レジスタIRが蓄えている命令Qが供給される。命令デ
コーダ3は、命令Qの内容を解読し、命令Qに応じた制
御信号g、制御信号h、制御信号i、制御信号j、及び
制御信号kをそれぞれデータメモリ4、レジスタファイ
ル5、演算回路6、プログラムカウンタ1、及び命令メ
モリ2の制御端子に供給する。
【0005】データメモリ4、レジスタファイル5、及
び演算回路6のデータ入出力端子は、データバスに接続
される。データDは、データバスを介してデータメモリ
4、レジスタファイル5、演算回路6の間で相互に送受
される。
び演算回路6のデータ入出力端子は、データバスに接続
される。データDは、データバスを介してデータメモリ
4、レジスタファイル5、演算回路6の間で相互に送受
される。
【0006】演算回路6は、アキュムレータ7に蓄えら
れたデータA’とデータバスを介して供給されるデータ
Dとの間で演算を実行する。その演算結果であるデータ
Aは、再びアキュムレータ7に蓄えられる。この演算の
際に発生する特定の状態、例えば桁溢れ(オーバーフロ
ー)、結果の符号、結果がゼロであること、桁上げ出力
などは、それぞれフラグと呼ばれる1ビットの状態信号
として表される。演算回路6は、これらのフラグをまと
めてフラグ信号Fとして出力する。
れたデータA’とデータバスを介して供給されるデータ
Dとの間で演算を実行する。その演算結果であるデータ
Aは、再びアキュムレータ7に蓄えられる。この演算の
際に発生する特定の状態、例えば桁溢れ(オーバーフロ
ー)、結果の符号、結果がゼロであること、桁上げ出力
などは、それぞれフラグと呼ばれる1ビットの状態信号
として表される。演算回路6は、これらのフラグをまと
めてフラグ信号Fとして出力する。
【0007】フラグレジスタ8は、フラグ信号Fを蓄え
る。フラグレジスタ8の出力信号F’は演算フラグ信号
として命令デコーダ3のフラグ入力端子に供給される。
命令デコーダ3は、演算フラグ信号F’を条件分岐命令
の分岐条件として利用する。条件分岐命令は、命令実行
手順を制御する際に用いられる。
る。フラグレジスタ8の出力信号F’は演算フラグ信号
として命令デコーダ3のフラグ入力端子に供給される。
命令デコーダ3は、演算フラグ信号F’を条件分岐命令
の分岐条件として利用する。条件分岐命令は、命令実行
手順を制御する際に用いられる。
【0008】演算フラグ信号F’に上述の状態信号を割
り当てると、例えば以下のようになる。 第3ビットF3’…桁溢れフラグV。桁溢れ時に”
1”、それ以外は”0”。
り当てると、例えば以下のようになる。 第3ビットF3’…桁溢れフラグV。桁溢れ時に”
1”、それ以外は”0”。
【0009】第2ビットF2’…符号フラグS。結果が
負のとき”1”、それ以外は”0”。 第1ビットF1’…零フラグZ。結果が全桁零のとき”
1”、それ以外は”0”。
負のとき”1”、それ以外は”0”。 第1ビットF1’…零フラグZ。結果が全桁零のとき”
1”、それ以外は”0”。
【0010】第0ビットF0’…桁上げフラグC。最上
位桁からの桁上がりがあるとき”1”、それ以外は”
0”。 プロセッサの命令セットには、それぞれのフラグに応じ
て命令実行手順を制御できるように、以下のような条件
分岐命令が用意されている。
位桁からの桁上がりがあるとき”1”、それ以外は”
0”。 プロセッサの命令セットには、それぞれのフラグに応じ
て命令実行手順を制御できるように、以下のような条件
分岐命令が用意されている。
【0011】JUMPV LABEL1;F3’=”
1”のとき、アドレスLABEL1に分岐。 JUMPS LABEL1;F2’=”1”のとき、ア
ドレスLABEL1に分岐。
1”のとき、アドレスLABEL1に分岐。 JUMPS LABEL1;F2’=”1”のとき、ア
ドレスLABEL1に分岐。
【0012】JUMPZ LABEL1;F1’=”
1”のとき、アドレスLABEL1に分岐。 JUMPC LABEL1;F0’=”1”のとき、ア
ドレスLABEL1に分岐。
1”のとき、アドレスLABEL1に分岐。 JUMPC LABEL1;F0’=”1”のとき、ア
ドレスLABEL1に分岐。
【0013】
【発明が解決しようとする課題】一般的に、演算の状態
に応じて、転送を行う場合がある。従来のプロセッサで
は、桁上がり入力付の演算もしくは分岐命令以外の命令
ではフラグを利用できない。そのため、演算の状態に応
じて転送を行う場合には、転送命令と共に条件分岐命令
を実行しなければならない。よって、命令の最小実行時
間である1マシンサイクルでデータ転送を実行できるよ
う設計しても、演算の状態に応じて転送を行う場合は、
通常の無条件に行われる転送命令と比較して少なくとも
2倍の実行時間を必要としていた。
に応じて、転送を行う場合がある。従来のプロセッサで
は、桁上がり入力付の演算もしくは分岐命令以外の命令
ではフラグを利用できない。そのため、演算の状態に応
じて転送を行う場合には、転送命令と共に条件分岐命令
を実行しなければならない。よって、命令の最小実行時
間である1マシンサイクルでデータ転送を実行できるよ
う設計しても、演算の状態に応じて転送を行う場合は、
通常の無条件に行われる転送命令と比較して少なくとも
2倍の実行時間を必要としていた。
【0014】図12及び図13は、条件分岐命令とデー
タ転送命令とを組み合わせて実行した場合のタイミング
チャートを示す。このタイミングチャートは、プログラ
ムカウンタ1が出力するアドレス信号P、命令レジスタ
IRが保持する命令Q、データバスにおけるデータDの
時間的変化を表している。Tはマシンサイクルを表す。
タ転送命令とを組み合わせて実行した場合のタイミング
チャートを示す。このタイミングチャートは、プログラ
ムカウンタ1が出力するアドレス信号P、命令レジスタ
IRが保持する命令Q、データバスにおけるデータDの
時間的変化を表している。Tはマシンサイクルを表す。
【0015】図12及び図13におけるプログラムの例
は以下の通りである。 JUMPV LABEL1+1;F3’=”1”のとき
2番地先に分岐。 LABEL1:LOAD R0,[100];レジス
タR0にメモリ100番地の内容を転送。 命令メモリのn番地に条件転送命令JUMPVが記憶さ
れ、n+1番地にデータ転送命令LOADが記憶されて
いるものとする。
は以下の通りである。 JUMPV LABEL1+1;F3’=”1”のとき
2番地先に分岐。 LABEL1:LOAD R0,[100];レジス
タR0にメモリ100番地の内容を転送。 命令メモリのn番地に条件転送命令JUMPVが記憶さ
れ、n+1番地にデータ転送命令LOADが記憶されて
いるものとする。
【0016】このプログラムにおいて、第1行で桁溢れ
が起きていることを検出し、もし桁溢れしていたらLA
BEL1+1番地すなわち2番地先に分岐する。第2行
で、データメモリ4のアドレス100番地のデータをデ
ータバスを介してレジスタファイル5の中の0番目のレ
ジスタR0に転送する。
が起きていることを検出し、もし桁溢れしていたらLA
BEL1+1番地すなわち2番地先に分岐する。第2行
で、データメモリ4のアドレス100番地のデータをデ
ータバスを介してレジスタファイル5の中の0番目のレ
ジスタR0に転送する。
【0017】図12は、分岐条件が不成立である場合の
タイミングチャートを示す。時刻Tで命令メモリ2のn
番地から第1行の条件分岐命令JUMPVが読み出さ
れ、命令レジスタIRに書き込まれる。
タイミングチャートを示す。時刻Tで命令メモリ2のn
番地から第1行の条件分岐命令JUMPVが読み出さ
れ、命令レジスタIRに書き込まれる。
【0018】時刻2Tで、JUMPV命令が実行され
る。この際、フラグレジスタ8が出力するフラグ信号
F’の中でF3’=”0”であるから、分岐条件が不成
立である。よって、命令デコーダ3は、分岐を行わな
い。また、命令メモリ2のn+1番地からLOAD命令
が読み出され、命令レジスタIRに書き込まれる。
る。この際、フラグレジスタ8が出力するフラグ信号
F’の中でF3’=”0”であるから、分岐条件が不成
立である。よって、命令デコーダ3は、分岐を行わな
い。また、命令メモリ2のn+1番地からLOAD命令
が読み出され、命令レジスタIRに書き込まれる。
【0019】続いて、時刻3Tで、2行目の転送命令が
実行され、データバスにデータメモリ4のメモリ100
番地の内容Xが読み出される。時刻4Tで、データバス
に読み出された内容Xがレジスタファイル5の中のレジ
スタR0に書き込まれる。
実行され、データバスにデータメモリ4のメモリ100
番地の内容Xが読み出される。時刻4Tで、データバス
に読み出された内容Xがレジスタファイル5の中のレジ
スタR0に書き込まれる。
【0020】図13は、分岐条件が成立した場合のタイ
ミングチャートを示す。時刻Tには、図12に示した場
合と同様に第1行の条件分岐命令が読み出される。
ミングチャートを示す。時刻Tには、図12に示した場
合と同様に第1行の条件分岐命令が読み出される。
【0021】時刻2Tで、JUMPV命令が実行され
る。F3’=”1”であるので分岐条件が成立し、分岐
が行われる。よって、データバスにデータメモリ4の1
00番地の内容Xが読み出されることはない。
る。F3’=”1”であるので分岐条件が成立し、分岐
が行われる。よって、データバスにデータメモリ4の1
00番地の内容Xが読み出されることはない。
【0022】また、JUMPV命令の分岐条件が成立す
る場合、命令デコーダ3は、命令メモリ2に制御信号k
を出力し、LOAD命令に代えてNOP命令(ノーオペ
レーション命令)を強制的に出力させる。その結果、命
令レジスタIRはLOAD命令ではなくNOP命令を保
持する。NOP命令は、タイミング合わせなどに用いら
れる何も実行しない命令であり、大部分のプロセッサに
おいて命令セット中に用意されている。
る場合、命令デコーダ3は、命令メモリ2に制御信号k
を出力し、LOAD命令に代えてNOP命令(ノーオペ
レーション命令)を強制的に出力させる。その結果、命
令レジスタIRはLOAD命令ではなくNOP命令を保
持する。NOP命令は、タイミング合わせなどに用いら
れる何も実行しない命令であり、大部分のプロセッサに
おいて命令セット中に用意されている。
【0023】このようにNOP命令を強制的に挿入する
のは、命令メモリ2へのアクセスに要する時間と命令デ
コーダ3が命令実行に要する時間が有限であるため、命
令デコーダ3が条件分岐命令JUMPVを実行している
ときには、すでに次の番地すなわちn+1番地の転送命
令LOADが命令メモリ2から命令レジスタIRに読み
出されているからである。
のは、命令メモリ2へのアクセスに要する時間と命令デ
コーダ3が命令実行に要する時間が有限であるため、命
令デコーダ3が条件分岐命令JUMPVを実行している
ときには、すでに次の番地すなわちn+1番地の転送命
令LOADが命令メモリ2から命令レジスタIRに読み
出されているからである。
【0024】さらに、NOP命令の挿入と同時に、命令
デコーダ3は、制御信号jをプログラムカウンタ1に出
力し、プログラムカウンタ1に分岐先アドレスAdrs
を強制的に出力させる。この例では、分岐先アドレスA
drsは、n+2番地であり、プログラムカウンタ1が
1ずつ増加した場合とたまたま変わらない。
デコーダ3は、制御信号jをプログラムカウンタ1に出
力し、プログラムカウンタ1に分岐先アドレスAdrs
を強制的に出力させる。この例では、分岐先アドレスA
drsは、n+2番地であり、プログラムカウンタ1が
1ずつ増加した場合とたまたま変わらない。
【0025】続いて、時刻3Tで、命令デコーダ3にお
いてNOP命令が実行される。また、命令レジスタIR
に命令メモリ2のn+2番地に記憶された命令Qn+2
が書き込まれる。
いてNOP命令が実行される。また、命令レジスタIR
に命令メモリ2のn+2番地に記憶された命令Qn+2
が書き込まれる。
【0026】このように、演算フラグ信号の状態に応じ
てデータ転送を行う場合、実行に必要な時間が増えるこ
とがある。本発明は、上記課題に鑑みてなされたもの
で、演算の状態に応じてデータ転送を行う場合でも、無
条件に行われる通常転送と同じマシンサイクルで転送す
ることを目的とする。
てデータ転送を行う場合、実行に必要な時間が増えるこ
とがある。本発明は、上記課題に鑑みてなされたもの
で、演算の状態に応じてデータ転送を行う場合でも、無
条件に行われる通常転送と同じマシンサイクルで転送す
ることを目的とする。
【0027】
【課題を解決するための手段】上記課題を解決するた
め、本発明は、演算およびデータ転送の手順を命令とし
て記憶し、命令を出力する命令記憶手段と、演算を実行
し、演算結果に応じて状態信号を出力する演算手段と、
演算手段が出力する状態信号を記憶する状態記憶手段
と、状態記憶手段が記憶する状態信号と命令記憶手段が
出力する命令とが入力され、これらの2つの入力信号に
応じて状態判定結果を出力する状態デコード手段と、状
態判定結果と命令記憶手段が出力する命令とが入力さ
れ、制御信号を出力し、命令がデータ転送命令である場
合には状態判定結果に応じてその命令を有効または無効
にする命令デコード手段とを具備する。
め、本発明は、演算およびデータ転送の手順を命令とし
て記憶し、命令を出力する命令記憶手段と、演算を実行
し、演算結果に応じて状態信号を出力する演算手段と、
演算手段が出力する状態信号を記憶する状態記憶手段
と、状態記憶手段が記憶する状態信号と命令記憶手段が
出力する命令とが入力され、これらの2つの入力信号に
応じて状態判定結果を出力する状態デコード手段と、状
態判定結果と命令記憶手段が出力する命令とが入力さ
れ、制御信号を出力し、命令がデータ転送命令である場
合には状態判定結果に応じてその命令を有効または無効
にする命令デコード手段とを具備する。
【0028】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図1は、本発明の第1の実施例を
示す。図1は、本発明のマイクロプロセッサの構成を示
す。以下、同一の構成要素には同一の符号を付し、説明
を省略する。
施の形態を説明する。図1は、本発明の第1の実施例を
示す。図1は、本発明のマイクロプロセッサの構成を示
す。以下、同一の構成要素には同一の符号を付し、説明
を省略する。
【0029】図1に示すように、マイクロプロセッサ
は、プログラムカウンタPC1、命令メモリ2、命令デ
コーダ3、データメモリ4、レジスタファイル5、演算
回路6、アキュムレータ7、フラグレジスタ8、フラグ
デコーダ9より構成される。
は、プログラムカウンタPC1、命令メモリ2、命令デ
コーダ3、データメモリ4、レジスタファイル5、演算
回路6、アキュムレータ7、フラグレジスタ8、フラグ
デコーダ9より構成される。
【0030】プログラムカウンタ1は、アドレス信号P
を出力する。命令メモリ2のアドレス信号入力端子に
は、プログラムカウンタ1が出力するアドレス信号Pが
供給される。命令メモリ2は、アドレス信号Pに対応し
たアドレスに格納されている命令Qを読み出し、図示せ
ぬ命令レジスタIRに書き込む。
を出力する。命令メモリ2のアドレス信号入力端子に
は、プログラムカウンタ1が出力するアドレス信号Pが
供給される。命令メモリ2は、アドレス信号Pに対応し
たアドレスに格納されている命令Qを読み出し、図示せ
ぬ命令レジスタIRに書き込む。
【0031】命令デコーダ3の命令入力端子には、命令
レジスタIRが蓄えている命令Qが供給される。命令デ
コーダ3は、命令Qの内容を解読し、命令Qに応じた制
御信号g、制御信号h、制御信号i、制御信号j、及び
制御信号kをそれぞれデータメモリ4、レジスタファイ
ル5、演算回路6、プログラムカウンタ1、及び命令メ
モリ2の制御端子に供給する。
レジスタIRが蓄えている命令Qが供給される。命令デ
コーダ3は、命令Qの内容を解読し、命令Qに応じた制
御信号g、制御信号h、制御信号i、制御信号j、及び
制御信号kをそれぞれデータメモリ4、レジスタファイ
ル5、演算回路6、プログラムカウンタ1、及び命令メ
モリ2の制御端子に供給する。
【0032】データメモリ4、レジスタファイル5、及
び演算回路6のデータ入出力端子は、データバスに接続
される。データDがデータバスを介してデータメモリ
4、レジスタファイル5、演算回路6の間で相互に送受
される。
び演算回路6のデータ入出力端子は、データバスに接続
される。データDがデータバスを介してデータメモリ
4、レジスタファイル5、演算回路6の間で相互に送受
される。
【0033】演算回路6の第1の入力端子にはアキュム
レータ7の内容A’が供給され、第2の入力端子にはデ
ータバスを介してデータDが供給される。演算回路6
は、アキュムレータ7の内容A’とデータDとの間で論
理演算や算術演算などの演算を実行する。演算結果Aは
再びアキュムレータ7に蓄えられる。また、演算の際に
発生する特定の状態、例えば桁溢れ、結果の符号、結果
が0であること、桁上げ出力などは、それぞれフラグと
呼ばれる1ビットの状態信号で表され、フラグは演算回
路6からフラグ信号Fとしてまとめて出力される。
レータ7の内容A’が供給され、第2の入力端子にはデ
ータバスを介してデータDが供給される。演算回路6
は、アキュムレータ7の内容A’とデータDとの間で論
理演算や算術演算などの演算を実行する。演算結果Aは
再びアキュムレータ7に蓄えられる。また、演算の際に
発生する特定の状態、例えば桁溢れ、結果の符号、結果
が0であること、桁上げ出力などは、それぞれフラグと
呼ばれる1ビットの状態信号で表され、フラグは演算回
路6からフラグ信号Fとしてまとめて出力される。
【0034】フラグ信号Fは、フラグレジスタ8に蓄え
られる。フラグレジスタ8は、演算フラグ信号F’を命
令デコーダ3のフラグ入力端子に供給する。命令デコー
ダ3は、演算フラグ信号F’を命令実行手順の制御の際
の条件分岐の分岐条件として利用する。
られる。フラグレジスタ8は、演算フラグ信号F’を命
令デコーダ3のフラグ入力端子に供給する。命令デコー
ダ3は、演算フラグ信号F’を命令実行手順の制御の際
の条件分岐の分岐条件として利用する。
【0035】フラグデコーダ9の命令入力端子には命令
レジスタIRが蓄えている命令Qが供給され、フラグ入
力端子にはフラグレジスタ8の出力信号F’が供給され
る。フラグデコーダ9は、命令Qとフラグレジスタ8の
出力信号F’に応じて、制御信号eを生成する。制御信
号eは、命令デコーダ3の制御端子に供給される。
レジスタIRが蓄えている命令Qが供給され、フラグ入
力端子にはフラグレジスタ8の出力信号F’が供給され
る。フラグデコーダ9は、命令Qとフラグレジスタ8の
出力信号F’に応じて、制御信号eを生成する。制御信
号eは、命令デコーダ3の制御端子に供給される。
【0036】命令デコーダ3は、制御信号eに応じて、
制御信号g、h、iを変化させることにより、データ転
送命令を有効または無効にする。このようにして、条件
分岐命令によらずに、演算の状態による選択的なデータ
転送が行われる。
制御信号g、h、iを変化させることにより、データ転
送命令を有効または無効にする。このようにして、条件
分岐命令によらずに、演算の状態による選択的なデータ
転送が行われる。
【0037】フラグ信号の各ビットF3’、F2’、F
1’、F0’に従来例に示したように状態を割り当てる
とする。この場合、プロセッサの命令セットに例えば以
下の条件転送命令が備えられている。
1’、F0’に従来例に示したように状態を割り当てる
とする。この場合、プロセッサの命令セットに例えば以
下の条件転送命令が備えられている。
【0038】LOADNV;F3’=”0”のとき転送
実行、F3’=”1”のとき無効。 LOADNS;F2’=”0”のとき転送実行、F2’
=”1”のとき無効。
実行、F3’=”1”のとき無効。 LOADNS;F2’=”0”のとき転送実行、F2’
=”1”のとき無効。
【0039】LOADNZ;F1’=”0”のとき転送
実行、F1’=”1”のとき無効。 LOADNC;F0’=”0”のとき転送実行、F0’
=”1”のとき無効。
実行、F1’=”1”のとき無効。 LOADNC;F0’=”0”のとき転送実行、F0’
=”1”のとき無効。
【0040】図7は、図1に示した実施例で用いられる
フラグデコーダ9の回路例を示す。図7において、命令
Qの例えば下位4ビットQ3〜Q0は、それぞれエクス
クルシブノアゲート11a〜11dの第1の入力端子に
供給される。またフラグ信号F3’、F2’、F1’、
F0’は、それぞれエクスクルシブノアゲート11a〜
11dの第2の入力端子に供給される。エクスクルシブ
ノアゲート11a〜11dの出力端子は、それぞれアン
ドゲート12の第1ないし第4の入力端子に接続され
る。アンドゲート12の出力端子は、制御信号eを出力
する。
フラグデコーダ9の回路例を示す。図7において、命令
Qの例えば下位4ビットQ3〜Q0は、それぞれエクス
クルシブノアゲート11a〜11dの第1の入力端子に
供給される。またフラグ信号F3’、F2’、F1’、
F0’は、それぞれエクスクルシブノアゲート11a〜
11dの第2の入力端子に供給される。エクスクルシブ
ノアゲート11a〜11dの出力端子は、それぞれアン
ドゲート12の第1ないし第4の入力端子に接続され
る。アンドゲート12の出力端子は、制御信号eを出力
する。
【0041】このフラグデコーダを用いる場合、例えば
条件転送命令LOADNVを表す命令信号Qの下位4ビ
ットQ3〜Q0が0111になるように設計しておく。
LOADNV命令を実行するときに、F3’=”0”で
あり、F2’〜F0’が”1”であれば、制御信号e
は”1”となり、転送が実行される。また、F3’=”
1”であれば、制御信号eは”0”となり、転送は実行
されない。
条件転送命令LOADNVを表す命令信号Qの下位4ビ
ットQ3〜Q0が0111になるように設計しておく。
LOADNV命令を実行するときに、F3’=”0”で
あり、F2’〜F0’が”1”であれば、制御信号e
は”1”となり、転送が実行される。また、F3’=”
1”であれば、制御信号eは”0”となり、転送は実行
されない。
【0042】図2及び図3は、図1に示した実施例にお
いて条件転送命令を実行した場合のタイミングチャート
を示す。図2及び図3に示したタイミングチャートに対
応するプログラムの例を以下に示す。
いて条件転送命令を実行した場合のタイミングチャート
を示す。図2及び図3に示したタイミングチャートに対
応するプログラムの例を以下に示す。
【0043】LOADNV R0,[100];F3’
=”0”のときレジスタR0にメモリ100番地の内容
を転送する。F3’=”1”のときは何もしない。 この条件転送命令LOADNVは、命令メモリ2のn番
地に記憶されているものとする。
=”0”のときレジスタR0にメモリ100番地の内容
を転送する。F3’=”1”のときは何もしない。 この条件転送命令LOADNVは、命令メモリ2のn番
地に記憶されているものとする。
【0044】このプログラムは、まず桁溢れが起きてい
るか否かを検出する。桁溢れのない場合は、データメモ
リ4のアドレス100番地のデータをデータバスを介し
てレジスタファイル5の中の0番目のレジスタR0に転
送する。桁溢れしている場合は、何もせずに次の命令を
実行する。
るか否かを検出する。桁溢れのない場合は、データメモ
リ4のアドレス100番地のデータをデータバスを介し
てレジスタファイル5の中の0番目のレジスタR0に転
送する。桁溢れしている場合は、何もせずに次の命令を
実行する。
【0045】図2は、転送条件が成立した場合のタイミ
ングチャートを示す。まず、時刻Tでプログラムカウン
タ1が出力するアドレス信号Pはn番地を表している。
よって、時刻Tで、命令メモリ2のn番地に格納されて
いる条件転送命令LOADNVが読み出され、命令レジ
スタIRに書き込まれる。
ングチャートを示す。まず、時刻Tでプログラムカウン
タ1が出力するアドレス信号Pはn番地を表している。
よって、時刻Tで、命令メモリ2のn番地に格納されて
いる条件転送命令LOADNVが読み出され、命令レジ
スタIRに書き込まれる。
【0046】次に、時刻2Tで命令レジスタIRに格納
されているLOADNV命令が実行される。まず、時刻
2Tで、フラグデコーダ9のフラグ入力端子にはF3’
=”0”であり、例えばF2’〜F0’が”1”である
演算フラグ信号F’が供給される。フラグデコーダ9の
命令入力端子にはLOADNV命令が命令レジスタIR
から供給されている。よって、フラグデコーダ9は、F
3’=”0”であるから、”1”である制御信号eを命
令デコーダ3に供給する。制御信号eは、例えば”1”
のとき転送を有効とすることを表し、”0”のとき転送
を無効とすることを表すものとする。
されているLOADNV命令が実行される。まず、時刻
2Tで、フラグデコーダ9のフラグ入力端子にはF3’
=”0”であり、例えばF2’〜F0’が”1”である
演算フラグ信号F’が供給される。フラグデコーダ9の
命令入力端子にはLOADNV命令が命令レジスタIR
から供給されている。よって、フラグデコーダ9は、F
3’=”0”であるから、”1”である制御信号eを命
令デコーダ3に供給する。制御信号eは、例えば”1”
のとき転送を有効とすることを表し、”0”のとき転送
を無効とすることを表すものとする。
【0047】続いて、命令デコーダ3は、命令LOAD
NVが転送命令であり、制御信号eが転送有効を表して
いるので、転送を実行するような制御信号g,h,iを
出力する。その結果、データバスDにデータメモリ4の
100番地の内容Xが読み出される。
NVが転送命令であり、制御信号eが転送有効を表して
いるので、転送を実行するような制御信号g,h,iを
出力する。その結果、データバスDにデータメモリ4の
100番地の内容Xが読み出される。
【0048】時刻3Tには、データバスD上のデータX
がレジスタR0に書き込まれる。また、命令メモリ2の
n+1番地に記憶されている命令Qn+1が実行され
る。図3は、転送条件が不成立である場合のタイミング
チャートを示す。
がレジスタR0に書き込まれる。また、命令メモリ2の
n+1番地に記憶されている命令Qn+1が実行され
る。図3は、転送条件が不成立である場合のタイミング
チャートを示す。
【0049】図2に示した場合と同様に、まず時刻Tで
条件分岐命令LOADNVが命令レジスタIRに書き込
まれる。続いて、時刻2TでLOADNV命令が実行さ
れる。このとき、フラグデコーダ9のフラグ入力端子に
はF3’=”1”である演算フラグ信号F’が供給さ
れ、フラグデコーダ9の命令入力端子にはLOADNV
命令が供給される。フラグデコーダ9は、F3’=”
1”であるから、”0”である転送を無効とする制御信
号eを命令デコーダ3に供給する。
条件分岐命令LOADNVが命令レジスタIRに書き込
まれる。続いて、時刻2TでLOADNV命令が実行さ
れる。このとき、フラグデコーダ9のフラグ入力端子に
はF3’=”1”である演算フラグ信号F’が供給さ
れ、フラグデコーダ9の命令入力端子にはLOADNV
命令が供給される。フラグデコーダ9は、F3’=”
1”であるから、”0”である転送を無効とする制御信
号eを命令デコーダ3に供給する。
【0050】命令デコーダ3は、LOADNV命令が転
送命令であり、制御信号eが転送無効を表しているの
で、転送を実行するような制御信号g,h,iを出力し
ない。時刻3Tには、命令メモリ2のn+1番地に記憶
されている命令Qn+1が実行される。図13に示した
従来例と異なり、NOP命令が実行されることはない。
送命令であり、制御信号eが転送無効を表しているの
で、転送を実行するような制御信号g,h,iを出力し
ない。時刻3Tには、命令メモリ2のn+1番地に記憶
されている命令Qn+1が実行される。図13に示した
従来例と異なり、NOP命令が実行されることはない。
【0051】このように本実施例においては、転送条件
が成立した場合でも不成立の場合でも、従来例のように
NOP命令が挿入されることがない。したがって、高速
に処理を行うことが可能となる。特に、この条件転送命
令がループ内で用いられる場合、処理時間を顕著に低減
することができる。
が成立した場合でも不成立の場合でも、従来例のように
NOP命令が挿入されることがない。したがって、高速
に処理を行うことが可能となる。特に、この条件転送命
令がループ内で用いられる場合、処理時間を顕著に低減
することができる。
【0052】図4は、本発明の第2の実施例を示す。図
4に示す実施例は、図1に示した実施例にフラグマスク
レジスタ10を加えたものである。
4に示す実施例は、図1に示した実施例にフラグマスク
レジスタ10を加えたものである。
【0053】フラグマスクレジスタ10は、マスクデー
タMを保持する。このフラグマスクレジスタは例えばレ
ジスタファイル5中に設けられ、マスクデータMは書き
換え可能である。
タMを保持する。このフラグマスクレジスタは例えばレ
ジスタファイル5中に設けられ、マスクデータMは書き
換え可能である。
【0054】フラグデコーダ9の命令入力端子には、図
1に示した実施例と異なり命令メモリ2の出力信号Qに
代えてフラグマスクレジスタ10の出力信号Mが供給さ
れる。このようにマスクデータMが供給される入力端子
を本実施例ではマスク入力端子を呼ぶことにする。
1に示した実施例と異なり命令メモリ2の出力信号Qに
代えてフラグマスクレジスタ10の出力信号Mが供給さ
れる。このようにマスクデータMが供給される入力端子
を本実施例ではマスク入力端子を呼ぶことにする。
【0055】フラグデコーダ9は、例えば図7に示した
ような回路よりなる。ただし、フラグマスクレジスタ1
0のマスクデータMの各ビットをM3〜M0と表すと、
図7においてQ3〜Q0をM3〜M0に置き換えたもの
が本実施例におけるフラグデコーダ9となる。
ような回路よりなる。ただし、フラグマスクレジスタ1
0のマスクデータMの各ビットをM3〜M0と表すと、
図7においてQ3〜Q0をM3〜M0に置き換えたもの
が本実施例におけるフラグデコーダ9となる。
【0056】本実施例において、条件転送命令は1種類
だけ用意しておけばよい。どの状態を転送条件として採
用するかは、フラグマスクレジスタ10が保持するマス
クデータMにより決められる。
だけ用意しておけばよい。どの状態を転送条件として採
用するかは、フラグマスクレジスタ10が保持するマス
クデータMにより決められる。
【0057】この条件転送命令として、命令セットに
は、 CLOAD ;条件成立時に転送し、条件不成立時には
何もしない。 が備えられている。例えば、フラグデコーダ9として図
7に示したフラグデコーダを用いると、 F’=Mのとき条件成立、 F’≠Mのとき条件不成立 となる。
は、 CLOAD ;条件成立時に転送し、条件不成立時には
何もしない。 が備えられている。例えば、フラグデコーダ9として図
7に示したフラグデコーダを用いると、 F’=Mのとき条件成立、 F’≠Mのとき条件不成立 となる。
【0058】また、この条件転送命令を実行する前にフ
ラグマスクレジスタ10に、通常の転送命令によってあ
らかじめマスクデータMが設定される。このため、マス
クパターンMを任意の値に設定することができる。
ラグマスクレジスタ10に、通常の転送命令によってあ
らかじめマスクデータMが設定される。このため、マス
クパターンMを任意の値に設定することができる。
【0059】図5及び図6は、図4に示した実施例のタ
イミングチャートを示す。図5及び図6に示したタイミ
ングチャートに対応する条件転送プログラムは、次のよ
うに記述される。
イミングチャートを示す。図5及び図6に示したタイミ
ングチャートに対応する条件転送プログラムは、次のよ
うに記述される。
【0060】CLOAD R0,[100];F’=M
のときレジスタR0にメモリ100番地の内容を転送、
F’≠Mのときは何もしない。 この条件転送プログラムは、命令メモリ2のn番地に記
憶されている。
のときレジスタR0にメモリ100番地の内容を転送、
F’≠Mのときは何もしない。 この条件転送プログラムは、命令メモリ2のn番地に記
憶されている。
【0061】また、この条件転送プログラムを実行する
前に、通常の転送命令によって、 LOAD M,0111 ;フラグマスクレジスタに値
0111を設定。 のようにフラグのマスクパターンが設定されているもの
とする。
前に、通常の転送命令によって、 LOAD M,0111 ;フラグマスクレジスタに値
0111を設定。 のようにフラグのマスクパターンが設定されているもの
とする。
【0062】図5及び図6に示したタイミングチャート
は、それぞれ図2及び図3においてLOADNV命令を
CLOAD命令に置き換えたタイミングチャートと同様
である。
は、それぞれ図2及び図3においてLOADNV命令を
CLOAD命令に置き換えたタイミングチャートと同様
である。
【0063】図5は、転送条件が成立した場合のタイミ
ングチャートを示す。まず、時刻Tでプログラムカウン
タ1が出力するアドレス信号Pはn番地を表している。
よって、時刻Tで、命令メモリ2のn番地に格納されて
いる条件転送命令CLOADが読み出され、命令レジス
タIRに書き込まれる。
ングチャートを示す。まず、時刻Tでプログラムカウン
タ1が出力するアドレス信号Pはn番地を表している。
よって、時刻Tで、命令メモリ2のn番地に格納されて
いる条件転送命令CLOADが読み出され、命令レジス
タIRに書き込まれる。
【0064】次に、時刻2Tで、CLOAD命令が実行
される。まず、時刻2Tで、フラグデコーダ9のフラグ
入力端子にはフラグレジスタ8からF3’=”0”であ
り、F2’〜F0’が”1”である演算フラグ信号F’
が供給される。また、フラグデコーダ9のマスク入力端
子には、M3=”0”であり、M2〜M0が”1”であ
るマスクデータMが供給される。このようにF’=Mで
あるから、”1”である制御信号eを命令デコーダ3に
供給する。制御信号eは、例えば”1”のとき転送を有
効とすることを表し、”0”のとき転送を無効とするこ
とを表すものとする。
される。まず、時刻2Tで、フラグデコーダ9のフラグ
入力端子にはフラグレジスタ8からF3’=”0”であ
り、F2’〜F0’が”1”である演算フラグ信号F’
が供給される。また、フラグデコーダ9のマスク入力端
子には、M3=”0”であり、M2〜M0が”1”であ
るマスクデータMが供給される。このようにF’=Mで
あるから、”1”である制御信号eを命令デコーダ3に
供給する。制御信号eは、例えば”1”のとき転送を有
効とすることを表し、”0”のとき転送を無効とするこ
とを表すものとする。
【0065】続いて、時刻2Tで、命令デコーダ3は、
命令CLOADが転送命令であり、制御信号eが転送有
効を表しているので、転送を実行するような制御信号
g,h,iを出力する。
命令CLOADが転送命令であり、制御信号eが転送有
効を表しているので、転送を実行するような制御信号
g,h,iを出力する。
【0066】その結果、データバスDにデータメモリ4
の100番地の内容Xが読み出される。時刻3Tに、デ
ータバスD上のデータXがレジスタR0に書き込まれ
る。また、命令メモリ2のn+1番地に記憶されている
命令Qn+1が実行される。
の100番地の内容Xが読み出される。時刻3Tに、デ
ータバスD上のデータXがレジスタR0に書き込まれ
る。また、命令メモリ2のn+1番地に記憶されている
命令Qn+1が実行される。
【0067】図6は、転送条件が不成立である場合のタ
イミングチャートを示す。図5に示した場合と同様に、
まず時刻Tで条件分岐命令CLOADが命令レジスタI
Rに書き込まれる。
イミングチャートを示す。図5に示した場合と同様に、
まず時刻Tで条件分岐命令CLOADが命令レジスタI
Rに書き込まれる。
【0068】続いて、時刻2TでCLOAD命令が実行
される。このとき、フラグデコーダ9のフラグ入力端子
にはF3’〜F0’=”1”である演算フラグ信号F’
が供給され、フラグデコーダ9のマスク入力端子にはM
3=”0”であり、M2〜M0が”1”であるマスクデ
ータMが供給される。F’≠Mであるから、フラグデコ
ーダ9は、転送を無効とする制御信号eを命令デコーダ
3に供給する。
される。このとき、フラグデコーダ9のフラグ入力端子
にはF3’〜F0’=”1”である演算フラグ信号F’
が供給され、フラグデコーダ9のマスク入力端子にはM
3=”0”であり、M2〜M0が”1”であるマスクデ
ータMが供給される。F’≠Mであるから、フラグデコ
ーダ9は、転送を無効とする制御信号eを命令デコーダ
3に供給する。
【0069】命令デコーダ3は、CLOAD命令が転送
命令であり、制御信号eが転送無効を表しているので、
転送を実行するような制御信号g,h,iを出力しな
い。時刻3Tには、命令メモリ2のn+1番地に記憶さ
れている命令Qn+1が実行される。図13に示した従
来例と異なり、NOP命令が実行されることはない。
本実施例では、図1に示した実施例と同様に、NOP命
令を挿入する必要がなくなり、処理速度を上げることが
可能となる。また、条件転送命令を1つだけ用意すれば
よく、命令セット数の増加を最小に抑えることができ
る。また、転送条件をプログラムにより任意に変更する
ことができる。
命令であり、制御信号eが転送無効を表しているので、
転送を実行するような制御信号g,h,iを出力しな
い。時刻3Tには、命令メモリ2のn+1番地に記憶さ
れている命令Qn+1が実行される。図13に示した従
来例と異なり、NOP命令が実行されることはない。
本実施例では、図1に示した実施例と同様に、NOP命
令を挿入する必要がなくなり、処理速度を上げることが
可能となる。また、条件転送命令を1つだけ用意すれば
よく、命令セット数の増加を最小に抑えることができ
る。また、転送条件をプログラムにより任意に変更する
ことができる。
【0070】図8は、本発明で用いられるフラグデコー
ダ9の第2の回路例を示す。この回路を図1に示した実
施例に用いる場合は命令Qの例えば下位4ビットのビッ
ト信号Q3〜Q0が、図4に示した実施例に用いる場合
は例えば4ビットのマスクデータMのビット信号M3〜
M0が、それぞれエクスクルシブオアゲート13a〜1
3dの第1の入力端子に供給される。またフラグ信号F
3’、F2’、F1’、F0’は、それぞれエクスクル
シブオアゲート13a〜13dの第2の入力端子に供給
される。エクスクルシブオアゲート13a〜13dの出
力端子は、それぞれアンドゲート14の第1ないし第4
の入力端子に接続される。アンドゲート14の出力端子
は、制御信号eを出力する。
ダ9の第2の回路例を示す。この回路を図1に示した実
施例に用いる場合は命令Qの例えば下位4ビットのビッ
ト信号Q3〜Q0が、図4に示した実施例に用いる場合
は例えば4ビットのマスクデータMのビット信号M3〜
M0が、それぞれエクスクルシブオアゲート13a〜1
3dの第1の入力端子に供給される。またフラグ信号F
3’、F2’、F1’、F0’は、それぞれエクスクル
シブオアゲート13a〜13dの第2の入力端子に供給
される。エクスクルシブオアゲート13a〜13dの出
力端子は、それぞれアンドゲート14の第1ないし第4
の入力端子に接続される。アンドゲート14の出力端子
は、制御信号eを出力する。
【0071】図9は、本発明で用いられるフラグデコー
ダ9の第3の回路例を示す。この回路を図1に示した実
施例に用いる場合はビット信号Q3〜Q0が、図4に示
した実施例に用いる場合はビット信号M3〜M0が、そ
れぞれアンドゲート15a〜15dの第1の入力端子に
供給される。またフラグ信号F3’、F2’、F1’、
F0’は、それぞれアンドゲート15a〜15dの第2
の入力端子に供給される。アンドゲート15a〜15d
の出力端子は、それぞれオアゲート16の第1ないし第
4の入力端子に接続される。オアゲート16の出力端子
は、制御信号eを出力する。
ダ9の第3の回路例を示す。この回路を図1に示した実
施例に用いる場合はビット信号Q3〜Q0が、図4に示
した実施例に用いる場合はビット信号M3〜M0が、そ
れぞれアンドゲート15a〜15dの第1の入力端子に
供給される。またフラグ信号F3’、F2’、F1’、
F0’は、それぞれアンドゲート15a〜15dの第2
の入力端子に供給される。アンドゲート15a〜15d
の出力端子は、それぞれオアゲート16の第1ないし第
4の入力端子に接続される。オアゲート16の出力端子
は、制御信号eを出力する。
【0072】図10は、本発明で用いられるフラグデコ
ーダ9の第4の回路例を示す。この回路を図1に示した
実施例に用いる場合はビット信号Q3〜Q0が、図4に
示した実施例に用いる場合はビット信号M3〜M0が、
それぞれオアゲート17a〜17dの第1の入力端子に
供給される。またフラグ信号F3’、F2’、F1’、
F0’は、それぞれオアゲート17a〜17dの第2の
入力端子に供給される。オアゲート17a〜17dの出
力端子は、それぞれアンドゲート18の第1ないし第4
の入力端子に接続される。アンドゲート18の出力端子
は、制御信号eを出力する。
ーダ9の第4の回路例を示す。この回路を図1に示した
実施例に用いる場合はビット信号Q3〜Q0が、図4に
示した実施例に用いる場合はビット信号M3〜M0が、
それぞれオアゲート17a〜17dの第1の入力端子に
供給される。またフラグ信号F3’、F2’、F1’、
F0’は、それぞれオアゲート17a〜17dの第2の
入力端子に供給される。オアゲート17a〜17dの出
力端子は、それぞれアンドゲート18の第1ないし第4
の入力端子に接続される。アンドゲート18の出力端子
は、制御信号eを出力する。
【0073】このように、フラグデコーダ9の回路を変
えることにより、演算フラグ信号F’と命令Qあるいは
マスクデータMとを用いて転送を有効又は無効とする条
件をさまざまに設定することができる。
えることにより、演算フラグ信号F’と命令Qあるいは
マスクデータMとを用いて転送を有効又は無効とする条
件をさまざまに設定することができる。
【0074】
【発明の効果】以上説明したように、本発明によれば、
条件転送命令のみで演算の状態に応じて選択的にデータ
転送をするため、NOP命令を挿入することがなくな
り、プロセッサの処理効率を向上させることができる。
条件転送命令のみで演算の状態に応じて選択的にデータ
転送をするため、NOP命令を挿入することがなくな
り、プロセッサの処理効率を向上させることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例を示す図。
【図2】図1に示した実施例のタイミングチャートを示
す図。
す図。
【図3】図1に示した実施例のタイミングチャートを示
す図。
す図。
【図4】本発明の第2の実施例を示す図。
【図5】図4に示した実施例のタイミングチャートを示
す図。
す図。
【図6】図4に示した実施例のタイミングチャートを示
す図。
す図。
【図7】フラグデコーダの第1の回路例を示す図。
【図8】フラグデコーダの第2の回路例を示す図。
【図9】フラグデコーダの第3の回路例を示す図。
【図10】フラグデコーダの第4の回路例を示す図。
【図11】従来のマイクロプロセッサを示す図。
【図12】図11に示した従来例のタイミングチャート
を示す図。
を示す図。
【図13】図11に示した従来例のタイミングチャート
を示す図。
を示す図。
1…プログラムカウンタ、 2…命令メモリ、 3…命令デコーダ、 4…データメモリ、 5…レジスタファイル、 6…演算回路、 7…アキュムレータ、 8…フラグレジスタ、 9…フラグデコーダ、 10…フラグマスクレジスタ。
Claims (10)
- 【請求項1】 演算およびデータ転送の手順を命令とし
て記憶し、前記命令を出力する命令記憶手段と、 演算を実行し、演算結果に応じて状態信号を出力する演
算手段と、 前記演算手段が出力する状態信号を記憶する状態記憶手
段と、 前記状態記憶手段が記憶する状態信号と前記命令記憶手
段が出力する命令とが入力され、これらの2つの入力信
号に応じて状態判定結果を出力する状態デコード手段
と、 前記状態判定結果と前記命令記憶手段が出力する命令と
が入力され、前記命令がデータ転送命令である場合には
前記状態判定結果に応じてその命令を有効または無効に
し、制御信号を出力する命令デコード手段とを具備する
ことを特徴とするプロセッサ。 - 【請求項2】 前記状態デコード手段は、前記状態記憶
手段が記憶する状態信号と前記命令記憶手段が出力する
命令の一部とが一致していることを検出することを特徴
とする請求項1記載のプロセッサ。 - 【請求項3】 前記状態デコード手段は、前記状態記憶
手段が記憶する状態信号のビットの各々と前記命令記憶
手段が出力する命令の一部のビットの各々との排他的論
理和を計算することを特徴とする請求項1記載のプロセ
ッサ。 - 【請求項4】 前記状態デコード手段は、前記状態記憶
手段が記憶する状態信号のビットの各々と前記命令記憶
手段が出力する命令の一部のビットの各々との論理積を
計算することを特徴とする請求項1記載のプロセッサ。 - 【請求項5】 前記状態デコード手段は、前記状態記憶
手段が記憶する状態信号のビットの各々と前記命令記憶
手段が出力する命令の一部のビットの各々との論理和を
計算することを特徴とする請求項1記載のプロセッサ。 - 【請求項6】 演算およびデータ転送の手順を命令とし
て記憶し、前記命令を出力する命令記憶手段と、 演算を実行し、演算結果に応じて状態信号を出力する演
算手段と、 前記演算手段が出力する状態信号を記憶する状態記憶手
段と、 ビットパターンを記憶する状態マスク記憶手段と、 前記状態記憶手段が記憶する状態信号と前記状態マスク
記憶手段が記憶するビットパターンが入力され、これら
2つの入力信号に応じて状態判定結果を出力する状態デ
コード手段と、 前記状態判定結果と前記命令記憶手段が出力する命令と
が入力され、前記命令がデータ転送命令である場合には
前記状態判定結果に応じてその命令を有効または無効に
し、制御信号を出力する命令デコード手段とを具備する
ことを特徴とするプロセッサ。 - 【請求項7】 前記状態デコード手段は、前記状態記憶
手段が記憶する状態信号と前記状態マスク記憶手段が記
憶するビットパターンとが一致していることを検出する
ことを特徴とする請求項6記載のプロセッサ。 - 【請求項8】 前記状態デコード手段は、前記状態記憶
手段が記憶する状態信号のビットの各々と前記状態マス
ク記憶手段が記憶するビットパターンのビットの各々と
の排他的論理和を計算することを特徴とする請求項6記
載のプロセッサ。 - 【請求項9】 前記状態デコード手段は、前記状態記憶
手段が記憶する状態信号のビットの各々と前記状態マス
ク記憶手段が記憶するビットパターンのビットの各々と
の論理積を計算することを特徴とする請求項6記載のプ
ロセッサ。 - 【請求項10】 前記状態デコード手段は、前記状態記
憶手段が記憶する状態信号のビットの各々と前記状態マ
スク記憶手段が記憶するビットパターンのビットの各々
との論理和を計算することを特徴とする請求項6記載の
プロセッサ。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8317803A JPH10161871A (ja) | 1996-11-28 | 1996-11-28 | プロセッサ |
| US08/947,750 US5991872A (en) | 1996-11-28 | 1997-10-09 | Processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8317803A JPH10161871A (ja) | 1996-11-28 | 1996-11-28 | プロセッサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10161871A true JPH10161871A (ja) | 1998-06-19 |
Family
ID=18092223
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8317803A Pending JPH10161871A (ja) | 1996-11-28 | 1996-11-28 | プロセッサ |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5991872A (ja) |
| JP (1) | JPH10161871A (ja) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7181596B2 (en) * | 2002-02-12 | 2007-02-20 | Ip-First, Llc | Apparatus and method for extending a microprocessor instruction set |
| US7529912B2 (en) * | 2002-02-12 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for instruction-level specification of floating point format |
| US7315921B2 (en) * | 2002-02-19 | 2008-01-01 | Ip-First, Llc | Apparatus and method for selective memory attribute control |
| US7328328B2 (en) * | 2002-02-19 | 2008-02-05 | Ip-First, Llc | Non-temporal memory reference control mechanism |
| US7395412B2 (en) * | 2002-03-08 | 2008-07-01 | Ip-First, Llc | Apparatus and method for extending data modes in a microprocessor |
| US7546446B2 (en) * | 2002-03-08 | 2009-06-09 | Ip-First, Llc | Selective interrupt suppression |
| US7380103B2 (en) | 2002-04-02 | 2008-05-27 | Ip-First, Llc | Apparatus and method for selective control of results write back |
| US7155598B2 (en) * | 2002-04-02 | 2006-12-26 | Ip-First, Llc | Apparatus and method for conditional instruction execution |
| US7185180B2 (en) * | 2002-04-02 | 2007-02-27 | Ip-First, Llc | Apparatus and method for selective control of condition code write back |
| US7302551B2 (en) * | 2002-04-02 | 2007-11-27 | Ip-First, Llc | Suppression of store checking |
| US7373483B2 (en) * | 2002-04-02 | 2008-05-13 | Ip-First, Llc | Mechanism for extending the number of registers in a microprocessor |
| US7380109B2 (en) * | 2002-04-15 | 2008-05-27 | Ip-First, Llc | Apparatus and method for providing extended address modes in an existing instruction set for a microprocessor |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4310881A (en) * | 1979-09-21 | 1982-01-12 | Bell Telephone Laboratories, Incorporated | Conditional transfer control circuit |
| US5201057A (en) * | 1987-01-22 | 1993-04-06 | Uht Augustus K | System for extracting low level concurrency from serial instruction streams |
| US4926320A (en) * | 1987-04-07 | 1990-05-15 | Nec Corporation | Information processing system having microprogram-controlled type arithmetic processing unit |
| JPH02306341A (ja) * | 1989-02-03 | 1990-12-19 | Nec Corp | マイクロプロセッサ |
| CA2045735A1 (en) * | 1990-06-29 | 1991-12-30 | Richard Lee Sites | Computer performance by eliminating branches |
| US5537560A (en) * | 1994-03-01 | 1996-07-16 | Intel Corporation | Method and apparatus for conditionally generating a microinstruction that selects one of two values based upon control states of a microprocessor |
-
1996
- 1996-11-28 JP JP8317803A patent/JPH10161871A/ja active Pending
-
1997
- 1997-10-09 US US08/947,750 patent/US5991872A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US5991872A (en) | 1999-11-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100533296B1 (ko) | 리드/모디파이/라이트 유닛을 갖는 시스템 | |
| JPH10161871A (ja) | プロセッサ | |
| US5757685A (en) | Data processing system capable of processing long word data | |
| KR100765567B1 (ko) | 산술 논리 유닛 및 스택을 가지는 데이터 프로세서, 멀티미디어 장치 및 컴퓨터 판독가능 기록 매체 | |
| KR880001418B1 (ko) | 데이터 처리장치 | |
| JP2001075804A (ja) | 拡張命令を処理する並列プロセッサ | |
| JP2000353092A (ja) | 情報処理装置及びそのレジスタファイル切替方法 | |
| JP3699796B2 (ja) | プロセッサ | |
| US20170329603A1 (en) | Conditional selection of data elements | |
| JPS6079431A (ja) | プログラマブルコントローラのパイプライン処理方法 | |
| JPS63111535A (ja) | デ−タ処理装置 | |
| JP3540802B2 (ja) | 命令生成方法、命令生成方法及び情報処理装置 | |
| KR20010072490A (ko) | 레지스터 스택을 포함하는 데이터 프로세서, 그 처리방법, 컴퓨터 프로그램 제품 및 멀티미디어 장치 | |
| JPS5839347A (ja) | プロセツサ | |
| JPH09282165A (ja) | 情報処理装置 | |
| JPS5995646A (ja) | 演算制御装置 | |
| JPH03282928A (ja) | アドレス制御型情報処理装置 | |
| JPS63629A (ja) | デ−タ処理方式 | |
| JPS61253503A (ja) | シ−ケンス制御装置 | |
| JPH01236327A (ja) | 割込みマスク制御方法 | |
| JPH033047A (ja) | 演算機能付きメモリ | |
| JPH0512009A (ja) | デイジタル信号処理装置 | |
| JPH08305564A (ja) | マイクロコンピュータ | |
| JPS62189535A (ja) | マイクロプロセツサ制御装置 | |
| JPH0247724A (ja) | マイクロプログラムにおける条件分岐方法およびその装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040518 |