JPH0498421A - マイクロ・プロセッサ - Google Patents
マイクロ・プロセッサInfo
- Publication number
- JPH0498421A JPH0498421A JP2213852A JP21385290A JPH0498421A JP H0498421 A JPH0498421 A JP H0498421A JP 2213852 A JP2213852 A JP 2213852A JP 21385290 A JP21385290 A JP 21385290A JP H0498421 A JPH0498421 A JP H0498421A
- Authority
- JP
- Japan
- Prior art keywords
- normalization
- interruption
- alu
- processing
- zero
- 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
- 238000000034 method Methods 0.000 claims description 4
- 238000010606 normalization Methods 0.000 abstract description 24
- 238000001514 detection method Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000006866 deterioration Effects 0.000 description 4
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はマイクロ・プロセッサに関し、特に固定小数点
データを入出力とする演算器と割込み制御回路を内蔵し
、演算器の仮数部の語長がメイン・バスの語長より拡張
されたマイクロ・プロセッサに関する。
データを入出力とする演算器と割込み制御回路を内蔵し
、演算器の仮数部の語長がメイン・バスの語長より拡張
されたマイクロ・プロセッサに関する。
浮動小数点データを入出力とするマイクロ・プロセッサ
や、入力データよりも出力データの桁数が拡張される乗
算器を内蔵したマイクロ・プロセッサなどでは、連続的
に演算を行った場合には、演算精度が劣化することがあ
る。そこで、この演算精度の劣化を避けるためには、適
時正規化などを行う必要がある。
や、入力データよりも出力データの桁数が拡張される乗
算器を内蔵したマイクロ・プロセッサなどでは、連続的
に演算を行った場合には、演算精度が劣化することがあ
る。そこで、この演算精度の劣化を避けるためには、適
時正規化などを行う必要がある。
従来のマイクロ・プロセッサでは、正規化などの必要の
有無を判断するためのハードウェアを内蔵していないな
め、ソフトウェアによって、正規化などの必要の有無を
判断していた。しかし、このソフトウェアによる判断を
演算のたびに行っていたのでは、判断や正規化などのた
めのプログラムが演算のためのプログラムに比ベステッ
プ数が多くなり、ステップ数の増加にともない処理時間
も長くなる。
有無を判断するためのハードウェアを内蔵していないな
め、ソフトウェアによって、正規化などの必要の有無を
判断していた。しかし、このソフトウェアによる判断を
演算のたびに行っていたのでは、判断や正規化などのた
めのプログラムが演算のためのプログラムに比ベステッ
プ数が多くなり、ステップ数の増加にともない処理時間
も長くなる。
一般的には、正規化などの必要の有無にかかわらず、正
規化など処理を行い演算精度が劣化することを防いでい
る。しかし、この場合でも演算のたびに正規化などを行
っていたのでは、正規化などのためのプログラムのステ
ップ数が非常に多くなり、定期的に正規化などの行って
いたのでは、演算精度の保証はできなくなる。
規化など処理を行い演算精度が劣化することを防いでい
る。しかし、この場合でも演算のたびに正規化などを行
っていたのでは、正規化などのためのプログラムのステ
ップ数が非常に多くなり、定期的に正規化などの行って
いたのでは、演算精度の保証はできなくなる。
第4図に従来のマイクロ・プロセッサで加算。
正規化を繰返すプログラムのフローチャートを示す、こ
の例では、ループの回数だけ正規化も行われることにな
る。
の例では、ループの回数だけ正規化も行われることにな
る。
以上のように、演算精度が劣化を防止するためには、冗
長なプログラミングをする必要があった。
長なプログラミングをする必要があった。
上述した従来のマイクロ・プロセッサでは、演算器のデ
ータが正規化などの必要がない場合も正規化などを行う
プログラムになったり、正規化などの必要の有無を判断
する目的のプログラムが必要になったりする。このため
プログラムのステップ数が多くなり、処理時間も長くな
るという欠点があった。
ータが正規化などの必要がない場合も正規化などを行う
プログラムになったり、正規化などの必要の有無を判断
する目的のプログラムが必要になったりする。このため
プログラムのステップ数が多くなり、処理時間も長くな
るという欠点があった。
本発明の目的は、演算精度の劣化を避けるためのプログ
ラムのステップ数を削減でき、プログラマの負担を低減
し、処理時間を短縮できるマイクロ・プロセッサを提供
することにある。
ラムのステップ数を削減でき、プログラマの負担を低減
し、処理時間を短縮できるマイクロ・プロセッサを提供
することにある。
本発明のマイクロ・プロセッサは、演算器と、割込み制
御回路と、前記演算器の演算結果のうち上位所定桁が零
であることを検出する上位零検出回路と、前記上位零検
出回路の出力に応じて割込み処理に分岐する手段とを有
することを特徴とする。
御回路と、前記演算器の演算結果のうち上位所定桁が零
であることを検出する上位零検出回路と、前記上位零検
出回路の出力に応じて割込み処理に分岐する手段とを有
することを特徴とする。
〔実8!例〕
次に、本発明について図面を用いて説明する。
第1図は本発明の一実施例を示すブロック図であり、浮
動小数点演算回路を構成する仮数演算回路を実施した例
である。Pレジスタ1は第1の被演算データを格納する
入力レジスタ、Qレジスタ2は第2の被演算データを格
納する入力レジスタである。EAU3はPレジスタ1お
よびQレジスタ2の指数部データの演算を行う指数演算
回路である。EXCHANGE4で選択されたデータを
EAU3あるいは5AC5の値により左右シフト処理を
おこなう。AlO2は単項演算ではQレジスタ2を、二
項演算ではPレジスタlとQレジスタ2の仮数部データ
の演算を行う仮数演算回路である。上位零検出回路8は
AlO2の上位0桁が零であることを検出すると割込み
制御回路9へ割込み要求信号を出力する。
動小数点演算回路を構成する仮数演算回路を実施した例
である。Pレジスタ1は第1の被演算データを格納する
入力レジスタ、Qレジスタ2は第2の被演算データを格
納する入力レジスタである。EAU3はPレジスタ1お
よびQレジスタ2の指数部データの演算を行う指数演算
回路である。EXCHANGE4で選択されたデータを
EAU3あるいは5AC5の値により左右シフト処理を
おこなう。AlO2は単項演算ではQレジスタ2を、二
項演算ではPレジスタlとQレジスタ2の仮数部データ
の演算を行う仮数演算回路である。上位零検出回路8は
AlO2の上位0桁が零であることを検出すると割込み
制御回路9へ割込み要求信号を出力する。
第2図(a)、(b)に示すEAU3.AlO2および
BUSIOのデータ・フォーマットを例に、割込み信号
が発生する過程を説明する。この例ではnを11と固定
する。A−B−Cの演1において A=64.0.B= 64.0−2−5.C=2−’と
すると、正規化などを行わずに演算を進めた場合のEA
U3.AlO2の値は、第3図に示すように変化する。
BUSIOのデータ・フォーマットを例に、割込み信号
が発生する過程を説明する。この例ではnを11と固定
する。A−B−Cの演1において A=64.0.B= 64.0−2−5.C=2−’と
すると、正規化などを行わずに演算を進めた場合のEA
U3.AlO2の値は、第3図に示すように変化する。
通常、浮動小数点データ同士を加減算する場合は、指数
部の値が大きいほうへ桁合せを行った後に、仮数部の値
同士を加減算する。従ってこのように連続的に加減算を
行った場合には、正しい値が得られないことがある。こ
れを避けるためには、AlO2の値が正規化などの必要
がない場合でも正規化などを行うなど、冗長なプログラ
ミングをする必要がある。
部の値が大きいほうへ桁合せを行った後に、仮数部の値
同士を加減算する。従ってこのように連続的に加減算を
行った場合には、正しい値が得られないことがある。こ
れを避けるためには、AlO2の値が正規化などの必要
がない場合でも正規化などを行うなど、冗長なプログラ
ミングをする必要がある。
これに対し、本発明を実施した場合、正規化などのタイ
ミングは割込み信号で与えられ、割込み処理で正規化を
行うことで、EAU3.AlO2の値は第4図に示すよ
うに変化する。すなわち、64.0− (64,0−2
−’)=2−5=2−12×27 となった時、AUL7の仮数部の上位11ビツトが零と
なり、上位零検出回路8から割込み制御回路9へ割込み
要求信号を出力する0割込み処理で正規化を行うとEA
U3の値は−4,AlO2の値は2−1となる。続けて 2−5−(2〜5 ’;l −16) = 2−1
6 = 2−12 ×行う時、EALI3の値は−4と
なっているため、EAU3の値が7のままの第3図を例
とは異なり、正しい演算結果2−16を得ることができ
る。この時も、AlO2の仮数部の上位11ビットが零
となっていることにより、上位零検出回路8から割込み
制御回路9へ割込み要求信号を出力する0割込み処理で
正規化を行うとEAL3の値は−7,ALU7の値は2
となり、正しい値をBUSl 0に出力できる。
ミングは割込み信号で与えられ、割込み処理で正規化を
行うことで、EAU3.AlO2の値は第4図に示すよ
うに変化する。すなわち、64.0− (64,0−2
−’)=2−5=2−12×27 となった時、AUL7の仮数部の上位11ビツトが零と
なり、上位零検出回路8から割込み制御回路9へ割込み
要求信号を出力する0割込み処理で正規化を行うとEA
U3の値は−4,AlO2の値は2−1となる。続けて 2−5−(2〜5 ’;l −16) = 2−1
6 = 2−12 ×行う時、EALI3の値は−4と
なっているため、EAU3の値が7のままの第3図を例
とは異なり、正しい演算結果2−16を得ることができ
る。この時も、AlO2の仮数部の上位11ビットが零
となっていることにより、上位零検出回路8から割込み
制御回路9へ割込み要求信号を出力する0割込み処理で
正規化を行うとEAL3の値は−7,ALU7の値は2
となり、正しい値をBUSl 0に出力できる。
第7図(a)、(b)に本発明のマイクロ・プロセッサ
で加算を繰返すプログラムのフローチャートを示す、第
8図に示した従来例とは異なり、割込み処理で正規化を
行うことにより、ループの中から正規化処理が無くなり
、必要な時だけ正規化を行うプログラムにできる。また
、割込み処理の正規化は、他のブロックでも共通に使用
できる。第5図は本発明の他の実施例を示すブロック図
である。第一の実施例と異なる点は、上位零検出回路8
で検出する零の桁数nを任意に設定できることである。
で加算を繰返すプログラムのフローチャートを示す、第
8図に示した従来例とは異なり、割込み処理で正規化を
行うことにより、ループの中から正規化処理が無くなり
、必要な時だけ正規化を行うプログラムにできる。また
、割込み処理の正規化は、他のブロックでも共通に使用
できる。第5図は本発明の他の実施例を示すブロック図
である。第一の実施例と異なる点は、上位零検出回路8
で検出する零の桁数nを任意に設定できることである。
桁数nは、Nレジスタ11に設定する。この例の場合は
、第6図に示すように、nの値により演算精度、割込み
発生頻度を調整できるという利点を有する。
、第6図に示すように、nの値により演算精度、割込み
発生頻度を調整できるという利点を有する。
以上説明したように、本発明はプログラムを冗長にする
こと無く演算精度の劣化を防止でき、プログラマの負担
を低減し、処理時間を短縮できる。
こと無く演算精度の劣化を防止でき、プログラマの負担
を低減し、処理時間を短縮できる。
第1図は本発明の第1の実施例を示すブロック図、第2
図(a)、(b)はEAU、ALUおよびBUSのデー
タ・フォーマットを示す図、第3図は連続的に演算を続
けた場合のEAUおよびALUの内容を示す図、第4図
は適時正規化を行うなから演算を続けた場合のEALお
よびALUの内容を示す図、第5図は本発明の第2の実
施例を示すブロック図、第6図は2の実施例のnの値と
演算精度及び割込み発生頻度の関係を示す図、第7図は
本発明のマイクロ・プロセッサで加算を繰返すためのプ
ログラム例を示す流れ図、第8図は加算を繰返すための
従来のプログラムを示す流れ図である。 1・・・Pレジスタ、2・・・Qレジスタ、3・・・指
数演算回路、4・・・選択回路、5・・・シフト量検出
回路、6・・・バレル・シフタ、7・・・仮数演算回路
、8・・・上位桁検出回路(桁数固定)、9・・・割込
み制御回路、10・・・バス、11・・・Nレジスタ、
12・・・上位零検出回路(桁数可変)。
図(a)、(b)はEAU、ALUおよびBUSのデー
タ・フォーマットを示す図、第3図は連続的に演算を続
けた場合のEAUおよびALUの内容を示す図、第4図
は適時正規化を行うなから演算を続けた場合のEALお
よびALUの内容を示す図、第5図は本発明の第2の実
施例を示すブロック図、第6図は2の実施例のnの値と
演算精度及び割込み発生頻度の関係を示す図、第7図は
本発明のマイクロ・プロセッサで加算を繰返すためのプ
ログラム例を示す流れ図、第8図は加算を繰返すための
従来のプログラムを示す流れ図である。 1・・・Pレジスタ、2・・・Qレジスタ、3・・・指
数演算回路、4・・・選択回路、5・・・シフト量検出
回路、6・・・バレル・シフタ、7・・・仮数演算回路
、8・・・上位桁検出回路(桁数固定)、9・・・割込
み制御回路、10・・・バス、11・・・Nレジスタ、
12・・・上位零検出回路(桁数可変)。
Claims (1)
- 演算器と、割込み制御回路と、前記演算器の演算結果の
うち上位所定割込み処理に分岐する手段とを有すること
を特徴とするマイクロ・プロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2213852A JPH0498421A (ja) | 1990-08-13 | 1990-08-13 | マイクロ・プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2213852A JPH0498421A (ja) | 1990-08-13 | 1990-08-13 | マイクロ・プロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0498421A true JPH0498421A (ja) | 1992-03-31 |
Family
ID=16646089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2213852A Pending JPH0498421A (ja) | 1990-08-13 | 1990-08-13 | マイクロ・プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0498421A (ja) |
-
1990
- 1990-08-13 JP JP2213852A patent/JPH0498421A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4849921A (en) | Arithmetic circuit for calculating the absolute value of the difference between a pair of input signals | |
US5862065A (en) | Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer | |
CA1324217C (en) | Pipelined floating point adder for digital computer | |
US5375078A (en) | Arithmetic unit for performing XY+B operation | |
US5341320A (en) | Method for rapidly processing floating-point operations which involve exceptions | |
US6085211A (en) | Logic circuit and floating-point arithmetic unit | |
US4823300A (en) | Performing binary multiplication using minimal path algorithm | |
US6202078B1 (en) | Arithmetic circuit using a booth algorithm | |
US7003540B2 (en) | Floating point multiplier for delimited operands | |
JPH0498421A (ja) | マイクロ・プロセッサ | |
US5838601A (en) | Arithmetic processing method and arithmetic processing device | |
JP2517064B2 (ja) | 非正規化数の処理方式 | |
US7051062B2 (en) | Apparatus and method for adding multiple-bit binary-strings | |
US5805487A (en) | Method and system for fast determination of sticky and guard bits | |
JPH07146777A (ja) | 演算装置 | |
JPH04160533A (ja) | マイクロ・プロセッサ | |
JPS6149234A (ja) | 浮動小数点乗算回路 | |
JP3229057B2 (ja) | 例外処理装置 | |
JPH0352092B2 (ja) | ||
JPH0383126A (ja) | 浮動小数点乗算器 | |
JPS61282928A (ja) | 浮動小数点演算装置 | |
JP2903529B2 (ja) | ベクトル演算方式 | |
JP3522387B2 (ja) | パイプライン演算装置 | |
KR100431707B1 (ko) | 부동소수점연산에서의지수처리방법 | |
JPS60254231A (ja) | 浮動小数点演算制御方式 |