JP3098242B2 - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JP3098242B2 JP3098242B2 JP01179263A JP17926389A JP3098242B2 JP 3098242 B2 JP3098242 B2 JP 3098242B2 JP 01179263 A JP01179263 A JP 01179263A JP 17926389 A JP17926389 A JP 17926389A JP 3098242 B2 JP3098242 B2 JP 3098242B2
- Authority
- JP
- Japan
- Prior art keywords
- dividend
- divisor
- data
- complement
- sign
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/535—Indexing scheme relating to groups G06F7/535 - G06F7/5375
- G06F2207/5353—Restoring division
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ処理装置に関し、特にマイクロプログ
ラム制御方式のマイクロコンピュータにおける符号付き
除算命令の実行方式に関する。
ラム制御方式のマイクロコンピュータにおける符号付き
除算命令の実行方式に関する。
マイクロプログラム制御方式、マイクロコンピュータ
の命令実行部は、被除数/除数等のオペランドデータを
一時的に格納しシフト機能を有するテンポラリレジスタ
群と、算術論理演算ユニットと、テンポラリレジスタ群
に格納される被除数と除数の符号の排他的論理和を示す
SSフラグと、除数の符号を示すSDフラグと、命令実行部
全体の動作を制御するマイクロシーケンサとを有するSS
フラグおよびSDフラグの情報は、マイクロシーケンサに
入力される。
の命令実行部は、被除数/除数等のオペランドデータを
一時的に格納しシフト機能を有するテンポラリレジスタ
群と、算術論理演算ユニットと、テンポラリレジスタ群
に格納される被除数と除数の符号の排他的論理和を示す
SSフラグと、除数の符号を示すSDフラグと、命令実行部
全体の動作を制御するマイクロシーケンサとを有するSS
フラグおよびSDフラグの情報は、マイクロシーケンサに
入力される。
かかる構成において、符号付き除算命令は、第7図に
示す順序でマイクロプログラムの制御のもとで実行され
る。以下に各ステップを説明する。ステップ,:
マイクロシーケンサは、テンポラリレジスタ群へ被除数
データ及び除数データを転送すると共に、SSフラグ及び
SDフラグを設定する。
示す順序でマイクロプログラムの制御のもとで実行され
る。以下に各ステップを説明する。ステップ,:
マイクロシーケンサは、テンポラリレジスタ群へ被除数
データ及び除数データを転送すると共に、SSフラグ及び
SDフラグを設定する。
ステップ,: マイクロシーケンサは、被除数のMS
Bビットを判別して、“1"(被除数が負の値)であれば
マイクロプログラムでの分岐処理を起動し、算術論理演
算ユニットによって被除数の2の補数を生成する。
Bビットを判別して、“1"(被除数が負の値)であれば
マイクロプログラムでの分岐処理を起動し、算術論理演
算ユニットによって被除数の2の補数を生成する。
ステップ,: マイクロシーケンサは、同様に除数
のMSBビットを判別して、“1"(除数が負の値)であれ
ばマイクロシーケンサでの分岐処理を起動し、算術論理
演算ユニットによって除数の2の補数を生成する。
のMSBビットを判別して、“1"(除数が負の値)であれ
ばマイクロシーケンサでの分岐処理を起動し、算術論理
演算ユニットによって除数の2の補数を生成する。
ステップ: 上記の演算処理で絶対値となった被除数
/除数に対して、テンポラリレジスタ群のシフト機能と
算術論理演算ユニットを用いて所謂引き戻し法により除
算を実行する。
/除数に対して、テンポラリレジスタ群のシフト機能と
算術論理演算ユニットを用いて所謂引き戻し法により除
算を実行する。
ステップ,: 除算実行後、マイクロシーケンサ
は、SSフラグの内容により、以下の様にテンポラリレジ
スタ群に格納された商の符号を補正する。
は、SSフラグの内容により、以下の様にテンポラリレジ
スタ群に格納された商の符号を補正する。
・SSフラグ=“1"の場合 マイクロプログラムでの分岐処理を起動して、商の2
の補数を生成し、再びテンポラリレジスタ群に格納す
る。
の補数を生成し、再びテンポラリレジスタ群に格納す
る。
・SSフラグ=“0"の場合 商に対する演算処理は行なわない。
ステップ,: 次に、マイクロシーケンサは、SDフ
ラグの内容により、以下の様にテンポラリレジスタ群に
格納された余りの符号を補正する。
ラグの内容により、以下の様にテンポラリレジスタ群に
格納された余りの符号を補正する。
・SDフラグ=“1"の場合 マイクロプログラムでの分岐処理を起動して、余りの
2の補数を生成し、再びテンポラリレジスタ群に格納す
る。
2の補数を生成し、再びテンポラリレジスタ群に格納す
る。
・SDフラグ=“0"の場合 余りに対する演算処理は行なわない。
上述した、従来のマイクロコンピュータの符号付き除
算命令実行においては、被除数/除数の符号判別結果に
よって被除数/除数の絶対値を生成する時と、除算実行
後に商と余りの符号を補正する時に、マイクロプログラ
ムによる条件判別と判別結果による分岐を行なってい
る。このため、多くの命令実行クロック数とマイクロプ
ログラムのステップ数を要し、動作スピードが低下する
と共に必要とされるマイクロプログラムの容量が増大す
る。
算命令実行においては、被除数/除数の符号判別結果に
よって被除数/除数の絶対値を生成する時と、除算実行
後に商と余りの符号を補正する時に、マイクロプログラ
ムによる条件判別と判別結果による分岐を行なってい
る。このため、多くの命令実行クロック数とマイクロプ
ログラムのステップ数を要し、動作スピードが低下する
と共に必要とされるマイクロプログラムの容量が増大す
る。
本発明の目的は、動作スピードを高めかつマイクロプ
ログラムのステップ数を消滅して、符号付除算命令を実
行するデータ処理装置を提供することにある。
ログラムのステップ数を消滅して、符号付除算命令を実
行するデータ処理装置を提供することにある。
本発明のデータ処理装置は、被除数データおよび除数
データを一時格納するデータ格納手段と、前記被除数デ
ータおよび除数データの符号を被除数の符号、除数の符
号として検出し前記被除数および除数の符号の排他的論
理和をとりその値を符号情報とし前記被除数の符号、除
数の符号および符号情報を格納する符号情報格納手段
と、除算実行および2の補数演算に必要な算術論理演算
機能を有する算術論理演算手段と、命令実行を制御し2
の補数演算指示信号を発生する命令実行制御手段と、前
記命令実行制御手段と前記算術論理演算手段との間に介
在し前記符号情報格納手段の出力に応答して、前記2の
複数演算指示信号にかかわらず前記算術論理演算手段に
よる前記2の補数演算を実質的に無効にするか、又は2
の補数演算を実行させる補正演算制御手段とを備え、前
記補正演算制御手段は、前記被除数と除数との除算を実
行して商と余りとを得た後に、前記符号情報が被除数の
符号と除数の符号が異なる符号であることを示している
場合には前記商の2の補数を生成するように前記算術論
理演算手段を制御し、かつ、前記被除数の符号が負であ
ることを示している場合に前記余りの2の補数を生成す
るように前記算術論理演算手段を制御することを特徴と
する。
データを一時格納するデータ格納手段と、前記被除数デ
ータおよび除数データの符号を被除数の符号、除数の符
号として検出し前記被除数および除数の符号の排他的論
理和をとりその値を符号情報とし前記被除数の符号、除
数の符号および符号情報を格納する符号情報格納手段
と、除算実行および2の補数演算に必要な算術論理演算
機能を有する算術論理演算手段と、命令実行を制御し2
の補数演算指示信号を発生する命令実行制御手段と、前
記命令実行制御手段と前記算術論理演算手段との間に介
在し前記符号情報格納手段の出力に応答して、前記2の
複数演算指示信号にかかわらず前記算術論理演算手段に
よる前記2の補数演算を実質的に無効にするか、又は2
の補数演算を実行させる補正演算制御手段とを備え、前
記補正演算制御手段は、前記被除数と除数との除算を実
行して商と余りとを得た後に、前記符号情報が被除数の
符号と除数の符号が異なる符号であることを示している
場合には前記商の2の補数を生成するように前記算術論
理演算手段を制御し、かつ、前記被除数の符号が負であ
ることを示している場合に前記余りの2の補数を生成す
るように前記算術論理演算手段を制御することを特徴と
する。
かくして、命令実行制御手段のマイクロプログラム数
は削減され高速に符号付除算命令に実行できる。
は削減され高速に符号付除算命令に実行できる。
以下、図面を参照して本発明を詳細する。
第1図に本発明の一実施例によるデータ処理装置の命
令実行部を示す。本実行部100は、マイクロシーケンサ
1、Nビットのデータバス2、テンポラリレジスタセッ
ト3、符号検出回路4、SD,SAおよびSSフラグ5,6および
7、補正演算制御回路8、算術論理演算ユニット9、な
らびにMビットの命令バス11を有し、図示のように接続
されている。
令実行部を示す。本実行部100は、マイクロシーケンサ
1、Nビットのデータバス2、テンポラリレジスタセッ
ト3、符号検出回路4、SD,SAおよびSSフラグ5,6および
7、補正演算制御回路8、算術論理演算ユニット9、な
らびにMビットの命令バス11を有し、図示のように接続
されている。
マイクロシーケンサ1は命令バス11を介して供給され
る命令を実行するためのマイクロプログラムが格納され
るマイクロプログラムメモリ(図示せず)を有し、マイ
クロプログラムの実行にもとづき各種の制御信号を発生
する。図面の複雑化を避けるため、第1図には符号付き
除算命令の実行のための制御信号のみが示されている。
る命令を実行するためのマイクロプログラムが格納され
るマイクロプログラムメモリ(図示せず)を有し、マイ
クロプログラムの実行にもとづき各種の制御信号を発生
する。図面の複雑化を避けるため、第1図には符号付き
除算命令の実行のための制御信号のみが示されている。
テンポラリレジスタセット3は、除数を一時格納する
除数レジスタ31、被除数を一時格納する被除数レジスタ
32および除算の結果としての剰余を格納する剰余レジス
タ33を有する。レジスタ32はまた除算結果としての商を
格納するレジスタとしても用いられ、少なくともレジス
タ32および32はデータシフト機能を示す。
除数レジスタ31、被除数を一時格納する被除数レジスタ
32および除算の結果としての剰余を格納する剰余レジス
タ33を有する。レジスタ32はまた除算結果としての商を
格納するレジスタとしても用いられ、少なくともレジス
タ32および32はデータシフト機能を示す。
符号検出回路4は除数および被除数の符号にもとづ
き、除数の符号データSD、被除数の符号データSA、およ
び除数と被除数の符号の排他的論理和データSSを発生す
る。これらデータSD,SA,SSはそれぞれSD,SA,SSフラグ5,
6,7に格納される。第2図を参照すると、符号検出回路
4は3つのANDゲート41乃至43と一つの排他的論理和ゲ
ート(EX−ORゲート)44を有し、図示のように接続され
ている。
き、除数の符号データSD、被除数の符号データSA、およ
び除数と被除数の符号の排他的論理和データSSを発生す
る。これらデータSD,SA,SSはそれぞれSD,SA,SSフラグ5,
6,7に格納される。第2図を参照すると、符号検出回路
4は3つのANDゲート41乃至43と一つの排他的論理和ゲ
ート(EX−ORゲート)44を有し、図示のように接続され
ている。
第1図に戻って、SD,SAおよびSSフラグ5,6,7の出力SD
0,SA0,SS0はそれぞれ信号線51,61,71を介して補正演算
制御回路8に供給されている。同回路8には、マイクロ
シーケンサ1から除数および剰余の2の補数データ作成
指示信号SDC、被除数の2の補数データ作成指示信号SAC
および商の2の補数データ作成指示信号SSCがそれぞれ
信号線19,18,17を介してさらに供給されている。演算制
御回路8とはこれら信号にもとづき無効演算指定信号IV
Dおよび補数演算指定信号CODを発生し、これらは信号線
8−1,8−2をそれぞれ介してALU9に供給される。第3
図を参照すると、演算制御回路8は6つのANDゲート81
乃至86および二つのORゲート87,88を有し、これらは図
示のように接続されている。
0,SA0,SS0はそれぞれ信号線51,61,71を介して補正演算
制御回路8に供給されている。同回路8には、マイクロ
シーケンサ1から除数および剰余の2の補数データ作成
指示信号SDC、被除数の2の補数データ作成指示信号SAC
および商の2の補数データ作成指示信号SSCがそれぞれ
信号線19,18,17を介してさらに供給されている。演算制
御回路8とはこれら信号にもとづき無効演算指定信号IV
Dおよび補数演算指定信号CODを発生し、これらは信号線
8−1,8−2をそれぞれ介してALU9に供給される。第3
図を参照すると、演算制御回路8は6つのANDゲート81
乃至86および二つのORゲート87,88を有し、これらは図
示のように接続されている。
第1図に戻って、ALU9はマイクロシーケンサ1からの
Lビット演算指定信号線16を介する演算指定データODS
にもとづき、テンポラリレジスタセット3からの一つの
データに対する単項演算又は二つのデータに対する二項
演算を実行する。マイクロシーケンサ1が2の補数デー
タ演算指定データを発生すると、ALU9は第4図に示すよ
うな等価回路となる。すなわち、レジスタセット3から
のNビットデータ(B0−BN-1)をインバータ9で反転
し、インクリメンタ92で反転されたデータに1を加算す
る。かくして加算結果は、レジスタ3からのデータの2
の補数データ(CB0−CBN-1)となる。同データはマルチ
プレクサ93に供給される。マルチプレクサ93にはもとの
データ(B0−BN-1)も供給される。マルチプレクサ93
は、2の補数データCBを受けるANDゲート931、もとのデ
ータBを受けるANDゲート932、これらの出力を受けるOR
ゲート934を有し、ANDゲート931,932はそれぞれ信号CO
D,IVDで制御される。すなわち、無効演算指定信号IVDが
発生されたときは、マルチプレクサ93はもとのデータ
(B0−BN-1)を選択し、したがってALU9による2の補数
データ作成演算は実質的に無効とされる。補数演算指定
信号CODが発生されたときは、マルチプレクサ93は2の
補数データ(CB0−CBN-1)を選択し、2の補数データ作
成演算が実行される。
Lビット演算指定信号線16を介する演算指定データODS
にもとづき、テンポラリレジスタセット3からの一つの
データに対する単項演算又は二つのデータに対する二項
演算を実行する。マイクロシーケンサ1が2の補数デー
タ演算指定データを発生すると、ALU9は第4図に示すよ
うな等価回路となる。すなわち、レジスタセット3から
のNビットデータ(B0−BN-1)をインバータ9で反転
し、インクリメンタ92で反転されたデータに1を加算す
る。かくして加算結果は、レジスタ3からのデータの2
の補数データ(CB0−CBN-1)となる。同データはマルチ
プレクサ93に供給される。マルチプレクサ93にはもとの
データ(B0−BN-1)も供給される。マルチプレクサ93
は、2の補数データCBを受けるANDゲート931、もとのデ
ータBを受けるANDゲート932、これらの出力を受けるOR
ゲート934を有し、ANDゲート931,932はそれぞれ信号CO
D,IVDで制御される。すなわち、無効演算指定信号IVDが
発生されたときは、マルチプレクサ93はもとのデータ
(B0−BN-1)を選択し、したがってALU9による2の補数
データ作成演算は実質的に無効とされる。補数演算指定
信号CODが発生されたときは、マルチプレクサ93は2の
補数データ(CB0−CBN-1)を選択し、2の補数データ作
成演算が実行される。
次に、除数が負(すなわちMSB=“1")、被除数が正
(すなわちMSB=“0")として、符号付き除算命令の実
行動作を第1図乃至第4図、そして第5図に示すマイク
ロシーケンサ1のマイクロプログラムによるフローチャ
ートと第6図のタイミングチャートを用いて説明する。
(すなわちMSB=“0")として、符号付き除算命令の実
行動作を第1図乃至第4図、そして第5図に示すマイク
ロシーケンサ1のマイクロプログラムによるフローチャ
ートと第6図のタイミングチャートを用いて説明する。
命令バス11を介して除算命令がマイクロシーケンサ1
に供給されると同命令実行のためのマイクロプログラム
が起動される。そのプログラム処理において、まずマイ
クロシーケンサ1はデータメモリおよび/又は汎用レジ
スタ(共に図示せず)から除数よおび被除数を読み出
し、データバス2を介してこれらをレジスタ31および32
にそれぞれ書込むと共に除数および被除数の符号データ
とこれらの排他的論理和データをフラグ5,6,7にそれぞ
れ書き込む(ステップ501,502)。ステップ501,502をさ
らに詳述すると、マイクロシーケンサ1はまず除数書き
込み信号DSWを信号線12上に出力してデータバス2上の
除数をレジスタ31に書き込む。また、この信号DSWによ
って符号検出回路4内のANDゲート41が開く。ANDゲート
41にはデータバス2の最上位ビット(すなわち、除数の
符号)が信号線3−1を介してさらに供給されている。
除数は負であるので、SD信号“1"となりシーケンサ1か
らのSDフラグ書き込み信号SDWによって“1"からSDフラ
グ5に書き込まれその出力SD0は“1"となる。次に、マ
イクロシーケンサ1は信号線13上に被除数書き込み信号
DDWを発生してデータバス2上の被除数をレジスタ32に
書き込む。この信号DDWによってANDゲート42,43は開
く。被除数は正であるから信号SAは“0"となり、一方、
除数レジスタ31からの最上位ビットによってEX−OR44の
出力は“1"であるから信号SSは“1"となる。かくして、
シーケンサ1からのSA,SSフラグ書込み信号SSAWによっ
てSA,SSフラグ6,7にはそれぞれ“0",“1"が書き込ま
れ、それらの出力SAO,SSOはそれぞれ“0",“1"となる。
に供給されると同命令実行のためのマイクロプログラム
が起動される。そのプログラム処理において、まずマイ
クロシーケンサ1はデータメモリおよび/又は汎用レジ
スタ(共に図示せず)から除数よおび被除数を読み出
し、データバス2を介してこれらをレジスタ31および32
にそれぞれ書込むと共に除数および被除数の符号データ
とこれらの排他的論理和データをフラグ5,6,7にそれぞ
れ書き込む(ステップ501,502)。ステップ501,502をさ
らに詳述すると、マイクロシーケンサ1はまず除数書き
込み信号DSWを信号線12上に出力してデータバス2上の
除数をレジスタ31に書き込む。また、この信号DSWによ
って符号検出回路4内のANDゲート41が開く。ANDゲート
41にはデータバス2の最上位ビット(すなわち、除数の
符号)が信号線3−1を介してさらに供給されている。
除数は負であるので、SD信号“1"となりシーケンサ1か
らのSDフラグ書き込み信号SDWによって“1"からSDフラ
グ5に書き込まれその出力SD0は“1"となる。次に、マ
イクロシーケンサ1は信号線13上に被除数書き込み信号
DDWを発生してデータバス2上の被除数をレジスタ32に
書き込む。この信号DDWによってANDゲート42,43は開
く。被除数は正であるから信号SAは“0"となり、一方、
除数レジスタ31からの最上位ビットによってEX−OR44の
出力は“1"であるから信号SSは“1"となる。かくして、
シーケンサ1からのSA,SSフラグ書込み信号SSAWによっ
てSA,SSフラグ6,7にはそれぞれ“0",“1"が書き込ま
れ、それらの出力SAO,SSOはそれぞれ“0",“1"となる。
マイクロシーケンサ1は被除数のレジスタ32への書き
込み際中に除数の絶対値演算を指定する(ステップ50
3)。すなわち、シーケンサ1は信号線16を介してALU9
に2の補数演算指定データODSを出力し、さらに信号DDW
と共に除数の2の補数データ演算指示信号SDCを発生す
る。この信号SDCは除数レジスタ31のALU9へのデータ読
み出し信号としてレジスタセット3に供給されている。
したがって、除数がALU9に供給される。一方、信号SDC
によって演算制御回路8内のANDゲート83,86が開く。フ
ラグ5からの出力SDOは“1"であるので、ANDゲート83の
出力が“1"となって補数演算信号CODが“1"となる。無
効演算信号IVDは“0"である。したがって、マルチプレ
クサ93は、インバータ91およびインクリメンタ92によっ
て作成された除数の2の補数データを選択する。
込み際中に除数の絶対値演算を指定する(ステップ50
3)。すなわち、シーケンサ1は信号線16を介してALU9
に2の補数演算指定データODSを出力し、さらに信号DDW
と共に除数の2の補数データ演算指示信号SDCを発生す
る。この信号SDCは除数レジスタ31のALU9へのデータ読
み出し信号としてレジスタセット3に供給されている。
したがって、除数がALU9に供給される。一方、信号SDC
によって演算制御回路8内のANDゲート83,86が開く。フ
ラグ5からの出力SDOは“1"であるので、ANDゲート83の
出力が“1"となって補数演算信号CODが“1"となる。無
効演算信号IVDは“0"である。したがって、マルチプレ
クサ93は、インバータ91およびインクリメンタ92によっ
て作成された除数の2の補数データを選択する。
被除数のレジスタ32への書き込みが終了すると、ALU9
は除数の2の補数データをデータバス2上に出力する。
マイクロシーケンサ1は再び除数書き込み信号DSWを発
生し、その結果、レジスタ31には除数の絶対値、すなわ
ち2の補数が書き込まれる。
は除数の2の補数データをデータバス2上に出力する。
マイクロシーケンサ1は再び除数書き込み信号DSWを発
生し、その結果、レジスタ31には除数の絶対値、すなわ
ち2の補数が書き込まれる。
これと同時に、マイクロシーケンサ1は被除数の絶対
値演算を指示する(ステップ504)。すなわち、信号DSW
と共に被除数の2の補数データ演算指示信号SACを発生
する。この信号SACは被除数レジスタ32のALU9へのデー
タ読み出し信号としても使用され、その結果、被除数が
ALU9に供給される。一方、信号SACによってANDゲート8
2,85が開く。SAフラグ6からの出力ASOは“0"であるか
ら、ANDゲート85の出力が“1"となり、その結果、無効
演算信号IVDが“1"となる。したがって、マルチプレク
サ93は被除数をそのまま選択することとなり、ALU9によ
る2の補数演算は無効化される。
値演算を指示する(ステップ504)。すなわち、信号DSW
と共に被除数の2の補数データ演算指示信号SACを発生
する。この信号SACは被除数レジスタ32のALU9へのデー
タ読み出し信号としても使用され、その結果、被除数が
ALU9に供給される。一方、信号SACによってANDゲート8
2,85が開く。SAフラグ6からの出力ASOは“0"であるか
ら、ANDゲート85の出力が“1"となり、その結果、無効
演算信号IVDが“1"となる。したがって、マルチプレク
サ93は被除数をそのまま選択することとなり、ALU9によ
る2の補数演算は無効化される。
除数の2の補数のレジスタ31への書き込む終了後、AL
U9は被除数をそのままデータバス2上に出力することに
なる。マイクロシーケンサ1は被除数書き込み信号DDW
を再び発生しレジスタ32にデータバス2上の被除数が書
き込まれる。
U9は被除数をそのままデータバス2上に出力することに
なる。マイクロシーケンサ1は被除数書き込み信号DDW
を再び発生しレジスタ32にデータバス2上の被除数が書
き込まれる。
かくして、除数および被除数の絶対値演算が終了す
る。第7図に示した従来例との比較から明白なとおり、
本実施例ではマイクロプログラムに除数および被除数の
符号検出ステップをもたず、絶対値のための2の補数演
算を実行するか無効にするかは自動的に決定されてい
る。したがって、マイクロプログラムのステップ数は削
除されると共に動作スピードが向上される。
る。第7図に示した従来例との比較から明白なとおり、
本実施例ではマイクロプログラムに除数および被除数の
符号検出ステップをもたず、絶対値のための2の補数演
算を実行するか無効にするかは自動的に決定されてい
る。したがって、マイクロプログラムのステップ数は削
除されると共に動作スピードが向上される。
ステップ504の実行後、絶対値となった被除数および
除数に対して除算を実行する(ステップ505)。除算実
行は、レジスタ32および33のデータシフト機能とALU9を
用いた引き戻し法として当業者にとってよく知られてい
るところであり、また本発明の特徴としては直接関係な
いのでその詳細については省略する。なお、除算実行中
はALU9は演算指定データODSによって減算器として動作
し、除算によって得られる商および剰余はレジスタ32お
よび33にそれぞれ格納されることになる。
除数に対して除算を実行する(ステップ505)。除算実
行は、レジスタ32および33のデータシフト機能とALU9を
用いた引き戻し法として当業者にとってよく知られてい
るところであり、また本発明の特徴としては直接関係な
いのでその詳細については省略する。なお、除算実行中
はALU9は演算指定データODSによって減算器として動作
し、除算によって得られる商および剰余はレジスタ32お
よび33にそれぞれ格納されることになる。
除算実行後、マイクロシーケンサ1はSSフラグの値に
応じて商の符号補正を実行する(ステップ506)。この
目的のために、シーケンサ1は演算指定データODSによ
ってALU9を2の補数演算(第4図)とすると共に、商の
2の補数演算指示信号SSCを出力する。この信号SSCはレ
ジスタ32のALU9に対するデータ読み出し信号としても使
用され、その結果、商がALU9に供給される。一方、信号
SSCによってANDゲート81,84が開く。SSフラグの出力SSO
は“1"であるので、ANDゲート81の出力が“1"となり、
補正演算信号CODが発生される。したがって、マルチプ
レクサ93は商の2の補数を選択する。信号SSCの立下り
によってALU9は商の2の補数をデータバス2上に出力す
る。シーケンサ1は信号線14に商書込み信号QWを出力す
るので、データバス2上の商の2の補数はレジスタ32に
書き込まれる。
応じて商の符号補正を実行する(ステップ506)。この
目的のために、シーケンサ1は演算指定データODSによ
ってALU9を2の補数演算(第4図)とすると共に、商の
2の補数演算指示信号SSCを出力する。この信号SSCはレ
ジスタ32のALU9に対するデータ読み出し信号としても使
用され、その結果、商がALU9に供給される。一方、信号
SSCによってANDゲート81,84が開く。SSフラグの出力SSO
は“1"であるので、ANDゲート81の出力が“1"となり、
補正演算信号CODが発生される。したがって、マルチプ
レクサ93は商の2の補数を選択する。信号SSCの立下り
によってALU9は商の2の補数をデータバス2上に出力す
る。シーケンサ1は信号線14に商書込み信号QWを出力す
るので、データバス2上の商の2の補数はレジスタ32に
書き込まれる。
商の2の補数のレジスタ32への書き込み最中に、シー
ケンサ1はSDフラグ5による剰余の補正の処理を始める
(ステップ507)。なお、SDフラグ5、すなわち除数の
符号により剰余の符号を補正するか、又はSAフラグ6、
すなわち被除数の符号により剰余の符号を補正するか
は、一義的に決まっていない。データ処理装置毎にまち
まちである。本実施例では、SDフラグ5によって剰余の
符号を補正している。シーケンサ1は商書き込み信号QW
と共に剰余の2の補数演算指示信号SDCを発生する。こ
の信号SDCはこのステップでは剰余レジスタ33のALU9へ
のデータ読み出し信号としても用いられており、剰余が
ALU9へ供給される。また、信号SDCによって、ANDゲート
83,86が開く。SDフラグ5の出力は“1"であるから、AND
ゲート83の出力が“1"となり、その結果、補数演算信号
CODが発生し続ける。したがって、剰余の2の補数演算
が実行され、その結果はシーケンサ1からの信号線16へ
上の剰余書き込み信号RWと共にデータバス2上に出力さ
れる。この結果、剰余の2の補数は剰余レジスタ33に書
き込まれる。
ケンサ1はSDフラグ5による剰余の補正の処理を始める
(ステップ507)。なお、SDフラグ5、すなわち除数の
符号により剰余の符号を補正するか、又はSAフラグ6、
すなわち被除数の符号により剰余の符号を補正するか
は、一義的に決まっていない。データ処理装置毎にまち
まちである。本実施例では、SDフラグ5によって剰余の
符号を補正している。シーケンサ1は商書き込み信号QW
と共に剰余の2の補数演算指示信号SDCを発生する。こ
の信号SDCはこのステップでは剰余レジスタ33のALU9へ
のデータ読み出し信号としても用いられており、剰余が
ALU9へ供給される。また、信号SDCによって、ANDゲート
83,86が開く。SDフラグ5の出力は“1"であるから、AND
ゲート83の出力が“1"となり、その結果、補数演算信号
CODが発生し続ける。したがって、剰余の2の補数演算
が実行され、その結果はシーケンサ1からの信号線16へ
上の剰余書き込み信号RWと共にデータバス2上に出力さ
れる。この結果、剰余の2の補数は剰余レジスタ33に書
き込まれる。
かくして、商および剰余の符号の補正が完了する。マ
イクロプログラムの中に分岐処理を何ら含んでいないの
で、ステップ数は削除し処理スピードも向上する。
イクロプログラムの中に分岐処理を何ら含んでいないの
で、ステップ数は削除し処理スピードも向上する。
上記実施例においては除数,被除数,商および剰余の
すべてについて演算制御回路8の制御のもとで2の補数
演算を実行するか否かを行なったが、除数および被除数
だけ、あるいは商および剰余だけに実行してもよい。
すべてについて演算制御回路8の制御のもとで2の補数
演算を実行するか否かを行なったが、除数および被除数
だけ、あるいは商および剰余だけに実行してもよい。
以上のとおり、本発明では除数および被除数の符号情
報を格納する手段と、同手段の出力に応答して、実行制
御部からの2の補数データ立演算指示信号をALUに供給
するかどうかを制御する手段とを設けることにより、符
号付き除算実行に必要なマイクロプログラムステップ数
が削減され、実行スピードも向上する。
報を格納する手段と、同手段の出力に応答して、実行制
御部からの2の補数データ立演算指示信号をALUに供給
するかどうかを制御する手段とを設けることにより、符
号付き除算実行に必要なマイクロプログラムステップ数
が削減され、実行スピードも向上する。
第1図は本発明の一実施例を示すデータ処理装置の命令
実行部のブロック図、第2図は第1図の符号検出回路の
回路図、第3図は第1図の演算制御回路の回路図、第4
図は第1図のALUであって2の補数演算動作を指定され
たときの等価回路図、第5図は第1図のマイクロシーケ
ンサにおける符号付き除算命令の実行フーローチャー
ト、第6図は除算命令実行にともなうタイミングチャー
ト、第7図は従来例のデータ処理装置における符号付き
除算命令の実行フローチャートである。
実行部のブロック図、第2図は第1図の符号検出回路の
回路図、第3図は第1図の演算制御回路の回路図、第4
図は第1図のALUであって2の補数演算動作を指定され
たときの等価回路図、第5図は第1図のマイクロシーケ
ンサにおける符号付き除算命令の実行フーローチャー
ト、第6図は除算命令実行にともなうタイミングチャー
ト、第7図は従来例のデータ処理装置における符号付き
除算命令の実行フローチャートである。
Claims (1)
- 【請求項1】被除数データおよび除数データを一時格納
するデータ格納手段と、前記被除数データおよび除数デ
ータの符号を被除数の符号、除数の符号として検出し前
記被除数および除数の符号の排他的論理和をとりその値
を符号情報とし前記被除数の符号、除数の符号および符
号情報を格納する符号情報格納手段と、除算実行および
2の補数演算に必要な算術論理演算機能を有する算術論
理演算手段と、命令実行を制御し2の補数演算指示信号
を発生する命令実行制御手段と、前記命令実行制御手段
と前記算術論理演算手段との間に介在し前記符号情報格
納手段の出力に応答して、前記2の補数演算指示信号に
かかわらず前記算術論理演算手段による前記2の補数演
算を実質的に無効にするか、又は2の補数演算を実行さ
せる補正演算制御手段とを備え、 前記補正演算制御手段は、前記被除数と除数との除算を
実行して商と余りとを得た後に、前記符号情報が被除数
の符号と除数の符号が異なる符号であることを示してい
る場合には前記商の2の補数を生成するように前記算術
論理演算手段を制御し、かつ、前記被除数の符号が負で
あることを示している場合に前記余りの2の補数を生成
するように前記算術論理演算手段を制御することを特徴
とするデータ処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17580488 | 1988-07-13 | ||
JP63-175804 | 1988-07-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02125330A JPH02125330A (ja) | 1990-05-14 |
JP3098242B2 true JP3098242B2 (ja) | 2000-10-16 |
Family
ID=16002532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01179263A Expired - Fee Related JP3098242B2 (ja) | 1988-07-13 | 1989-07-11 | データ処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5107453A (ja) |
EP (1) | EP0350928B1 (ja) |
JP (1) | JP3098242B2 (ja) |
DE (1) | DE68927691T2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2984463B2 (ja) * | 1991-06-24 | 1999-11-29 | 株式会社日立製作所 | マイクロコンピュータ |
FR2693571B1 (fr) * | 1992-07-13 | 1994-09-30 | Texas Instruments France | Système de traitement de données dont le programme de commande comporte des instructions dépendant de paramètres d'état. |
EP0650613A1 (en) * | 1992-07-13 | 1995-05-03 | Texas Instruments France | Data-processing system with a device for handling program loops |
US5426600A (en) * | 1993-09-27 | 1995-06-20 | Hitachi America, Ltd. | Double precision division circuit and method for digital signal processor |
US6058473A (en) * | 1993-11-30 | 2000-05-02 | Texas Instruments Incorporated | Memory store from a register pair conditional upon a selected status bit |
US5831877A (en) * | 1995-05-26 | 1998-11-03 | National Semiconductor Corporation | Bit searching through 8, 16, or 32 bit operands using a 32 bit data path |
US5754460A (en) * | 1995-05-26 | 1998-05-19 | National Semiconductor Corporation | Method for performing signed division |
DE69626596T2 (de) * | 1995-10-20 | 2003-12-18 | Kabushiki Kaisha Toshiba, Kawasaki | Logische Schaltung, die nach dem Carry select Prinzip arbeitet |
US7174358B2 (en) * | 2002-11-15 | 2007-02-06 | Broadcom Corporation | System, method, and apparatus for division coupled with truncation of signed binary numbers |
US7165086B2 (en) * | 2002-11-15 | 2007-01-16 | Broadcom Corporation | System, method, and apparatus for division coupled with rounding of signed binary numbers |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB742464A (en) * | 1950-12-22 | 1955-12-30 | Nat Res Dev | Improvements in or relating to binary digital computing apparatus |
NL288833A (ja) * | 1962-02-12 | |||
FR2507783A1 (fr) * | 1981-06-16 | 1982-12-17 | Thomson Csf | Dispositif de calcul de l'argument d'un signal complexe defini par ses deux composantes en quadrature et application a un signal radar |
JPS61101835A (ja) * | 1984-10-23 | 1986-05-20 | Matsushita Electric Ind Co Ltd | 除算回路 |
US4742480A (en) * | 1985-06-06 | 1988-05-03 | Motorola, Inc. | Cycle counter/shifter for division |
JPS62285137A (ja) * | 1986-06-04 | 1987-12-11 | Hitachi Ltd | デイジタル信号処理プロセツサ |
GB2202974A (en) * | 1987-03-31 | 1988-10-05 | Plessey Co Plc | Digital divider |
JPH0786826B2 (ja) * | 1988-07-19 | 1995-09-20 | 日本電気株式会社 | 整数除算回路 |
US4992968A (en) * | 1989-02-17 | 1991-02-12 | Digital Equipment Corporation | Division method and apparatus including use of a Z--Z plot to select acceptable quotient bits |
-
1989
- 1989-07-11 JP JP01179263A patent/JP3098242B2/ja not_active Expired - Fee Related
- 1989-07-13 US US07/379,114 patent/US5107453A/en not_active Expired - Lifetime
- 1989-07-13 DE DE68927691T patent/DE68927691T2/de not_active Expired - Fee Related
- 1989-07-13 EP EP89112866A patent/EP0350928B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0350928A3 (en) | 1991-11-06 |
DE68927691T2 (de) | 1997-08-14 |
EP0350928B1 (en) | 1997-01-22 |
EP0350928A2 (en) | 1990-01-17 |
DE68927691D1 (de) | 1997-03-06 |
US5107453A (en) | 1992-04-21 |
JPH02125330A (ja) | 1990-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4476525A (en) | Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously | |
JP2539199B2 (ja) | デジタルプロセッサ制御装置 | |
AU686358B2 (en) | Computer system | |
AU608921B2 (en) | Jump prediction | |
US4916606A (en) | Pipelined parallel data processing apparatus for directly transferring operand data between preceding and succeeding instructions | |
US5212662A (en) | Floating point arithmetic two cycle data flow | |
US4542456A (en) | Method and apparatus for performing range checks | |
JP3098242B2 (ja) | データ処理装置 | |
JPH0769783B2 (ja) | 例外処理方式 | |
EP0094535B1 (en) | Pipe-line data processing system | |
US4739470A (en) | Data processing system | |
JPH0414385B2 (ja) | ||
JPH0213333B2 (ja) | ||
US4631672A (en) | Arithmetic control apparatus for a pipeline processing system | |
US5247624A (en) | Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out | |
US4580238A (en) | Arithmetic operating system | |
JP2826927B2 (ja) | 演算処理装置および処理方法 | |
US6772318B1 (en) | Bypass control circuit | |
JP2716254B2 (ja) | リストベクトル処理装置 | |
JPH01255933A (ja) | 掃出し制御方式 | |
JP2922979B2 (ja) | 中央演算処理装置 | |
JP3014701B2 (ja) | 情報処理装置 | |
JP2781973B2 (ja) | メモリー内容更新回路 | |
JP2569801B2 (ja) | 情報処理装置 | |
JPS6014334A (ja) | デ−タ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070811 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080811 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |