JP2003216418A - 演算回路 - Google Patents

演算回路

Info

Publication number
JP2003216418A
JP2003216418A JP2002016827A JP2002016827A JP2003216418A JP 2003216418 A JP2003216418 A JP 2003216418A JP 2002016827 A JP2002016827 A JP 2002016827A JP 2002016827 A JP2002016827 A JP 2002016827A JP 2003216418 A JP2003216418 A JP 2003216418A
Authority
JP
Japan
Prior art keywords
result
flag
calculation
carry
holding
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
Application number
JP2002016827A
Other languages
English (en)
Inventor
Tomoki Miyano
知己 宮野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Oki Micro Design Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Oki Micro Design Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd, Oki Micro Design Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2002016827A priority Critical patent/JP2003216418A/ja
Priority to US10/269,856 priority patent/US7010562B2/en
Publication of JP2003216418A publication Critical patent/JP2003216418A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • G06F7/5095Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators word-serial, i.e. with an accumulator-register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 追加の処理を必要とせずに全体の演算結果を
反映した状態情報が得られる演算回路を提供する。 【解決手段】 レジスタR0,X0に格納された下位ビ
ットが加減算器ALUで加算され、その結果がレジスタ
R0に格納され、桁上がりがCフラグF1にセットされ
る。NORゲートG1で加算結果が0であるか否かが判
定され、セレクタS3を介してZフラグF2がセットさ
れる。続いて、レジスタR1,X1に格納された上位ビ
ットとCフラグF1が加算され、その結果がレジスタR
1に格納され、桁上がりがCフラグF1にセットされ
る。NORゲートG1で加算結果が0であるか否かが判
定され、ANDゲートG2によってこの判定結果とZフ
ラグF2の保持内容の論理積がとられ、その出力信号が
セレクタS3を介してZフラグF2に与えられる。これ
により、全桁の加算結果がZフラグF2に反映される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サ等に設けられる演算回路に関するものである。
【0002】
【従来の技術】従来、例えば8ビット幅の演算回路を用
いて16ビット幅のデータA,Bの加算を行い、その加
算結果のデータCを得る場合、次のような手順で加算処
理を行っていた。
【0003】(手順1) データA,Bのそれぞれの下
位8ビットを演算回路に入力し、加算命令を実行する。
これにより、演算回路からデータCの下位8ビットが出
力されると共に、桁上がりがあればCフラグが“1”に
セットされる。また、データCの下位8ビットの値が0
であれば、Zフラグが“1”にセットされる。
【0004】(手順2) データA,Bのそれぞれの上
位8ビットを演算回路に入力し、キャリー付き加算命令
を実行する。これにより、演算回路からデータCの上位
8ビットが出力されると共に、桁上がりがあればCフラ
グが“1”にセットされる。また、Zフラグの値は、デ
ータCの上位8ビットの値が0であれば“1”にセット
され、0でなければ“0”にセットされる。
【0005】この結果、手順1で得られたデータCの下
位8ビットと、手順2で得られたデータCの上位8ビッ
ト及びCフラグの値により、桁上がりを含めて17ビッ
トの加算結果のデータCが得られる。
【0006】
【発明が解決しようとする課題】しかしながら、従来の
演算回路では、次のような課題があった。最終的に手順
2の結果としてセットされるZフラグの値は、データC
の上位8ビットの値が0であるか否かを示すもので、加
算結果のデータCの16ビットの値が0であるか否かを
示すものではない。このため、加算結果が0であるか否
かを調べるためには、更に、例えば次のような手順を実
行する必要があった。
【0007】(手順3) 手順2でセットされたZフラ
グの値を調べ、“0”であれば加算結果は0でないと判
定する。Zフラグの値が“1”であれば、次の手順4を
実行する。
【0008】(手順4) 手順1で得られたデータCの
下位8ビットの値が、0であるか否かをチェックする。
具体的には、データCの下位8ビットに0を加算し、そ
の結果のZフラグの値が“1”であれば、データCの1
6ビットの値は0であると判定する。
【0009】このように、従来の演算回路では、その演
算回路のビット幅を越える数値の演算を分割して行う場
合に、最後の演算で得られるZフラグの値が全体の演算
結果に対応していない。このため、正しいZフラグの値
を得るために追加の処理を行う必要があり、プログラム
・ステップ数が多くなると共に処理時間が長くなるとい
う問題点があった。
【0010】同様に、例えば複数ビットのシフト演算を
行う場合に、1ビットのシフト処理を複数回繰り返す
と、最後のシフト処理の結果がCフラグにセットされて
残り、全体のシフト演算の結果がCフラグに反映されな
いという問題点があった。
【0011】本発明は、前記従来技術が持っていた課題
を解決し、追加の処理を必要とせずに、全体の演算結果
を反映した状態情報を得ることができる演算回路を提供
するものである。
【0012】
【課題を解決するための手段】前記課題を解決するため
に、本発明の内の第1の発明は、演算回路において、演
算命令に従って一定ビット幅の演算を行う演算手段と、
演算結果の状態情報を保持する保持手段と、前記保持手
段に保持された状態情報と現在の演算結果の状態情報に
論理和または論理積の論理演算処理を行う論理手段と、
前記演算命令に基づいた制御信号に従い、前記現在の演
算結果の状態情報または前記論理手段の出力信号のいず
れか一方を選択して前記保持手段に与える選択手段とを
備えている。
【0013】第1の発明によれば、以上のように演算回
路を構成したので、次のような作用が行われる。論理手
段において、現在の演算結果の状態情報と保持手段に保
持された状態情報との論理演算処理が行われる。制御信
号によって現在の演算結果の状態情報が選択されると、
この状態情報がそのまま保持手段に保持される。一方、
制御信号によって論理手段の出力信号が選択されると、
この論理手段で行われた論理演算処理の結果が保持手段
に保持される。これにより、保持手段は、連続する演算
結果の状態が反映された情報を保持することができる。
【0014】第2の発明は、演算回路において、演算命
令に従って一定ビット幅の演算を行う演算手段と、現在
の演算結果がゼロであるか否かを判定する判定手段と、
演算結果がゼロであるか否かを保持する保持手段と、前
記判定手段で判定された演算結果と前記保持手段に保持
された演算結果が共にゼロである場合にのみ、演算結果
がゼロであることを示す信号を出力する論理手段と、前
記演算命令に基づいた制御信号に従い、前記判定手段ま
たは前記論理手段のいずれか一方の出力信号を選択して
前記保持手段に与える選択手段とを備えている。
【0015】第2の発明によれば、次のような作用が行
われる。判定手段において、現在の演算結果がゼロであ
るか否かが判定される。また、論理手段において、判定
手段で判定された演算結果と保持手段に保持された演算
結果の論理演算処理が行われ、両者が共にゼロである場
合にのみ、演算結果がゼロであることを示す信号が出力
される。
【0016】制御信号によって判定手段が選択される
と、この判定手段から出力される現在の演算結果がゼロ
であるか否かの情報が保持手段に保持される。一方、制
御信号によって論理手段が選択されると、この論理手段
から出力される演算結果の累積がゼロであるか否かの情
報が保持手段に保持される。これにより、保持手段は、
連続する演算結果がすべてゼロであるか否かの情報を保
持することができる。
【0017】第3の発明は、演算回路において、演算命
令に従って一定ビット幅の演算を行う演算手段と、演算
結果に桁上がりがあるか否かを保持する保持手段と、前
記保持手段に保持された演算結果と現在の演算結果の少
なくとも一方に桁上がりがある場合に、演算結果に桁上
がりがあることを示す信号を出力する論理手段と、前記
演算命令に基づいた制御信号に従い、前記現在の演算結
果または前記論理手段のいずれか一方の出力信号を選択
して前記保持手段に与える選択手段とを備えている。
【0018】第3の発明によれば、次のような作用が行
われる。論理手段において、現在の演算結果と保持手段
に保持された演算結果の論理演算処理が行われ、少なく
とも一方に桁上がりがある場合に、演算結果に桁上がり
があることを示す信号が出力される。
【0019】制御信号によって現在の演算結果が選択さ
れると、現在の演算結果に桁上がりがあるか否かの情報
が保持手段に保持される。一方、制御信号によって論理
手段が選択されると、この論理手段から出力される演算
結果の累積に桁上がりがあるか否かの情報が保持手段に
保持される。これにより、保持手段は、連続する演算結
果において少なくとも1回桁上がりが発生したか否かの
情報を保持することができる。
【0020】
【発明の実施の形態】(第1の実施形態)図1は、本発
明の第1の実施形態を示す演算回路の構成図である。こ
の演算回路は、マイクロプロセッサ等において、8ビッ
トの加減算器を使用して16ビットの整数の加算及び減
算を行うもので、被加数(または、被減数)を設定して
演算後に加算(または、減算)結果が格納されるレジス
タ(REG)R0,R1と、加数(または、減数)を設
定するためのレジスタX0,X1を有している。レジス
タR0,R1,X0,X1は、いずれも8ビットのデー
タ幅を有しており、レジスタR0,X0に下位8ビット
が設定され、レジスタR1,X1に上位8ビットが設定
されるようになっている。
【0021】レジスタR0,R1に設定された8ビット
の値は、セレクタS1を介して演算手段(例えば、加減
算器)ALUの8ビットの入力端子Aに与えられ、レジ
スタX0,X1に設定された8ビットの値は、セレクタ
S2を介して加減算器ALUの8ビットの入力端子Bに
与えられるようになっている。加減算器ALUは、入力
端子A,Bの他、演算結果を出力する8ビットの出力端
子O、キャリー入力端子CI、及びキャリー出力端子C
Oを有し、制御信号CONに従って加算、減算、キャリ
ー付き加算、キャリー付き減算等を切り替えて実行でき
るようになっている。
【0022】加減算器ALUのキャリー出力端子COに
は、フリップフロップ等で構成されるCフラグ(CFL
G)F1の入力側が接続され、このCフラグF1の出力
側が加減算器ALUのキャリー入力端子CIに接続され
ている。また、加減算器ALUの出力端子Oは、8ビッ
ト幅のデータバスDBを介してレジスタR0,R1の入
力側に接続されると共に、判定手段(例えば、8入力の
否定的論理和(以下、「NOR」という)ゲート)G1
の入力側に接続されている。
【0023】NORゲートG1の出力側は、論理手段
(例えば、2入力の論理積(以下、「AND」という)
ゲート)G2の第1の入力側と、選択手段(例えば、セ
レクタ)S3の第1の入力側に接続されている。セレク
タS3の出力側は、フリップフロップ等で構成される保
持手段(例えば、Zフラグ(ZFLG))F2の入力側
に接続され、このZフラグF2の出力側がANDゲート
G2の第2の入力側に接続されている。
【0024】セレクタS1〜S3及び加減算器ALU
は、メモリMEMから順次読み出されて命令デコーダD
ECで解読される命令コードに従って、順次制御される
ようになっている。
【0025】図2(a),(b)は、図1の演算回路の
動作説明図であり、同図(a)は加算処理、及び同図
(b)は減算処理の一例を示している。以下、これらの
図2(a),(b)を参照しつつ、図1の動作を、加算
処理(1)及び減算処理(2)に分けて説明する。な
お、以下の動作は、予めメモリMEMに格納されている
一連のプログラムが命令デコーダDECによって順次解
読され、この命令デコーダDECの解読結果の制御信号
によって制御されるようになっている。
【0026】(1) 加算処理 ここでは、16進数FFFFh(但し、「h」は16進
表示を意味する)に、16進数0002hを加算する場
合を例に説明する。まず、図2(a)のステップS1に
示すように、レジスタR0,R1に被加数の下位8ビッ
ト(即ち、FFh)及び上位8ビット(即ち、FFh)
を、それぞれセットする。また、レジスタX0,X1に
加数の下位8ビット(即ち、02h)及び上位8ビット
(即ち、00h)を、それぞれセットする。
【0027】次に、セレクタS1,S2を、それぞれレ
ジスタR0,X0側に切り替えると共に、セレクタS3
をNORゲートG1側に切り替える。そして、加減算器
ALUに対して、加算演算を実行させるための制御信号
を出力する。これにより、図2(a)のステップS2に
示すように、加減算器ALUによってレジスタR0,X
0の値が加算され、その出力端子Oから加算結果の8ビ
ット(即ち、01h)が出力されてレジスタR0に格納
される。また、加減算器ALUのキャリー出力端子CO
から、桁上がりを示すキャリー信号が出力され、Cフラ
グF1が“1”にセットされる。更に、NORゲートG
1によって、出力端子Oから出力される8ビットの否定
的論理和がとられ、その結果(この場合は、“0”)が
セレクタS3を介してZフラグF2にセットされる。
【0028】その後、セレクタS1,S2を、それぞれ
レジスタR1,X1側に切り替えると共に、セレクタS
3をANDゲートG2側に切り替える。そして、加減算
器ALUに対して、キャリー付き加算演算を実行させる
ための制御信号を出力する。これにより、図2(a)の
ステップS3に示すように、加減算器ALUによってレ
ジスタR1,X1とCフラグF1の値が加算され、その
出力端子Oから加算結果の8ビット(即ち、00h)が
出力されてレジスタR1に格納される。また、加減算器
ALUのキャリー出力端子COから、桁上がりを示すキ
ャリー信号が出力されてCフラグF1が“1”にセット
される。
【0029】一方、NORゲートG1では、出力端子O
から出力される8ビットの否定的論理和がとられ、その
結果(この場合は、“1”)がANDゲートG2の第1
の入力側に与えられる。ANDゲートG2では、NOR
ゲートG1の出力信号と、ステップS2でZフラグF2
にセットされた値(即ち、“0”)との論理積がとら
れ、その結果の値(即ち、“0”)がZフラグF2に改
めてセットされる。
【0030】これにより、CフラグF1とレジスタR
1,R0に、17ビットの加算結果の値、10001h
が得られる。また、ZフラグF2には、“0”がセット
され、レジスタR1,R0の16ビットの値が0000
hでないことが表示される。
【0031】(2) 減算処理 ここでは、16進数0100hから、16進数0001
hを減算する場合を例に説明する。まず、図2(b)の
ステップS4に示すように、レジスタR0,R1に被減
数の下位8ビット(即ち、00h)及び上位8ビット
(即ち、01h)を、それぞれセットする。また、レジ
スタX0,X1に減数の下位8ビット(即ち、01h)
及び上位8ビット(即ち、00h)を、それぞれセット
する。
【0032】次に、セレクタS1,S2を、それぞれレ
ジスタR0,X0側に切り替えると共に、セレクタS3
をNORゲートG1側に切り替える。そして、加減算器
ALUに対して、減算演算を実行させるための制御信号
を出力する。これにより、図2(b)のステップS5に
示すように、加減算器ALUによってレジスタR0から
レジスタX0の値が減算され、その出力端子Oから減算
結果の8ビット(即ち、FFh)が出力されてレジスタ
R0に格納される。また、加減算器ALUのキャリー出
力端子COから、借りを示すボロー信号が出力され、C
フラグF1が“1”にセットされる。更に、NORゲー
トG1によって、出力端子Oから出力される8ビットの
否定的論理和がとられ、その結果(この場合は、
“0”)がセレクタS3を介してZフラグF2にセット
される。
【0033】その後、セレクタS1,S2を、それぞれ
レジスタR1,X1側に切り替えると共に、セレクタS
3をANDゲートG2側に切り替える。そして、加減算
器ALUに対して、キャリー付き減算演算を実行させる
ための制御信号を出力する。これにより、図2(b)の
ステップS6に示すように、加減算器ALUによってレ
ジスタR1から、レジスタX1とCフラグF1の値が減
算され、その出力端子Oから減算結果の8ビット(即
ち、00h)が出力されてレジスタR1に格納される。
また、加減算器ALUのキャリー出力端子COから、借
りを示すボロー信号は出力されずCフラグF1は“0”
にセットされる。
【0034】一方、NORゲートG1では、出力端子O
から出力される8ビットの否定的論理和がとられ、その
結果(この場合は、“1”)がANDゲートG2の第1
の入力側に与えられる。ANDゲートG2では、NOR
ゲートG1の出力信号と、ステップS5でZフラグF2
にセットされた値(即ち、“0”)と論理積がとられ、
その結果の値(即ち、“0”)がZフラグF2に改めて
セットされる。
【0035】これにより、CフラグF1とレジスタR
1,R0に、17ビットの減算結果の値、000FFh
が得られる。また、ZフラグF2には、“0”がセット
され、レジスタR1,R0の16ビットの値が0000
hでないことが表示される。
【0036】以上のように、この第1の実施形態の演算
回路は、キャリー付きの加算及び減算の場合に、直前に
行われた加減算の結果によるZフラグと今回の演算結果
で得られたZフラグの論理積に基づいて、新たなZフラ
グをセットするようにしている。これにより、追加の処
理を必要とせずに全体の演算結果を反映したZフラグの
値が得られるという利点がある。
【0037】(第2の実施形態)図3は、本発明の第2
の実施形態を示す演算回路の構成図であり、図1中の要
素と共通の要素には共通の符号が付されている。この演
算回路は、図1の演算回路に演算手段(例えば、シフト
部)SFT、セレクタS4,S5,S6、及び論理手段
(例えば、2入力の論理和(以下、「OR」という)ゲ
ート)G3を設けたものである。シフト部SFTは、セ
レクタS1で選択された8ビットのデータを1ビット単
位に左シフトするものである。即ち、シフト部SFT
は、命令デコーダDECから図示しない制御信号が与え
られると入力端子Iに与えられた8ビットのデータを左
に1ビットずつシフトするものである。このとき、最上
位ビットがキャリー出力端子COからキャリー信号とし
て出力され、最下位ビットには“0”がセットされ、シ
フト結果の8ビットのデータは、出力端子Oから出力さ
れるようになっている。
【0038】セレクタS4は、シフト部SFTの出力端
子Oと加減算器ALUの出力端子Oから出力されるデー
タのいずれか一方を選択して、データバスDBに出力す
るものである。
【0039】また、セレクタS5は、シフト部SFTか
ら出力されるキャリー信号と加減算器ALUから出力さ
れるキャリー信号のいずれか一方を選択するものであ
る。セレクタS5の出力側は、セレクタS6の第1の入
力側とORゲートG3の第1の入力側に接続されてい
る。セレクタS6の出力側はCフラグF1の入力側に接
続され、このCフラグF1の出力側が、ORゲートG3
の第1の入力側と加減算器ALUのキャリー入力端子C
Iに接続されている。
【0040】これらのセレクタS4〜S6及びシフト部
SFTは、他のセレクタS1〜S3及び加減算器ALU
と同様に、メモリMEMから順次読み出されて命令デコ
ーダDECで解読される命令コードに従って、順次制御
されるようになっている。その他の構成は、図1と同様
である。
【0041】このような演算回路において加減算命令が
実行されるときは、図1と同様の構成になるようにセレ
クタS1〜S6が切り替えられ、第1の実施形態で説明
した動作が行われる。
【0042】一方、この演算回路においてシフト命令が
実行されるときは、セレクタS4,S5がシフト部SF
T側へ切り替えられる。
【0043】図4は、図3の演算回路におけるシフト動
作を示す動作説明図である。以下、この図4を参照しつ
つ、8ビットの16進数80hを左に2ビットシフトす
る場合を例にして、図3におけるシフト動作を説明す
る。
【0044】まず、図3のステップS11に示すよう
に、レジスタR0に16進数80hをセットする。次
に、シフト部SFTに対して、左シフトを実行させるた
めの制御信号を与える。これにより、セレクタS6がセ
レクタS5側に切り替えられ、レジスタR0の16進数
80hがシフト部SFTに保持され、更に、1ビットの
左シフトが行われる。この結果、図3のステップS12
に示すように、16進数80hの最上位ビットb7(即
ち、“1”)がシフト部SFTからキャリー信号として
出力され、CフラグF1に保持される。また、シフト結
果は00hとなる。シフト部SFTの出力端子Oから出
力されるデータは、セレクタS4及びデータバスDBを
介してレジスタR0に格納される。従って、レジスタR
0の値は00hとなる。
【0045】続いて、シフト部SFTに対して、キャリ
ー付き左シフトを実行させるための信号を出力する。こ
れにより、セレクタS6がORゲートG3側に切り替え
られ、レジスタR0の値00hがシフト部SFTに保持
され、更に、1ビットの左シフトが行われる。この結
果、図3のステップS13に示すように、シフト部SF
Tの出力端子Oから出力されるシフト結果は00hとな
り、セレクタS4及びデータバスDBを介してレジスタ
R0に格納される。
【0046】一方、ORゲートG3では、シフト部SF
Tから出力されるキャリー信号(この場合は、“0”)
とステップS12でCフラグF1にセットされた値(即
ち、“1”)の論理和がとられ、その結果(即ち、
“1”)がCフラグF1に改めてセットされる。
【0047】以上のように、この第2の実施形態の演算
回路は、キャリー付きのシフトの場合に、直前に行われ
たシフトの結果によるCフラグと今回のシフト結果で得
られたCフラグの論理和に基づいて、新たなCフラグを
セットするようにしている。これにより、追加の処理を
必要とせずに全体の演算結果を反映したCフラグの値が
得られるという利点がある。
【0048】なお、本発明は、上記実施形態に限定され
ず、種々の変形が可能である。この変形例としては、例
えば、次のようなものがある。 (a) 加減算器ALUにおける加減算の結果がゼロで
あるか否かを示すZフラグに対して適用した例を示して
いるが、どの様な演算結果のZフラグにも同様に適用可
能である。
【0049】(b) 演算手段として加減算器ALU及
びシフト部SFTを例にして説明したが、ビット幅の大
きなデータを複数回に分割して演算を行うような演算回
路であれば、同様に適用可能である。 (c) レジスタR0等のビット幅は8ビットに限定さ
れない。
【0050】(d) 8ビットの加減算器ALUを2回
連続使用して16ビットのデータの加減算を行った例を
説明したが、例えば、4回連続使用することにより、3
2ビットのデータの演算をすることができる。 (e) ZフラグやCフラグに限定されず、その他の演
算結果の状態情報にも、同様に適用することができる。
【0051】
【発明の効果】以上詳細に説明したように、第1の発明
によれば、現在の演算結果の状態情報と保持手段に保持
された状態情報との論理演算処理を行う論理手段と、こ
の論理手段の出力信号または現在の演算結果の状態情報
の一方を選択して保持手段に保持する選択手段を有して
いる。これにより、連続する演算結果の状態が反映され
た状態情報を得ることができる。
【0052】第2の発明によれば、判定手段で判定され
た演算結果と保持手段に保持された演算結果が共にゼロ
である場合にのみ、演算結果がゼロであることを示す信
号を出力する論理手段と、この論理手段の出力信号また
は判定手段で判定された現在の演算結果の状態情報の一
方を選択して保持手段に保持する選択手段を有してい
る。これにより、連続する演算結果がすべてゼロである
か否かの情報を得ることができる。
【0053】第3の発明によれば、現在の演算結果と保
持手段に保持された演算結果の少なくとも一方に桁上が
りがある場合に、演算結果に桁上がりがあることを示す
信号を出力する論理手段と、この論理手段の出力信号ま
たは現在の演算結果の状態情報の一方を選択して保持手
段に保持する選択手段を有している。これにより、連続
する演算結果において少なくとも1回桁上がりが発生し
たか否かの情報を得ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態を示す演算回路の構成
図である。
【図2】図1の演算回路の動作説明図である。
【図3】本発明の第2の実施形態を示す演算回路の構成
図である。
【図4】図3の演算回路におけるシフト動作を示す動作
説明図である。
【符号の説明】
ALU 加減算器 DB データバス F1 Cフラグ F2 Zフラグ G1 NORゲート G2 ANDゲート G3 ORゲート R0,R1,X0,X1 レジスタ S1〜S6 セレクタ SFT シフト部
フロントページの続き Fターム(参考) 5B016 AA01 BA02 CA01 DA02 HA06 5B022 AA00 BA02 BA04 CA03 CA08 DA06 EA06 EA09 FA12 5B033 BD04

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 演算命令に従って一定ビット幅の演算を
    行う演算手段と、 演算結果の状態情報を保持する保持手段と、 前記保持手段に保持された状態情報と現在の演算結果の
    状態情報に論理和または論理積の論理演算処理を行う論
    理手段と、 前記演算命令に基づいた制御信号に従い、前記現在の演
    算結果の状態情報または前記論理手段の出力信号のいず
    れか一方を選択して前記保持手段に与える選択手段と
    を、 備えたことを特徴とする演算回路。
  2. 【請求項2】 演算命令に従って一定ビット幅の演算を
    行う演算手段と、 現在の演算結果がゼロであるか否かを判定する判定手段
    と、 演算結果がゼロであるか否かを保持する保持手段と、 前記判定手段で判定された演算結果と前記保持手段に保
    持された演算結果が共にゼロである場合にのみ、演算結
    果がゼロであることを示す信号を出力する論理手段と、 前記演算命令に基づいた制御信号に従い、前記判定手段
    または前記論理手段のいずれか一方の出力信号を選択し
    て前記保持手段に与える選択手段とを、 備えたことを特徴とする演算回路。
  3. 【請求項3】 演算命令に従って一定ビット幅の演算を
    行う演算手段と、 演算結果に桁上がりがあるか否かを保持する保持手段
    と、 前記保持手段に保持された演算結果と現在の演算結果の
    少なくとも一方に桁上がりがある場合に、演算結果に桁
    上がりがあることを示す信号を出力する論理手段と、 前記演算命令に基づいた制御信号に従い、前記現在の演
    算結果または前記論理手段の出力信号のいずれか一方を
    選択して前記保持手段に与える選択手段とを、 備えたことを特徴とする演算回路。
JP2002016827A 2002-01-25 2002-01-25 演算回路 Pending JP2003216418A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002016827A JP2003216418A (ja) 2002-01-25 2002-01-25 演算回路
US10/269,856 US7010562B2 (en) 2002-01-25 2002-10-15 Arithmetic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002016827A JP2003216418A (ja) 2002-01-25 2002-01-25 演算回路

Publications (1)

Publication Number Publication Date
JP2003216418A true JP2003216418A (ja) 2003-07-31

Family

ID=27606147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002016827A Pending JP2003216418A (ja) 2002-01-25 2002-01-25 演算回路

Country Status (2)

Country Link
US (1) US7010562B2 (ja)
JP (1) JP2003216418A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050177605A1 (en) * 2004-02-10 2005-08-11 Intel Corporation Computation of logarithmic and exponential functions

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59149541A (ja) * 1983-01-28 1984-08-27 Toshiba Corp 処理条件コード生成/設定方式
JPH0769783B2 (ja) * 1987-11-16 1995-07-31 日本電気株式会社 例外処理方式
JP2832899B2 (ja) * 1993-05-31 1998-12-09 松下電器産業株式会社 データ処理装置およびデータ処理方法
US5519649A (en) * 1993-06-04 1996-05-21 Nippon Steel Corporation Micro-processor having rapid condition comparison function
GB2317466B (en) * 1996-09-23 2000-11-08 Advanced Risc Mach Ltd Data processing condition code flags
TW342483B (en) * 1997-11-14 1998-10-11 Winbond Electronics Corp Serial in-circuit emulator architecture
JP3395727B2 (ja) * 1999-09-02 2003-04-14 日本電気株式会社 演算装置および方法
US6742013B2 (en) * 2001-05-03 2004-05-25 Sun Microsystems, Inc. Apparatus and method for uniformly performing comparison operations on long word operands

Also Published As

Publication number Publication date
US7010562B2 (en) 2006-03-07
US20030145028A1 (en) 2003-07-31

Similar Documents

Publication Publication Date Title
EP0766169B1 (en) Processor and control method for performing proper saturation operation
US6009451A (en) Method for generating barrel shifter result flags directly from input data
US5001662A (en) Method and apparatus for multi-gauge computation
US4597053A (en) Two-pass multiplier/accumulator circuit
EP1058185A1 (en) A multiply and accumulate apparatus and a method thereof
US5440702A (en) Data processing system with condition code architecture for executing single instruction range checking and limiting operations
US5457805A (en) Microcomputer enabling high speed execution of product-sum operation
US5957996A (en) Digital data comparator and microprocessor
US6499046B1 (en) Saturation detection apparatus and method therefor
KR19980041758A (ko) 축소 데이타 경로 폭을 갖는 2-비트 부스 곱셈기
EP0594969B1 (en) Data processing system and method for calculating the sum of a base plus offset
US5748518A (en) Data processing divider
JPH1091395A (ja) プロセッサ
JP2003216418A (ja) 演算回路
JP3579087B2 (ja) 演算器およびマイクロプロセッサ
JP3570287B2 (ja) マイクロコンピュータ
JP2000039995A (ja) 高性能マイクロプロセッサで使用するためのフレキシブル累算レジスタファイル
US20080256335A1 (en) Microprocessor, microcomputer, and electronic instrument
US5142636A (en) Memory bank address calculation with reduced instruction execution cycles
US7580967B2 (en) Processor with maximum and minimum instructions
KR100385233B1 (ko) 데이터 프로세싱 시스템의 익스포넌트 유닛
JPH07262010A (ja) 演算処理装置および演算処理方法
JP3525582B2 (ja) ビット操作回路
JPS62271135A (ja) 絶対値判定回路
JP3110072B2 (ja) 事前正規化回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060815

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061010

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070116