JPH07191831A - 演算装置 - Google Patents
演算装置Info
- Publication number
- JPH07191831A JPH07191831A JP5330872A JP33087293A JPH07191831A JP H07191831 A JPH07191831 A JP H07191831A JP 5330872 A JP5330872 A JP 5330872A JP 33087293 A JP33087293 A JP 33087293A JP H07191831 A JPH07191831 A JP H07191831A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- zero
- circuits
- arithmetic unit
- output
- 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.)
- Withdrawn
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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【目的】演算処理と並行してゼロ検出を行うことによ
り、ゼロ検出時間を短縮化できる演算装置を提供する。 【構成】演算装置は演算器と、ゼロ検出器4とを備え
る。EOR回路11a1〜11a8は2進数A,Bの同一桁のビ
ットを入力して論理演算を行う。NOT回路13a2〜13a8
はEOR回路11a2〜11a8の出力をそれぞれ入力し反転信
号を出力する。NOR回路12a1〜12a7は、2進数A,B
の同一桁のビットを入力して論理演算を行う。セレクタ
14a2〜14a8はNOR回路12a1〜12a7の出力が論理壱であ
るときにはNOT回路13a2〜13a8の出力を選択し、論理
零であるときにはEOR回路11a2〜11a8の出力を選択す
る。オールゼロ検出回路16は、演算結果S1とNOT回路
15a2〜15a8の出力が論理零であるかどうかを判定するこ
とによって演算器の演算結果がゼロであることを検出す
る。
り、ゼロ検出時間を短縮化できる演算装置を提供する。 【構成】演算装置は演算器と、ゼロ検出器4とを備え
る。EOR回路11a1〜11a8は2進数A,Bの同一桁のビ
ットを入力して論理演算を行う。NOT回路13a2〜13a8
はEOR回路11a2〜11a8の出力をそれぞれ入力し反転信
号を出力する。NOR回路12a1〜12a7は、2進数A,B
の同一桁のビットを入力して論理演算を行う。セレクタ
14a2〜14a8はNOR回路12a1〜12a7の出力が論理壱であ
るときにはNOT回路13a2〜13a8の出力を選択し、論理
零であるときにはEOR回路11a2〜11a8の出力を選択す
る。オールゼロ検出回路16は、演算結果S1とNOT回路
15a2〜15a8の出力が論理零であるかどうかを判定するこ
とによって演算器の演算結果がゼロであることを検出す
る。
Description
【0001】
【産業上の利用分野】本発明は演算装置において、演算
結果がゼロかどうかを検出するためのゼロ検出回路に関
する。
結果がゼロかどうかを検出するためのゼロ検出回路に関
する。
【0002】近年、半導体装置の動作は高速化されてき
ており、それに伴い、半導体装置で構成される演算装置
の演算結果が、ゼロかどうかの検出動作も高速化される
必要がある。
ており、それに伴い、半導体装置で構成される演算装置
の演算結果が、ゼロかどうかの検出動作も高速化される
必要がある。
【0003】
【従来の技術】図6には従来のCPUにおける演算装置
31が示されている。演算装置31は演算器32、ゼロ
検出器33及びゼロフラグレジスタ34を備えている。
演算器32はビットA1〜A8(A8が最上位ビット)
からなる2進数Aを入力するとともに、ビットB1〜B
8(B8が最上位ビット)からなる2進数Bを入力す
る。演算器32は2進数A,Bの各ビットの加算または
論理演算を行い、ビットC1〜C8(C8が最上位ビッ
ト)からなる演算結果Cを出力する。ゼロ検出器33は
ビットC1〜C8を入力し、この演算結果Cがゼロであ
るかどうかを検出する。図7に示すように、ゼロ検出器
33は4個の2入力NOR回路35a1〜35a4と、
AND回路36とからなる。NOR回路35a1の出力
は、ビットC1,C2が共に「0」のときにのみ、
「1」となる。NOR回路35a2の出力は、ビットC
3,C4が共に「0」のときにのみ、「1」となる。N
OR回路35a3の出力は、ビットC5,C6が共に
「0」のときにのみ、「1」となる。NOR回路35a
4の出力は、ビットC7,C8が共に「0」のときにの
み、「1」となる。AND回路36の出力は、すべての
NOR回路35a1〜35a4の出力が「1」のときに
のみ、「1」となり、この出力がゼロフラグレジスタ3
4に格納される。
31が示されている。演算装置31は演算器32、ゼロ
検出器33及びゼロフラグレジスタ34を備えている。
演算器32はビットA1〜A8(A8が最上位ビット)
からなる2進数Aを入力するとともに、ビットB1〜B
8(B8が最上位ビット)からなる2進数Bを入力す
る。演算器32は2進数A,Bの各ビットの加算または
論理演算を行い、ビットC1〜C8(C8が最上位ビッ
ト)からなる演算結果Cを出力する。ゼロ検出器33は
ビットC1〜C8を入力し、この演算結果Cがゼロであ
るかどうかを検出する。図7に示すように、ゼロ検出器
33は4個の2入力NOR回路35a1〜35a4と、
AND回路36とからなる。NOR回路35a1の出力
は、ビットC1,C2が共に「0」のときにのみ、
「1」となる。NOR回路35a2の出力は、ビットC
3,C4が共に「0」のときにのみ、「1」となる。N
OR回路35a3の出力は、ビットC5,C6が共に
「0」のときにのみ、「1」となる。NOR回路35a
4の出力は、ビットC7,C8が共に「0」のときにの
み、「1」となる。AND回路36の出力は、すべての
NOR回路35a1〜35a4の出力が「1」のときに
のみ、「1」となり、この出力がゼロフラグレジスタ3
4に格納される。
【0004】
【発明が解決しようとする課題】ところが、従来の演算
装置では、演算器32が演算処理を終了した後、ゼロ検
出器33がその演算結果に基づいてゼロ検出を行ってい
るため、ゼロ検出時間が長くなる。さらに、近年の演算
器のデータ処理能力は16ビット,32ビットのように
多ビット化されている。そのため、演算器32の演算時
間が増加してきており、ゼロ検出時間が増大してきてい
る。CPUがゼロフラグレジスタ34の内容を参照する
場合に、ゼロフラグレジスタ34の内容が確定していな
いと、CPUは誤動作することとなる。従って、CPU
の動作速度はゼロ検出の時間によって定められ、CPU
の動作速度の高速化を図る上で障害となっていた。
装置では、演算器32が演算処理を終了した後、ゼロ検
出器33がその演算結果に基づいてゼロ検出を行ってい
るため、ゼロ検出時間が長くなる。さらに、近年の演算
器のデータ処理能力は16ビット,32ビットのように
多ビット化されている。そのため、演算器32の演算時
間が増加してきており、ゼロ検出時間が増大してきてい
る。CPUがゼロフラグレジスタ34の内容を参照する
場合に、ゼロフラグレジスタ34の内容が確定していな
いと、CPUは誤動作することとなる。従って、CPU
の動作速度はゼロ検出の時間によって定められ、CPU
の動作速度の高速化を図る上で障害となっていた。
【0005】本発明は上記問題点を解決するためになさ
れたものであって、その目的は、演算処理と並行してゼ
ロ検出を行うことにより、ゼロ検出時間を短縮できる演
算装置を提供することにある。
れたものであって、その目的は、演算処理と並行してゼ
ロ検出を行うことにより、ゼロ検出時間を短縮できる演
算装置を提供することにある。
【0006】
【課題を解決するための手段】本発明は上記目的を達成
するため、第1及び第2の2進数を入力して加減算又は
論理演算を行う演算器と、第1及び第2の2進数を入力
し、演算器の演算結果がゼロになるかどうかを検出する
ゼロ検出器とを設けた構成とした。
するため、第1及び第2の2進数を入力して加減算又は
論理演算を行う演算器と、第1及び第2の2進数を入力
し、演算器の演算結果がゼロになるかどうかを検出する
ゼロ検出器とを設けた構成とした。
【0007】
【作用】本発明によれば、演算器によって演算処理が行
われる。この演算結果がゼロになるかどうかの検出が演
算処理に並行してゼロ検出器により行われる。そのた
め、ゼロ検出時間が短縮化される。
われる。この演算結果がゼロになるかどうかの検出が演
算処理に並行してゼロ検出器により行われる。そのた
め、ゼロ検出時間が短縮化される。
【0008】
【実施例】以下、本発明をCPUにおける演算装置に具
体化した一実施例を図1〜図4に従って説明する。
体化した一実施例を図1〜図4に従って説明する。
【0009】図1には本実施例の演算装置1が示されて
いる。演算装置1は演算器2、第1,第2のゼロ検出器
3,4、セレクタ5及びゼロフラグレジスタ6を備えて
いる。
いる。演算装置1は演算器2、第1,第2のゼロ検出器
3,4、セレクタ5及びゼロフラグレジスタ6を備えて
いる。
【0010】演算器2はビットA1〜A8(A8が最上
位ビット)からなる2進数Aを入力するとともに、ビッ
トB1〜B8(B8が最上位ビット)からなる2進数B
を入力する。演算器2は2進数A,Bの各ビットの加算
または論理演算を行い、ビットC1〜C8(C8が最上
位ビット)からなる演算結果Cを出力する。
位ビット)からなる2進数Aを入力するとともに、ビッ
トB1〜B8(B8が最上位ビット)からなる2進数B
を入力する。演算器2は2進数A,Bの各ビットの加算
または論理演算を行い、ビットC1〜C8(C8が最上
位ビット)からなる演算結果Cを出力する。
【0011】ゼロ検出器3は図6に示すゼロ検出器33
と同様の構成である。ゼロ検出器3はビットC1〜C8
を入力し、演算結果Cがゼロであるかどうかを検出し、
その検出結果をセレクタ5に出力する。
と同様の構成である。ゼロ検出器3はビットC1〜C8
を入力し、演算結果Cがゼロであるかどうかを検出し、
その検出結果をセレクタ5に出力する。
【0012】ゼロ検出器4は前記演算器2と並列に設け
られ、前記2進数A,Bを入力する。検出器4は演算器
2の演算処理と並行して、2進数A,Bに基づいて前記
演算結果Cがゼロであるかどうかを検出する。検出器4
はその検出結果をセレクタ5に出力する。
られ、前記2進数A,Bを入力する。検出器4は演算器
2の演算処理と並行して、2進数A,Bに基づいて前記
演算結果Cがゼロであるかどうかを検出する。検出器4
はその検出結果をセレクタ5に出力する。
【0013】セレクタ5には外部から制御信号CSGが
入力されている。前記演算器2の演算処理が加減算のと
き、制御信号CSGは「1」となり、演算器2の演算処
理が論理演算又はシフト演算のとき、制御信号CSGは
「0」となる。制御信号CSGが「1」のとき、セレク
タ5は検出器4の検出結果をゼロフラグレジスタ6に格
納する。制御信号CSGが「0」のとき、セレクタ5は
検出器3の検出結果をゼロフラグレジスタ6に格納す
る。
入力されている。前記演算器2の演算処理が加減算のと
き、制御信号CSGは「1」となり、演算器2の演算処
理が論理演算又はシフト演算のとき、制御信号CSGは
「0」となる。制御信号CSGが「1」のとき、セレク
タ5は検出器4の検出結果をゼロフラグレジスタ6に格
納する。制御信号CSGが「0」のとき、セレクタ5は
検出器3の検出結果をゼロフラグレジスタ6に格納す
る。
【0014】図2には前記ゼロ検出器4の詳細が示され
ている。ゼロ検出器4は、排他的論理和回路(以下、E
OR回路という)11a1〜11a8と、反転回路(以
下、NOT回路という)13a2〜13a8,15a2
〜15a8と、否定論理和回路(以下、NOR回路とい
う)12a1〜12a7と、セレクタ14a2〜14a
8と、オールゼロ検出回路16とからなる。
ている。ゼロ検出器4は、排他的論理和回路(以下、E
OR回路という)11a1〜11a8と、反転回路(以
下、NOT回路という)13a2〜13a8,15a2
〜15a8と、否定論理和回路(以下、NOR回路とい
う)12a1〜12a7と、セレクタ14a2〜14a
8と、オールゼロ検出回路16とからなる。
【0015】EOR回路11a1は2進数A,Bの最下
位桁のビットA1,B1をそれぞれ入力し、その論理演
算を行う。EOR回路11a1は演算結果S1をオール
ゼロ検出回路16に出力する。図3に示すように、EO
R回路11a1はAND回路20と、NOR回路21,
22とからなる。AND回路20にはビットA1,B1
が入力され、その出力はNOR回路22の一方の入力端
子に出力されている。NOR回路21はAND回路20
と並列に接続されている。NOR回路21はビットA
1,B1を入力し、その出力はNOR回路22の他方の
入力端子に出力されている。
位桁のビットA1,B1をそれぞれ入力し、その論理演
算を行う。EOR回路11a1は演算結果S1をオール
ゼロ検出回路16に出力する。図3に示すように、EO
R回路11a1はAND回路20と、NOR回路21,
22とからなる。AND回路20にはビットA1,B1
が入力され、その出力はNOR回路22の一方の入力端
子に出力されている。NOR回路21はAND回路20
と並列に接続されている。NOR回路21はビットA
1,B1を入力し、その出力はNOR回路22の他方の
入力端子に出力されている。
【0016】従って、ビットA1,B1が共に「1」又
は共に「0」のとき、AND回路20及びNOR回路2
1の出力はそれぞれ「1」,「0」となる。その結果、
NOR回路22の出力S1は「0」となる。また、ビッ
トA1,B1の一方が「0」で、他方が「1」のとき、
AND回路20及びNOR回路21の出力は共に「0」
となる。その結果、NOR回路22の出力S1は「1」
となる。
は共に「0」のとき、AND回路20及びNOR回路2
1の出力はそれぞれ「1」,「0」となる。その結果、
NOR回路22の出力S1は「0」となる。また、ビッ
トA1,B1の一方が「0」で、他方が「1」のとき、
AND回路20及びNOR回路21の出力は共に「0」
となる。その結果、NOR回路22の出力S1は「1」
となる。
【0017】EOR回路11a2〜11a8はEOR回
路11a1と同様に2進数A,Bの同一桁のビットA
2,B2、A3,B3、A4,B4、A5,B5、A
6,B6、A7,B7、A8,B8をそれぞれ入力し、
その論理演算を行う。EOR回路11a2〜11a8は
演算結果S20,S30,S40,S50,S60,S
70,S80をセレクタ14a2〜14a8の入力端子
Bに出力する。
路11a1と同様に2進数A,Bの同一桁のビットA
2,B2、A3,B3、A4,B4、A5,B5、A
6,B6、A7,B7、A8,B8をそれぞれ入力し、
その論理演算を行う。EOR回路11a2〜11a8は
演算結果S20,S30,S40,S50,S60,S
70,S80をセレクタ14a2〜14a8の入力端子
Bに出力する。
【0018】NOT回路13a2〜13a8は前記EO
R回路11a2〜11a8の出力をそれぞれ入力し、反
転した信号バーS20,バーS30,バーS40,バー
S50,バーS60,バーS70,バーS80をセレク
タ14a2〜14a8の入力端子Bにそれぞれ出力す
る。
R回路11a2〜11a8の出力をそれぞれ入力し、反
転した信号バーS20,バーS30,バーS40,バー
S50,バーS60,バーS70,バーS80をセレク
タ14a2〜14a8の入力端子Bにそれぞれ出力す
る。
【0019】NOR回路12a1〜12a7は前記EO
R回路11a1〜11a7にそれぞれ並列に接続されて
いる。NOR回路12a1〜12a7は2進数A,Bの
同一桁のビットA1,B1、A2,B2、A3,B3、
A4,B4、A5,B5、A6,B6、A7,B7をそ
れぞれ入力し、その論理演算を行う。NOR回路12a
1〜12a7はその演算結果を選択信号SL1〜SL7
としてセレクタ14a2〜14a8の制御端子Cにそれ
ぞれ出力する。
R回路11a1〜11a7にそれぞれ並列に接続されて
いる。NOR回路12a1〜12a7は2進数A,Bの
同一桁のビットA1,B1、A2,B2、A3,B3、
A4,B4、A5,B5、A6,B6、A7,B7をそ
れぞれ入力し、その論理演算を行う。NOR回路12a
1〜12a7はその演算結果を選択信号SL1〜SL7
としてセレクタ14a2〜14a8の制御端子Cにそれ
ぞれ出力する。
【0020】セレクタ14a2は図4に示すようにAN
D回路23,24とOR回路25とからなる。AND回
路23は反転信号バーS20を入力するとともに、選択
信号SL1を入力している。AND回路24は信号S2
0を入力するとともに、選択信号SL1を反転入力端子
に入力している。OR回路25はAND回路23,24
の出力信号を入力している。従って、選択信号SL1が
「1」のときには、反転信号バーS20がAND回路2
3及びOR回路25を介して出力される。逆に、選択信
号SL1が「0」のときには、信号S20がAND回路
24及びOR回路25を介して出力される。
D回路23,24とOR回路25とからなる。AND回
路23は反転信号バーS20を入力するとともに、選択
信号SL1を入力している。AND回路24は信号S2
0を入力するとともに、選択信号SL1を反転入力端子
に入力している。OR回路25はAND回路23,24
の出力信号を入力している。従って、選択信号SL1が
「1」のときには、反転信号バーS20がAND回路2
3及びOR回路25を介して出力される。逆に、選択信
号SL1が「0」のときには、信号S20がAND回路
24及びOR回路25を介して出力される。
【0021】セレクタ14a3〜14a8は前記セレク
タ14a2と同一の構成である。セレクタ14a3〜1
4a8は選択信号SL2〜SL7が「1」の場合には反
転信号バーS30,バーS40,バーS50,バーS6
0,バーS70,バーS80をそれぞれ選択して出力す
る。セレクタ14a3〜14a8は選択信号SL2〜S
L7が「0」の場合には信号S30,S40,S50,
S60,S70,S80を選択して出力する。
タ14a2と同一の構成である。セレクタ14a3〜1
4a8は選択信号SL2〜SL7が「1」の場合には反
転信号バーS30,バーS40,バーS50,バーS6
0,バーS70,バーS80をそれぞれ選択して出力す
る。セレクタ14a3〜14a8は選択信号SL2〜S
L7が「0」の場合には信号S30,S40,S50,
S60,S70,S80を選択して出力する。
【0022】NOT回路15a2〜15a8は前記セレ
クタ14a2〜14a8の出力をそれぞれ入力し、反転
した信号を演算結果S2〜S8としてオールゼロ検出回
路16に出力する。
クタ14a2〜14a8の出力をそれぞれ入力し、反転
した信号を演算結果S2〜S8としてオールゼロ検出回
路16に出力する。
【0023】オールゼロ検出回路16は図6に示すゼロ
検出器33と同様の構成である。オールゼロ検出回路1
6は演算結果CのビットC1〜C8に代えて、演算結果
S1〜S8を入力している点において前記ゼロ検出器3
3と異なっている。オールゼロ検出回路16は演算結果
S1〜S8を入力し、すべての演算結果S1〜S8が
「0」であるかどうかを検出することによって、演算結
果Cがゼロであるかどうかを検出する。
検出器33と同様の構成である。オールゼロ検出回路1
6は演算結果CのビットC1〜C8に代えて、演算結果
S1〜S8を入力している点において前記ゼロ検出器3
3と異なっている。オールゼロ検出回路16は演算結果
S1〜S8を入力し、すべての演算結果S1〜S8が
「0」であるかどうかを検出することによって、演算結
果Cがゼロであるかどうかを検出する。
【0024】さて、演算器2において2進数A,Bの加
減算の結果がゼロであるためには、以下の表1に示され
る条件が必要となる。
減算の結果がゼロであるためには、以下の表1に示され
る条件が必要となる。
【0025】
【表1】
【0026】表1において、(1)の場合には、2進数
A,Bのすべてのビットが「0」である。(2),
(3)の場合には、2進数Bは、2進数Aの反転データ
に「1」を加算した値である。従って、2進数A,Bの
ある同一桁のビットが共に「1」になっていると、2進
数A,Bにおける当該ビットより下位のビットはすべて
「0」でなければならない。これと同時に、2進数A,
Bにおける当該ビットより上位のビットは、いずれか一
方が「1」で、他方が「0」でなければならない。
A,Bのすべてのビットが「0」である。(2),
(3)の場合には、2進数Bは、2進数Aの反転データ
に「1」を加算した値である。従って、2進数A,Bの
ある同一桁のビットが共に「1」になっていると、2進
数A,Bにおける当該ビットより下位のビットはすべて
「0」でなければならない。これと同時に、2進数A,
Bにおける当該ビットより上位のビットは、いずれか一
方が「1」で、他方が「0」でなければならない。
【0027】従って、2進数A,Bの同一桁のビット
は、以下の表2に示す論理で処理されることが必要とな
る。
は、以下の表2に示す論理で処理されることが必要とな
る。
【0028】
【表2】
【0029】例えば、2進数A,Bとして表1の(3)
における「10101010」と「01010110」
とが入力される。このとき、演算器2における演算が2
進数A,Bの加減算であると、制御信号CSGは「1」
となる。そのため、セレクタ5によりゼロ検出器4の検
出結果が選択されてゼロフラグレジスタ6に格納され
る。
における「10101010」と「01010110」
とが入力される。このとき、演算器2における演算が2
進数A,Bの加減算であると、制御信号CSGは「1」
となる。そのため、セレクタ5によりゼロ検出器4の検
出結果が選択されてゼロフラグレジスタ6に格納され
る。
【0030】まず、ビットA1,B1として「0」,
「0」がEOR回路11a1及びNOR回路12a1に
入力される。そのため、EOR回路11a1の演算結果
S1は「0」となり、NOR回路12a1の選択信号S
L1は「1」となる。
「0」がEOR回路11a1及びNOR回路12a1に
入力される。そのため、EOR回路11a1の演算結果
S1は「0」となり、NOR回路12a1の選択信号S
L1は「1」となる。
【0031】ビットA2,B2として「1」,「1」が
EOR回路11a2に入力される。そのため、信号S2
0は「0」となり、反転信号バーS20は「1」とな
る。このとき、選択信号SL1が「1」であるため、セ
レクタ14a2により「1」である反転信号バーS20
が選択されて出力される。反転信号バーS20はNOT
回路15a2により反転されるため、演算結果S2は
「0」となる。また、ビットA2,B2がそれぞれ
「1」,「1」であるため、選択信号SL2は「0」と
なる。
EOR回路11a2に入力される。そのため、信号S2
0は「0」となり、反転信号バーS20は「1」とな
る。このとき、選択信号SL1が「1」であるため、セ
レクタ14a2により「1」である反転信号バーS20
が選択されて出力される。反転信号バーS20はNOT
回路15a2により反転されるため、演算結果S2は
「0」となる。また、ビットA2,B2がそれぞれ
「1」,「1」であるため、選択信号SL2は「0」と
なる。
【0032】次に、ビットA3,B3として「0」,
「1」がEOR回路11a3に入力される。そのため、
信号S30は「1」となり、反転信号バーS30は
「0」となる。このとき、選択信号SL2が「0」であ
るため、セレクタ14a3により「1」である信号S3
0が選択されて出力される。信号S30はNOT回路1
5a3により反転されるため、演算結果S3は「0」と
なる。また、ビットA3,B3がそれぞれ「0」,
「1」であるため、選択信号SL3は「0」となる。
「1」がEOR回路11a3に入力される。そのため、
信号S30は「1」となり、反転信号バーS30は
「0」となる。このとき、選択信号SL2が「0」であ
るため、セレクタ14a3により「1」である信号S3
0が選択されて出力される。信号S30はNOT回路1
5a3により反転されるため、演算結果S3は「0」と
なる。また、ビットA3,B3がそれぞれ「0」,
「1」であるため、選択信号SL3は「0」となる。
【0033】これ以降、ビットA4,B4〜最上位ビッ
トA8,B8までのそれぞれ同一桁のビットは、一方が
「0」で他方が「1」となり、ビットA3,B3と条件
が同一となる。そのため、セレクタ14a4〜14a8
の出力はすべて「1」となり、演算結果S4〜S8はす
べて「0」となる。
トA8,B8までのそれぞれ同一桁のビットは、一方が
「0」で他方が「1」となり、ビットA3,B3と条件
が同一となる。そのため、セレクタ14a4〜14a8
の出力はすべて「1」となり、演算結果S4〜S8はす
べて「0」となる。
【0034】従って、オールゼロ検出回路16の8ビッ
トの入力はすべて「0」となる。そのため、検出回路1
6の出力信号ZFは「1」となり、ゼロフラグレジスタ
6には演算結果Cがゼロであることを示す「1」が格納
される。
トの入力はすべて「0」となる。そのため、検出回路1
6の出力信号ZFは「1」となり、ゼロフラグレジスタ
6には演算結果Cがゼロであることを示す「1」が格納
される。
【0035】また、2進数A,Bが入力されたとき、演
算器2における演算が論理演算又はシフト演算である
と、制御信号CSGは「0」となる。そのため、セレク
タ5によりゼロ検出器3の検出結果が選択されてゼロフ
ラグレジスタ6に格納される。すなわち、論理演算又は
シフト演算に対する演算器2の動作速度が、加減算に対
するそれと比較して高速であるために、演算結果Cから
のゼロ検出が可能となる。
算器2における演算が論理演算又はシフト演算である
と、制御信号CSGは「0」となる。そのため、セレク
タ5によりゼロ検出器3の検出結果が選択されてゼロフ
ラグレジスタ6に格納される。すなわち、論理演算又は
シフト演算に対する演算器2の動作速度が、加減算に対
するそれと比較して高速であるために、演算結果Cから
のゼロ検出が可能となる。
【0036】演算器2により2進数A,Bの演算が実行
されて演算結果Cが出力されると、ゼロ検出器3は演算
器2の演算結果CのビットC1〜C8を入力し、この演
算結果Cがゼロであるかどうかを検出する。この検出結
果がゼロフラグレジスタ6に格納される。
されて演算結果Cが出力されると、ゼロ検出器3は演算
器2の演算結果CのビットC1〜C8を入力し、この演
算結果Cがゼロであるかどうかを検出する。この検出結
果がゼロフラグレジスタ6に格納される。
【0037】このように、本実施例の演算装置1では、
演算器2が2進数A,Bの加減算を実行している間に、
ゼロ検出器4が2進数A,Bに基づいて演算結果Cがゼ
ロであるかどうかを検出する。そのため、ゼロ検出のた
めの時間を、演算器2の出力結果からゼロ検出を行うよ
りも短縮化でき、演算装置1を含むCPUの動作速度を
高速化することができる。特に、近年のように、演算器
2が扱う2進数A,Bのビット数が増加しても、ゼロ検
出のための時間を短縮化することができる。
演算器2が2進数A,Bの加減算を実行している間に、
ゼロ検出器4が2進数A,Bに基づいて演算結果Cがゼ
ロであるかどうかを検出する。そのため、ゼロ検出のた
めの時間を、演算器2の出力結果からゼロ検出を行うよ
りも短縮化でき、演算装置1を含むCPUの動作速度を
高速化することができる。特に、近年のように、演算器
2が扱う2進数A,Bのビット数が増加しても、ゼロ検
出のための時間を短縮化することができる。
【0038】なお、セレクタは図5に示すように、トラ
ンジスタにより構成してもよい。セレクタ26はNMO
SトランジスタT1及びPMOSトランジスタT2より
なるトランスミッションゲートと、NMOSトランジス
タT3及びPMOSトランジスタT4よりなるトランス
ミッションゲートと、NOT回路27とで構成されてい
る。トランジスタT1,T4のゲートには前記選択信号
SL1が入力され、トランジスタT2,T3のゲートに
はNOT回路27を介して選択信号SL1の反転信号が
入力されている。トランジスタT1,T2よりなるトラ
ンスミッションゲートには前記反転信号バーS20が入
力され、トランジスタT3,T4よりなるトランスミッ
ションゲートには前記信号S20が入力されている。両
トランスミッションゲートは出力側において接続されて
いる。
ンジスタにより構成してもよい。セレクタ26はNMO
SトランジスタT1及びPMOSトランジスタT2より
なるトランスミッションゲートと、NMOSトランジス
タT3及びPMOSトランジスタT4よりなるトランス
ミッションゲートと、NOT回路27とで構成されてい
る。トランジスタT1,T4のゲートには前記選択信号
SL1が入力され、トランジスタT2,T3のゲートに
はNOT回路27を介して選択信号SL1の反転信号が
入力されている。トランジスタT1,T2よりなるトラ
ンスミッションゲートには前記反転信号バーS20が入
力され、トランジスタT3,T4よりなるトランスミッ
ションゲートには前記信号S20が入力されている。両
トランスミッションゲートは出力側において接続されて
いる。
【0039】従って、選択信号SL1が「1」のときに
は、トランジスタT1,T2がオンし、セレクタ26か
ら反転信号バーS20が出力される。逆に、選択信号S
L1が「0」のときには、トランジスタT3,T4がオ
ンし、セレクタ26から信号S20が出力される。
は、トランジスタT1,T2がオンし、セレクタ26か
ら反転信号バーS20が出力される。逆に、選択信号S
L1が「0」のときには、トランジスタT3,T4がオ
ンし、セレクタ26から信号S20が出力される。
【0040】この実施例では4つのトランジスタT1〜
T4とNOT回路27とでセレクタを構成でき、セレク
タの小型化を図ることができる。
T4とNOT回路27とでセレクタを構成でき、セレク
タの小型化を図ることができる。
【0041】
【発明の効果】以上詳述したように、本発明によれば、
演算処理と並行してゼロ検出を行うことにより、ゼロ検
出時間を短縮化できる優れた効果がある。
演算処理と並行してゼロ検出を行うことにより、ゼロ検
出時間を短縮化できる優れた効果がある。
【図1】本発明を具体化した一実施例の演算装置を示す
ブロック図である。
ブロック図である。
【図2】図1のゼロ検出回路を示す論理回路図である。
【図3】図2のEOR回路の詳細を示す論理回路図であ
る。
る。
【図4】図2のセレクタを示す論理回路図である。
【図5】トランジスタで構成した別のセレクタを示す回
路図である。
路図である。
【図6】従来の演算装置を示すブロック図である。
【図7】図6のゼロ検出回路を示す論理回路図である。
2 演算器 4 ゼロ検出器 11a1〜11a8 排他的論理和回路 13a2〜13a8 反転回路 12a1〜12a7 否定論理和回路 14a2〜14a8 セレクタ 16 オールゼロ検出回路 A 第1の2進数 B 第2の2進数 C 演算結果
Claims (3)
- 【請求項1】 第1及び第2の2進数(A,B)を入力
して加減算を行う演算器(2)と、 前記第1及び第2の2進数(A,B)を入力し、前記演
算器(2)の演算結果(C)がゼロになるかどうかを検
出するゼロ検出器(4)とを備えることを特徴とする演
算装置。 - 【請求項2】 前記ゼロ検出器(4)は、 前記第1及び第2の2進数(A,B)の同一桁のビット
を入力して論理演算を行う複数の排他的論理和回路(1
1a1〜11a8)と、 前記複数の排他的論理和回路(11a2〜11a8)の
出力をそれぞれ入力して反転した信号を出力する複数の
反転回路(13a2〜13a8)と、 前記第1及び第2の2進数(A,B)の同一桁のビット
を入力して論理演算を行う複数の否定論理和回路(12
a1〜12a7)と、 前記各排他的論理和回路(11a2〜11a8)の出力
を入力するとともに、当該排他的論理和回路(11a2
〜11a8)に対応する反転回路(13a2〜13a
8)の出力を入力し、当該ビットの一桁下位のビットに
対応する否定論理和回路(12a1〜12a7)の出力
が論理壱であるときには反転回路の出力を選択し、出力
が論理零であるときには排他的論理和回路の出力を選択
して出力する複数のセレクタ(14a2〜14a8)
と、 前記すべてのセレクタ(14a2〜14a8)の出力が
論理零であるかどうかを判定することによって前記演算
結果(C)がゼロであることを検出するオールゼロ検出
回路(16)とを備えることを特徴とする請求項1に記
載の演算装置。 - 【請求項3】 前記セレクタは、前記第1の2進数
(A)のビットと前記否定論理和回路の出力とを入力す
る第1のAND回路(23)と、 前記第2の2進数(B)のビットと前記否定論理和回路
の反転出力とを入力する第2のAND回路(24)と、 前記第1及び第2のAND回路(23,24)の出力を
入力するOR回路(25)とからなることを特徴とする
請求項1又は2に記載の演算装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5330872A JPH07191831A (ja) | 1993-12-27 | 1993-12-27 | 演算装置 |
| US08/309,142 US5561619A (en) | 1993-12-27 | 1994-09-20 | Arithmetic logic unit provided with combinational circuit and zero value detector connected in parallel |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5330872A JPH07191831A (ja) | 1993-12-27 | 1993-12-27 | 演算装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07191831A true JPH07191831A (ja) | 1995-07-28 |
Family
ID=18237461
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5330872A Withdrawn JPH07191831A (ja) | 1993-12-27 | 1993-12-27 | 演算装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5561619A (ja) |
| JP (1) | JPH07191831A (ja) |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2293469A (en) * | 1994-09-22 | 1996-03-27 | Secr Defence | Error detection in arithmetic circuit. |
| US5798958A (en) * | 1996-06-05 | 1998-08-25 | Samsung Electronics Co., Ltd. | Zero detect for binary sum |
| US6018757A (en) * | 1996-08-08 | 2000-01-25 | Samsung Electronics Company, Ltd. | Zero detect for binary difference |
| JPH1091441A (ja) * | 1996-09-13 | 1998-04-10 | Sanyo Electric Co Ltd | プログラム実行方法およびその方法を利用した装置 |
| US5862066A (en) * | 1997-05-01 | 1999-01-19 | Hewlett-Packard Company | Methods and apparatus for fast check of floating point zero or negative zero |
| US5978825A (en) * | 1997-11-14 | 1999-11-02 | Crystal Semiconductor Corp. | Zero detection circuitry and methods |
| US6108678A (en) * | 1998-05-05 | 2000-08-22 | Mentor Graphics Corporation | Method and apparatus to detect a floating point mantissa of all zeros or all ones |
| GB2342729B (en) * | 1998-06-10 | 2003-03-12 | Lsi Logic Corp | Zero detection in digital processing |
| US7047272B2 (en) * | 1998-10-06 | 2006-05-16 | Texas Instruments Incorporated | Rounding mechanisms in processors |
| US7003543B2 (en) * | 2001-06-01 | 2006-02-21 | Microchip Technology Incorporated | Sticky z bit |
| US6976158B2 (en) | 2001-06-01 | 2005-12-13 | Microchip Technology Incorporated | Repeat instruction with interrupt |
| US7007172B2 (en) | 2001-06-01 | 2006-02-28 | Microchip Technology Incorporated | Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection |
| US6985986B2 (en) | 2001-06-01 | 2006-01-10 | Microchip Technology Incorporated | Variable cycle interrupt disabling |
| US7020788B2 (en) | 2001-06-01 | 2006-03-28 | Microchip Technology Incorporated | Reduced power option |
| US6934728B2 (en) | 2001-06-01 | 2005-08-23 | Microchip Technology Incorporated | Euclidean distance instructions |
| US6937084B2 (en) | 2001-06-01 | 2005-08-30 | Microchip Technology Incorporated | Processor with dual-deadtime pulse width modulation generator |
| US7467178B2 (en) | 2001-06-01 | 2008-12-16 | Microchip Technology Incorporated | Dual mode arithmetic saturation processing |
| US6975679B2 (en) | 2001-06-01 | 2005-12-13 | Microchip Technology Incorporated | Configuration fuses for setting PWM options |
| US20020184566A1 (en) | 2001-06-01 | 2002-12-05 | Michael Catherwood | Register pointer trap |
| US6952711B2 (en) | 2001-06-01 | 2005-10-04 | Microchip Technology Incorporated | Maximally negative signed fractional number multiplication |
| US20060184603A1 (en) * | 2005-02-11 | 2006-08-17 | Trong Son D | Zero detect in partial sums while adding |
| US8015230B2 (en) * | 2007-06-08 | 2011-09-06 | Apple Inc. | Fast modular zero sum and ones sum determination |
| US10790829B2 (en) | 2018-09-27 | 2020-09-29 | Intel Corporation | Logic circuits with simultaneous dual function capability |
| CN111384944B (zh) * | 2018-12-28 | 2022-08-09 | 上海寒武纪信息科技有限公司 | 全加器、半加器、数据处理方法、芯片及电子设备 |
| US10715144B2 (en) | 2019-06-06 | 2020-07-14 | Intel Corporation | Logic circuits with augmented arithmetic densities |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3983382A (en) * | 1975-06-02 | 1976-09-28 | International Business Machines Corporation | Adder with fast detection of sum equal to zeroes or radix minus one |
| US4815019A (en) * | 1987-02-26 | 1989-03-21 | Texas Instruments Incorporated | Fast ALU equals zero circuit |
| US4947359A (en) * | 1988-02-17 | 1990-08-07 | International Business Machines Corporation | Apparatus and method for prediction of zero arithmetic/logic results |
| JPH01277931A (ja) * | 1988-04-29 | 1989-11-08 | Nec Ic Microcomput Syst Ltd | 零検出回路 |
| US5367477A (en) * | 1993-11-29 | 1994-11-22 | Motorola, Inc. | Method and apparatus for performing parallel zero detection in a data processing system |
-
1993
- 1993-12-27 JP JP5330872A patent/JPH07191831A/ja not_active Withdrawn
-
1994
- 1994-09-20 US US08/309,142 patent/US5561619A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US5561619A (en) | 1996-10-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5561619A (en) | Arithmetic logic unit provided with combinational circuit and zero value detector connected in parallel | |
| US4707800A (en) | Adder/substractor for variable length numbers | |
| US6173300B1 (en) | Method and circuit for determining leading or trailing zero count | |
| GB2401962A (en) | A sum bit generation circuit | |
| Vasudevan et al. | A technique for modular design of self-checking carry-select adder | |
| JPH04350724A (ja) | シフト量検出回路 | |
| JPH02239324A (ja) | シフト回路 | |
| JP3331217B2 (ja) | ファジィ論理演算子の実現のためのデジタル論理回路装置 | |
| JP3640643B2 (ja) | べき数エンコーダ回路及びマスク回路 | |
| KR100567643B1 (ko) | 제로 판정 신호 생성 회로 | |
| JP4204482B2 (ja) | ゼロ検出で速い計算が可能なインクリメンタ及びその方法 | |
| JP2518081B2 (ja) | プライオリテイ検出回路 | |
| JP2615746B2 (ja) | ビット操作回路 | |
| EP0704793B1 (en) | Method and circuit to compare the sum of two numbers to a third number | |
| JP2005085168A (ja) | プライオリティ回路 | |
| JPH0417026A (ja) | データクリップ装置 | |
| JPH02112773A (ja) | ディジタル回路のハザードチェック方式 | |
| JPH03189736A (ja) | 選択回路の障害検出方式 | |
| JPH0879056A (ja) | 論理回路 | |
| JPH04148231A (ja) | 演算回路 | |
| JPH04188223A (ja) | ビット演算器 | |
| JPH04313162A (ja) | 論理シミュレーション装置 | |
| JPS58154066A (ja) | 径算出回路 | |
| JP2000277692A (ja) | 論理回路及びプロセッサ装置 | |
| JPH03176733A (ja) | 加減算器のオーバーフロー検出回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20010306 |