JPH1091395A - プロセッサ - Google Patents
プロセッサInfo
- Publication number
- JPH1091395A JPH1091395A JP8243296A JP24329696A JPH1091395A JP H1091395 A JPH1091395 A JP H1091395A JP 8243296 A JP8243296 A JP 8243296A JP 24329696 A JP24329696 A JP 24329696A JP H1091395 A JPH1091395 A JP H1091395A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- overflow
- output
- circuit
- significant bit
- 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
- 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】
【課題】桁溢れが生じた場合でも演算結果の正しい符号
を表す符号フラグを出力する。 【解決手段】それぞれ2の補数表現された2つの二進数
X、Yをどうしを加算して加算結果を出力する加算器1
4と、加算結果の桁溢れを示す桁溢れ信号vを出力する
桁溢れ検出回路17と、桁溢れ信号vに応じて、加算器
の加算結果Zの符号ビットをそのままもしくは反転して
出力する反転回路18と、反転回路の出力を記憶する記
憶回路19とを具備している。
を表す符号フラグを出力する。 【解決手段】それぞれ2の補数表現された2つの二進数
X、Yをどうしを加算して加算結果を出力する加算器1
4と、加算結果の桁溢れを示す桁溢れ信号vを出力する
桁溢れ検出回路17と、桁溢れ信号vに応じて、加算器
の加算結果Zの符号ビットをそのままもしくは反転して
出力する反転回路18と、反転回路の出力を記憶する記
憶回路19とを具備している。
Description
【0001】
【発明の属する技術分野】この発明はマイクロプロセッ
サもしくは信号処理プロセッサ等のプロセッサに係り、
特に内部で実行される演算の状態(ステータス)信号生
成回路を有するプロセッサに関する。
サもしくは信号処理プロセッサ等のプロセッサに係り、
特に内部で実行される演算の状態(ステータス)信号生
成回路を有するプロセッサに関する。
【0002】
【従来の技術】図4は、従来のプロセッサの内部構成を
示すブロック図である。図4において、41は加算器、
42は桁溢れ検出回路、43は記憶回路(レジスタ:R
eg)であり、通常、加算器41と桁溢れ検出回路42
の機能はALU(算術/論理演算ユニット)として実現
されている。
示すブロック図である。図4において、41は加算器、
42は桁溢れ検出回路、43は記憶回路(レジスタ:R
eg)であり、通常、加算器41と桁溢れ検出回路42
の機能はALU(算術/論理演算ユニット)として実現
されている。
【0003】上記加算器41には、それぞれ2の補数表
現された2つの符号付きの二進数X、Yと桁上げ信号c
とが入力される。この加算器41は、両入力X、Yの和
Zを出力する。桁溢れ検出回路42には、X、Y、Zそ
れぞれの最上位ビット(MSB)信号である信号a、
b、mが入力される。この桁溢れ検出回路42は、これ
ら入力信号a、b、mに基づいて桁溢れ信号vを出力す
る。また、記憶回路43には上記桁溢れ信号vと、和Z
の符号を表す信号mとが入力され、それぞれこの記憶回
路43で一時的に記憶される。記憶回路3は桁溢れフラ
グv′、符号フラグm′を出力し、これらのフラグは次
回以降の処理を実行する際に使用される。
現された2つの符号付きの二進数X、Yと桁上げ信号c
とが入力される。この加算器41は、両入力X、Yの和
Zを出力する。桁溢れ検出回路42には、X、Y、Zそ
れぞれの最上位ビット(MSB)信号である信号a、
b、mが入力される。この桁溢れ検出回路42は、これ
ら入力信号a、b、mに基づいて桁溢れ信号vを出力す
る。また、記憶回路43には上記桁溢れ信号vと、和Z
の符号を表す信号mとが入力され、それぞれこの記憶回
路43で一時的に記憶される。記憶回路3は桁溢れフラ
グv′、符号フラグm′を出力し、これらのフラグは次
回以降の処理を実行する際に使用される。
【0004】
【発明が解決しようとする課題】上記のように、従来の
プロセッサでは、演算結果の符号を表す符号フラグm′
として演算結果Zの符号ビットmがそのまま使用されて
いた。しかし、演算は有限の語長で実行されるため、桁
溢れが生じることがあり、桁溢れが生じると、加算器か
らは正しくない演算結果が出力されるので、記憶回路に
も正しくない符号フラグが記憶されていた。
プロセッサでは、演算結果の符号を表す符号フラグm′
として演算結果Zの符号ビットmがそのまま使用されて
いた。しかし、演算は有限の語長で実行されるため、桁
溢れが生じることがあり、桁溢れが生じると、加算器か
らは正しくない演算結果が出力されるので、記憶回路に
も正しくない符号フラグが記憶されていた。
【0005】こうした状態を回避するため、従来では桁
溢れを検出して桁溢れフラグ信号v′を発生させて、演
算結果が正しくないことを認識させるようにしている。
しかし、このような方法では、以下に述べるような2つ
の問題がある。
溢れを検出して桁溢れフラグ信号v′を発生させて、演
算結果が正しくないことを認識させるようにしている。
しかし、このような方法では、以下に述べるような2つ
の問題がある。
【0006】第1の問題点は、桁溢れが生じる可能性が
ある演算では、演算を1回実行する毎に桁溢れ検出を実
行しなければならないため、演算量が増加するという点
である。これは、演算結果の符号だけが必要な場合にお
いて顕著となり、桁溢れが生じない場合に比べて、演算
量が約20%増加する。この場合のアセンブリ言語によ
る記述例は、次のように表される。 [記述例1] LOOP1 : LOAD ACC ,X ;アキュムレータにXをロード (1) ADD ACC ,Y ;XとYを加算 (1) JUMPV EXIT1 ;桁溢れ検出 (1) LOOP2 : JUMPM EXIT2 ;符号の検出 (1) JUMP LOOP1 ;繰り返し (2) 上記記述例1において、各記述末尾の括弧中の数字は、
処理に必要なマシンサイクルを表す。この例では、符号
の検出の前に桁溢れ検出の記述が余計に入るので、桁溢
れが生じない場合に比べると、演算量は100×(1/
5)=20%の増加になる。
ある演算では、演算を1回実行する毎に桁溢れ検出を実
行しなければならないため、演算量が増加するという点
である。これは、演算結果の符号だけが必要な場合にお
いて顕著となり、桁溢れが生じない場合に比べて、演算
量が約20%増加する。この場合のアセンブリ言語によ
る記述例は、次のように表される。 [記述例1] LOOP1 : LOAD ACC ,X ;アキュムレータにXをロード (1) ADD ACC ,Y ;XとYを加算 (1) JUMPV EXIT1 ;桁溢れ検出 (1) LOOP2 : JUMPM EXIT2 ;符号の検出 (1) JUMP LOOP1 ;繰り返し (2) 上記記述例1において、各記述末尾の括弧中の数字は、
処理に必要なマシンサイクルを表す。この例では、符号
の検出の前に桁溢れ検出の記述が余計に入るので、桁溢
れが生じない場合に比べると、演算量は100×(1/
5)=20%の増加になる。
【0007】第2の問題点は、例外処理が複雑な点であ
る。桁溢れ後の演算結果を正しい結果に復元するには、
加算回路からの加算出力Zの最上位ビットのさらに上位
ビットに正しい符号ビットを付け足す必要がある。ま
た、復元した結果を所定のビット数に収めるためには、
全体を右に1ビットシフトしなければならない。
る。桁溢れ後の演算結果を正しい結果に復元するには、
加算回路からの加算出力Zの最上位ビットのさらに上位
ビットに正しい符号ビットを付け足す必要がある。ま
た、復元した結果を所定のビット数に収めるためには、
全体を右に1ビットシフトしなければならない。
【0008】従来のプロセッサでは、桁溢れ時の符号フ
ラグm′は正しくなく、シフト演算においても、符号フ
ラグを伴うシフトができないため、例外処理に多大な時
間を要していた。すなわち、まず、結果の符号を正しい
値に改めた後、これをシフト可能なフラグ、通常は桁上
げフラグであるが、これに記憶し直し、演算結果と共に
右シフトしていた。この場合のアセンブリ言語による記
述例は、次のように表される。 [記述例2] EXIT1 : LOAD B ,ACC ;演算結果の退避 (1) NOT ACC ;演算結果の反転 (1) SFLC ACC ;符号を桁上げフラグに転送 (1) LOAD ACC ,B ;退避した演算結果のロード (1) SFRC ACC ;結果の復元 (1) JUMP LOOP2 ;終了 (2) 上記記述例2においても、各記述末尾の括弧中の数字
は、処理に必要なマシンサイクルを表す。この記述例2
では合計で7マシンサイクルかかっている。便宜上、記
述例1と共通のラベル名を用いているが、記述例2は一
般的な例であって、記述例1との直接的な相関はない。
ラグm′は正しくなく、シフト演算においても、符号フ
ラグを伴うシフトができないため、例外処理に多大な時
間を要していた。すなわち、まず、結果の符号を正しい
値に改めた後、これをシフト可能なフラグ、通常は桁上
げフラグであるが、これに記憶し直し、演算結果と共に
右シフトしていた。この場合のアセンブリ言語による記
述例は、次のように表される。 [記述例2] EXIT1 : LOAD B ,ACC ;演算結果の退避 (1) NOT ACC ;演算結果の反転 (1) SFLC ACC ;符号を桁上げフラグに転送 (1) LOAD ACC ,B ;退避した演算結果のロード (1) SFRC ACC ;結果の復元 (1) JUMP LOOP2 ;終了 (2) 上記記述例2においても、各記述末尾の括弧中の数字
は、処理に必要なマシンサイクルを表す。この記述例2
では合計で7マシンサイクルかかっている。便宜上、記
述例1と共通のラベル名を用いているが、記述例2は一
般的な例であって、記述例1との直接的な相関はない。
【0009】このように従来では、桁溢れが生じる可能
性がある演算では、演算を1回実行する毎に桁溢れ検出
を実行する必要があるために演算量が増加すると共に例
外処理が複雑となる欠点があった。
性がある演算では、演算を1回実行する毎に桁溢れ検出
を実行する必要があるために演算量が増加すると共に例
外処理が複雑となる欠点があった。
【0010】この発明は上記のような事情を考慮してな
されたものであり、その目的は、桁溢れが生じた場合で
も演算結果の正しい符号を表す符号フラグを出力するこ
とができるプロセッサを提供することにある。
されたものであり、その目的は、桁溢れが生じた場合で
も演算結果の正しい符号を表す符号フラグを出力するこ
とができるプロセッサを提供することにある。
【0011】
【課題を解決するための手段】この発明のプロセッサ
は、それぞれ2の補数表現された2つの二進数をどうし
を加算して加算結果を出力すると共に加算結果の桁溢れ
を示す桁溢れ信号を出力する演算手段と、上記桁溢れ信
号に応じて、上記演算手段の加算結果の符号ビットをそ
のままもしくは反転して出力する反転手段と、上記反転
手段の出力を記憶する記憶手段とを具備している。
は、それぞれ2の補数表現された2つの二進数をどうし
を加算して加算結果を出力すると共に加算結果の桁溢れ
を示す桁溢れ信号を出力する演算手段と、上記桁溢れ信
号に応じて、上記演算手段の加算結果の符号ビットをそ
のままもしくは反転して出力する反転手段と、上記反転
手段の出力を記憶する記憶手段とを具備している。
【0012】
【発明の実施の形態】以下、図面を参照してこの発明の
実施の形態を説明する。図1はこの発明に係るプロセッ
サの内部構成を示すブロック図である。図において、プ
ログラムメモリ11は予め決められた演算手順をプログ
ラムとして記憶しており、ここから読み出されるプログ
ラムが命令デコーダ(命令解読器:DEC)12によっ
て各種命令にデコードされる。
実施の形態を説明する。図1はこの発明に係るプロセッ
サの内部構成を示すブロック図である。図において、プ
ログラムメモリ11は予め決められた演算手順をプログ
ラムとして記憶しており、ここから読み出されるプログ
ラムが命令デコーダ(命令解読器:DEC)12によっ
て各種命令にデコードされる。
【0013】記憶回路(Reg)13には2の補数表現
された2つの符号付きの二進数X、Yのうち一方の二進
数Xが入力される。この記憶回路13の出力は加算器1
4の一方の入力端子に入力される。
された2つの符号付きの二進数X、Yのうち一方の二進
数Xが入力される。この記憶回路13の出力は加算器1
4の一方の入力端子に入力される。
【0014】反転回路15には上記2つの二進数X、Y
のうち他方の二進数Yが入力され、その出力は加算器1
4の他方の入力端子に入力される。なお、反転回路15
には上記命令デコーダ12の出力が入力されており、反
転回路15は、この命令に基づいて、二進数Yをそのま
まの状態で出力する、各ビットを反転した状態で出力す
る、あるいは何の信号も出力しないという3つの出力状
態を取り得るように動作が制御される。また、上記加算
器14の桁上げ入力端子には桁上げ信号cが入力され
る。この桁上げ信号cは上記命令デコーダ12から出力
される。
のうち他方の二進数Yが入力され、その出力は加算器1
4の他方の入力端子に入力される。なお、反転回路15
には上記命令デコーダ12の出力が入力されており、反
転回路15は、この命令に基づいて、二進数Yをそのま
まの状態で出力する、各ビットを反転した状態で出力す
る、あるいは何の信号も出力しないという3つの出力状
態を取り得るように動作が制御される。また、上記加算
器14の桁上げ入力端子には桁上げ信号cが入力され
る。この桁上げ信号cは上記命令デコーダ12から出力
される。
【0015】上記加算器14は、上記記憶回路13の出
力、反転回路15の出力及び桁上げ信号cに基づいて和
Zを出力する。この和Zはアキュムレータ(ACC)1
6に入力される。アキュムレータ16はこの和Zを一時
的に記憶し、またZ′として出力する。
力、反転回路15の出力及び桁上げ信号cに基づいて和
Zを出力する。この和Zはアキュムレータ(ACC)1
6に入力される。アキュムレータ16はこの和Zを一時
的に記憶し、またZ′として出力する。
【0016】桁溢れ検出回路17には、記憶回路13の
出力の最上位ビット(MSB)信号である信号a、反転
回路15の出力の最上位ビット信号である信号b及び加
算器14から出力される和Zの最上位ビット信号である
信号mがそれぞれ入力される。この桁溢れ検出回路17
はこれら入力信号a、b、mに基づいて桁溢れ信号vを
出力する。なお、従来と同様に、通常、上記加算器14
と桁溢れ検出回路17の機能はALU(算術/論理演算
ユニット)として実現されている。
出力の最上位ビット(MSB)信号である信号a、反転
回路15の出力の最上位ビット信号である信号b及び加
算器14から出力される和Zの最上位ビット信号である
信号mがそれぞれ入力される。この桁溢れ検出回路17
はこれら入力信号a、b、mに基づいて桁溢れ信号vを
出力する。なお、従来と同様に、通常、上記加算器14
と桁溢れ検出回路17の機能はALU(算術/論理演算
ユニット)として実現されている。
【0017】上記桁溢れ信号v及び和Zの最上位ビット
信号である信号mは反転回路18に入力される。この反
転回路18は、図示のように排他的論理和回路(Exclus
iveOR)で構成されており、桁溢れ信号vが有効、すな
わち桁溢れのときにはmの反転信号を、桁溢れ信号vが
無効、すなわち桁溢れが生じていないときにはmに等し
い信号を絶対符号sとして出力する。そして、上記桁溢
れ信号v及び絶対符号sは記憶回路(Reg)19に入
力される。この記憶回路19は両入力を一時的に記憶
し、それぞれ桁溢れフラグv′、絶対符号フラグs′と
して出力する。そして、両フラグv′、s′は次回以降
に実行される処理において使用される。
信号である信号mは反転回路18に入力される。この反
転回路18は、図示のように排他的論理和回路(Exclus
iveOR)で構成されており、桁溢れ信号vが有効、すな
わち桁溢れのときにはmの反転信号を、桁溢れ信号vが
無効、すなわち桁溢れが生じていないときにはmに等し
い信号を絶対符号sとして出力する。そして、上記桁溢
れ信号v及び絶対符号sは記憶回路(Reg)19に入
力される。この記憶回路19は両入力を一時的に記憶
し、それぞれ桁溢れフラグv′、絶対符号フラグs′と
して出力する。そして、両フラグv′、s′は次回以降
に実行される処理において使用される。
【0018】上記記憶回路19から出力されるフラグ
s′及びアキュムレータ16から出力される和Z′はシ
フタ20に入力される。このシフタ20は、上記フラグ
s′の状態に応じてシフト処理を行い、シフト後の和
Z″を出力する。
s′及びアキュムレータ16から出力される和Z′はシ
フタ20に入力される。このシフタ20は、上記フラグ
s′の状態に応じてシフト処理を行い、シフト後の和
Z″を出力する。
【0019】このように構成されたプロセッサにおい
て、例えばX=0111(10進数の+7)と、Y=0
110(10進数の+6)の4ビットからなる2の補数
表現された符号付きの二進数どうしの加算を実行する場
合を考える。このとき、反転回路14は一方の二進数Y
のそのままの状態で出力し、加算器15はXとYの加算
処理を行う。なお、このときの桁上げ信号cは0、すな
わち桁上げなしの状態であると仮定する。この場合の加
算器15の和Zは1101(10進数の−3)となり、
和Zの符号を表す最上位ビットmは1(負)となる。
て、例えばX=0111(10進数の+7)と、Y=0
110(10進数の+6)の4ビットからなる2の補数
表現された符号付きの二進数どうしの加算を実行する場
合を考える。このとき、反転回路14は一方の二進数Y
のそのままの状態で出力し、加算器15はXとYの加算
処理を行う。なお、このときの桁上げ信号cは0、すな
わち桁上げなしの状態であると仮定する。この場合の加
算器15の和Zは1101(10進数の−3)となり、
和Zの符号を表す最上位ビットmは1(負)となる。
【0020】従来のプロセッサでは、この最上位ビット
mが符号フラグとしてそのまま出力されるため、演算結
果が負の値であるとみなされていた。そこで従来では、
桁溢れフラグ信号v′を発生させて演算結果が正しくな
いことを認識させていた。
mが符号フラグとしてそのまま出力されるため、演算結
果が負の値であるとみなされていた。そこで従来では、
桁溢れフラグ信号v′を発生させて演算結果が正しくな
いことを認識させていた。
【0021】これに対して、上記実施の形態によるプロ
セッサでは、桁溢れ検出回路17の入力信号は、a=
0、b=0、m=1であり、この場合の桁溢れ信号vは
1であり、桁溢れ信号vが有効となるので、反転回路1
8は信号mの反転信号を絶対符号sとして出力する。す
なわち、この場合、絶対符号sは0となり、この符号s
が記憶回路19で桁溢れ信号vと共に記憶され、かつ桁
溢れフラグv′=1、絶対フラグs′=0として出力さ
れる。従って、アキュムレータ16から出力される和
Z′は正の値と判断される。
セッサでは、桁溢れ検出回路17の入力信号は、a=
0、b=0、m=1であり、この場合の桁溢れ信号vは
1であり、桁溢れ信号vが有効となるので、反転回路1
8は信号mの反転信号を絶対符号sとして出力する。す
なわち、この場合、絶対符号sは0となり、この符号s
が記憶回路19で桁溢れ信号vと共に記憶され、かつ桁
溢れフラグv′=1、絶対フラグs′=0として出力さ
れる。従って、アキュムレータ16から出力される和
Z′は正の値と判断される。
【0022】また、この場合、桁溢れが生じているの
で、シフタ20では、絶対フラグs′が最上位ビットと
して、アキュムレータ16からの出力Z′がそれ以下の
ビットとしてそれぞれ入力され、この入力信号全体が右
シフトされて、正しい加算結果Z″が復元される。ただ
し、小数点位置は、右シフトにより1ビット右に移動す
る。
で、シフタ20では、絶対フラグs′が最上位ビットと
して、アキュムレータ16からの出力Z′がそれ以下の
ビットとしてそれぞれ入力され、この入力信号全体が右
シフトされて、正しい加算結果Z″が復元される。ただ
し、小数点位置は、右シフトにより1ビット右に移動す
る。
【0023】このように上記実施の形態に係るプロセッ
サでは、桁溢れが生じた場合でも、演算結果の正しい符
号を表す符号フラグを出力させることができる。なお、
反転回路15から二進数Yの各ビットを反転した状態で
出力させることにより、二進数XとYの減算を行わせる
ことができる。
サでは、桁溢れが生じた場合でも、演算結果の正しい符
号を表す符号フラグを出力させることができる。なお、
反転回路15から二進数Yの各ビットを反転した状態で
出力させることにより、二進数XとYの減算を行わせる
ことができる。
【0024】図2は、上記実施の形態のプロセッサで用
いられる桁溢れ検出回路17の具体的な回路構成例を示
している。この桁溢れ検出回路17は、前記信号a、b
が入力される一致回路(Exclusive NOR )31、前記信
号b、mが入力される排他的論理和回路(Exclusive O
R)32及び上記一致回路31と排他的論理和回路32
の出力が入力されるAND回路33とから構成されてい
る。
いられる桁溢れ検出回路17の具体的な回路構成例を示
している。この桁溢れ検出回路17は、前記信号a、b
が入力される一致回路(Exclusive NOR )31、前記信
号b、mが入力される排他的論理和回路(Exclusive O
R)32及び上記一致回路31と排他的論理和回路32
の出力が入力されるAND回路33とから構成されてい
る。
【0025】すなわち、この桁溢れ検出回路17では、
一致回路31で信号a、bの一致が検出され、排他的論
理和回路32で信号b、mの不一致が検出され、両状態
が共に検出されたときに桁溢れ信号vが1になる。
一致回路31で信号a、bの一致が検出され、排他的論
理和回路32で信号b、mの不一致が検出され、両状態
が共に検出されたときに桁溢れ信号vが1になる。
【0026】図3は上記実施の形態のプロセッサで用い
られるシフタ20の動作例を示している。ここでは前記
アキュムレータ16からの出力Z′が8ビットの場合に
ついて説明する。いま、和Z′(10111000)で
あり、桁溢れが生じており、絶対符号フラグs′が0で
あるとする。この場合、シフタ20には絶対符号フラグ
s′と、和Z′の上記8ビットが入力され、シフタ20
ではこの入力信号を右に1ビットシフトされて、正しい
加算結果Z″(01011100)が復元される。この
ように絶対符号フラグs′と和Z′の上位ビット信号と
からなる入力信号を単に1ビット右にシフトすればよ
く、従来のように結果の符号を正しい値に改めた後、こ
れをシフト可能なフラグに記憶し直す操作が不要とな
り、加算結果の復元処理が簡単になる。
られるシフタ20の動作例を示している。ここでは前記
アキュムレータ16からの出力Z′が8ビットの場合に
ついて説明する。いま、和Z′(10111000)で
あり、桁溢れが生じており、絶対符号フラグs′が0で
あるとする。この場合、シフタ20には絶対符号フラグ
s′と、和Z′の上記8ビットが入力され、シフタ20
ではこの入力信号を右に1ビットシフトされて、正しい
加算結果Z″(01011100)が復元される。この
ように絶対符号フラグs′と和Z′の上位ビット信号と
からなる入力信号を単に1ビット右にシフトすればよ
く、従来のように結果の符号を正しい値に改めた後、こ
れをシフト可能なフラグに記憶し直す操作が不要とな
り、加算結果の復元処理が簡単になる。
【0027】
【発明の効果】以上説明したようにこの発明によれば、
桁溢れが生じた場合でも演算結果の正しい符号を表す符
号フラグを出力することができるプロセッサを提供する
ことができる。
桁溢れが生じた場合でも演算結果の正しい符号を表す符
号フラグを出力することができるプロセッサを提供する
ことができる。
【図1】この発明に係るプロセッサの内部構成を示すブ
ロック図。
ロック図。
【図2】上記実施の形態のプロセッサで用いられる桁溢
れ検出回路の具体的な回路構成例を示す回路図。
れ検出回路の具体的な回路構成例を示す回路図。
【図3】上記実施の形態のプロセッサで用いられるシフ
タの動作例を示す図。
タの動作例を示す図。
【図4】従来のプロセッサの内部構成を示すブロック
図。
図。
11…プログラムメモリ、 12…命令デコーダ(命令解読器:DEC)、 13…記憶回路(Reg)、 14…加算器、 15…反転回路、 16…アキュムレータ(ACC)、 17…桁溢れ検出回路、 18…反転回路、 19…記憶回路(Reg)、 20…シフタ、 31…一致回路(Exclusive NOR )、 32…排他的論理和回路(Exclusive OR)、 33…AND回路。
Claims (6)
- 【請求項1】 それぞれ2の補数表現された2つの二進
数をどうしを加算して加算結果を出力すると共に加算結
果の桁溢れを示す桁溢れ信号を出力する演算手段と、 上記桁溢れ信号に応じて、上記演算手段の加算結果の符
号ビットをそのままもしくは反転して出力する反転手段
と、 上記反転手段の出力を記憶する記憶手段とを具備したこ
とを特徴とするプロセッサ。 - 【請求項2】 前記演算手段は桁上げ信号が入力される
入力端子を有していることを特徴とする請求項1に記載
のプロセッサ。 - 【請求項3】 予め決められた演算手順をプログラムと
して記憶するプログラム記憶手段と、 上記プログラム記憶手段からプログラムを読み出して解
読する解読手段とをさらに具備し、 上記解読手段の解読結果に基づいて前記演算手段の動作
が制御されることを特徴とする請求項1に記載のプロセ
ッサ。 - 【請求項4】 前記演算手段が、 前記2つの二進数どうしを加算する加算器と、 前記2つの二進数それぞれの最上位ビット信号及び上記
加算器の加算出力の最上位ビット信号が入力され、これ
らの信号から前記桁溢れ信号を出力する論理手段とから
構成されていることを特徴とする請求項1に記載のプロ
セッサ。 - 【請求項5】 前記論理手段が、 前記2つの二進数それぞれの最上位ビット信号が同一符
号のときに出力が活性化される第1の論理回路と、 前記2つの二進数のうち一方の最上位ビット信号と前記
加算器の加算結果の最上位ビット信号とが異なる符号の
ときに出力が活性化される第2の論理回路と、 上記第1、第2の論理回路の出力の論理積信号を得る第
3の論理回路とから構成されていることを特徴とする請
求項4に記載のプロセッサ。 - 【請求項6】 前記反転手段の出力が最上位ビットとし
て、前記演算手段の加算結果がそれ以下のビットとして
それぞれ入力され、入力信号全体を右シフトするシフト
手段をさらに具備したことを特徴とする請求項1に記載
のプロセッサ。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8243296A JPH1091395A (ja) | 1996-09-13 | 1996-09-13 | プロセッサ |
| US08/927,210 US5905662A (en) | 1996-09-13 | 1997-09-11 | Digital processing system for binary addition/subtraction |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8243296A JPH1091395A (ja) | 1996-09-13 | 1996-09-13 | プロセッサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1091395A true JPH1091395A (ja) | 1998-04-10 |
Family
ID=17101735
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8243296A Pending JPH1091395A (ja) | 1996-09-13 | 1996-09-13 | プロセッサ |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5905662A (ja) |
| JP (1) | JPH1091395A (ja) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6115731A (en) * | 1998-04-07 | 2000-09-05 | Lucent Technologies Inc. | Scalable overflow clamp and method for a digital gain scaler/summer |
| US6275840B1 (en) * | 1998-12-10 | 2001-08-14 | Intel Corporation | Fast overflow detection in decoded bit-vector addition |
| KR20030005768A (ko) * | 2001-07-10 | 2003-01-23 | 삼성전자 주식회사 | 비터비 디코더의 상태 메트릭 연산 장치 |
| US7171438B2 (en) * | 2002-11-12 | 2007-01-30 | Sandbridge Technologies, Inc. | Method for recognition of full-word saturating addition and subtraction |
| US20040167954A1 (en) * | 2003-02-21 | 2004-08-26 | Infineon Technologies North America Corp. | Overflow detection system for multiplication |
| EP1779240A2 (en) * | 2004-08-12 | 2007-05-02 | Sandbridge Technologies, Inc. | Method for recognition of acyclic instruction patterns |
| US7991820B1 (en) | 2007-08-07 | 2011-08-02 | Leslie Imre Sohay | One step binary summarizer |
| RU2463644C1 (ru) * | 2011-02-02 | 2012-10-10 | Открытое акционерное общество "Научно-производственное предприятие "Салют" | Устройство для вычитания |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4722066A (en) * | 1985-07-30 | 1988-01-26 | Rca Corporation | Digital signal overflow correction apparatus |
| JPH069028B2 (ja) * | 1986-02-18 | 1994-02-02 | 日本電気株式会社 | 演算装置 |
| JPH0644225B2 (ja) * | 1986-03-27 | 1994-06-08 | 日本電気株式会社 | 浮動小数点丸め正規化回路 |
| US5038314A (en) * | 1989-11-17 | 1991-08-06 | Digital Equipment Corporation | Method and apparatus for correction of underflow and overflow |
| JP2894015B2 (ja) * | 1991-06-28 | 1999-05-24 | 日本電気株式会社 | 桁あふれ検出方法および回路 |
| KR950004124B1 (ko) * | 1992-05-19 | 1995-04-25 | 주식회사금성사 | 영상 움직임 보상정보 출력 처리장치 |
| US5440702A (en) * | 1992-10-16 | 1995-08-08 | Delco Electronics Corporation | Data processing system with condition code architecture for executing single instruction range checking and limiting operations |
| US5448509A (en) * | 1993-12-08 | 1995-09-05 | Hewlett-Packard Company | Efficient hardware handling of positive and negative overflow resulting from arithmetic operations |
| US5774829A (en) * | 1995-12-12 | 1998-06-30 | Pinterra Corporation | Navigation and positioning system and method using uncoordinated beacon signals in conjunction with an absolute positioning system |
-
1996
- 1996-09-13 JP JP8243296A patent/JPH1091395A/ja active Pending
-
1997
- 1997-09-11 US US08/927,210 patent/US5905662A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US5905662A (en) | 1999-05-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0766169B1 (en) | Processor and control method for performing proper saturation operation | |
| US5440702A (en) | Data processing system with condition code architecture for executing single instruction range checking and limiting operations | |
| JP3081710B2 (ja) | オーバーフロー検出機能付き乗算装置 | |
| US5957996A (en) | Digital data comparator and microprocessor | |
| EP0201833A2 (en) | Instruction processor | |
| JPH0850545A (ja) | 最小/最大検索命令を有するデジタル処理装置 | |
| JPS62191926A (ja) | 演算装置 | |
| US5991872A (en) | Processor | |
| US5349671A (en) | Microprocessor system generating instruction fetch addresses at high speed | |
| JP3556252B2 (ja) | オフセット合計を計算するデータ処理システムとその方法 | |
| JPS6227412B2 (ja) | ||
| US5905662A (en) | Digital processing system for binary addition/subtraction | |
| CN1004306B (zh) | 信息处理装置 | |
| US5748518A (en) | Data processing divider | |
| US4951238A (en) | Processor for executing arithmetic operations on input data and constant data with a small error | |
| JPH0528431B2 (ja) | ||
| JP2591250B2 (ja) | データ処理装置 | |
| JP2615746B2 (ja) | ビット操作回路 | |
| JP3336986B2 (ja) | 信号処理プロセッサ及びそれに用いる丸め機能付き積和演算器 | |
| US7010562B2 (en) | Arithmetic circuit | |
| JPH04195629A (ja) | 演算フラグ生成装置 | |
| JPH0435777B2 (ja) | ||
| KR200326695Y1 (ko) | 디지털 프로세서 | |
| JPH0644226B2 (ja) | 演算処理装置 | |
| JPH02228733A (ja) | 情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040106 |