JPH01163827A - アドレス演算器 - Google Patents

アドレス演算器

Info

Publication number
JPH01163827A
JPH01163827A JP62321304A JP32130487A JPH01163827A JP H01163827 A JPH01163827 A JP H01163827A JP 62321304 A JP62321304 A JP 62321304A JP 32130487 A JP32130487 A JP 32130487A JP H01163827 A JPH01163827 A JP H01163827A
Authority
JP
Japan
Prior art keywords
adder
bit
carry
circuit
constant
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.)
Granted
Application number
JP62321304A
Other languages
English (en)
Other versions
JP2685466B2 (ja
Inventor
Yoshiki Noguchi
孝樹 野口
Taku Tsukamoto
塚元 卓
Hideo Nakamura
英夫 中村
Yoshimune Hagiwara
萩原 吉宗
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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 Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP62321304A priority Critical patent/JP2685466B2/ja
Publication of JPH01163827A publication Critical patent/JPH01163827A/ja
Application granted granted Critical
Publication of JP2685466B2 publication Critical patent/JP2685466B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、加減算器1例えばマイクロコンピュータ等の
ロジックLSIに係り、特に定数の加減算に好適な論理
回路構成に関する。
〔従来の技術〕
従来の加減算器は、第2図に示すようにフルアダー3の
入力の一方が正負両論理がとれる構成となっていた。
第2図において変数Xと定数にの加算は、それぞれを正
論理でフルアダー3に入力し、それにキャリーCo10
3=Oを加算して出力yとする。
一方減算では、定数には負論理で、変数Xは正論理でフ
ルアダー3に入力し、それにキャリーC0103=1を
加算して出力yとする。
例えば10進表現で5(以下5(10,)と表記する)
、8ビット符号付2進表現で00000101 (以下
00000101 (2)と表記する)となるXと、3
(10)=00000011 (2)となるKの演算を
考える。x+にの演算は5 (10) + 3 (10
) = 8となるが、これは2進演算においても、00
000101(2) +00000011(2) =0
0001000(2) = 8 (10)となり、単純
に2進数の加算をフルアダーの加算回路を用いて行なえ
ばよい6フルアダーの加算回路の構成例を第3図に示す
1ビットm位の演算はフルアダー回路100とキャリー
回路106とから構成される。第3図で示した加算回路
は2ビツト加算回路で、入力X(下位ビットxo:10
1.上位ビットxz:108)とK(下位ビットKo:
102.上位ビットに工:109)を加算して出力y(
下位ビットyo:107゜上位ビットyx:111)を
出力する。
フルアダー回路では、まず2つの入力x、にの加算を行
ない、その加算結果113,114とキャリー103,
110との加算をし、出力yを出力する。キャリー回路
106は、上位ビットへのキャリーの出力を行なう。上
位ビットへのキャリー出力は、演算を行なうビット位置
の入力、例えばao:101とbo二102が2人カ共
に1の場合と、aoとboの加算結果が1で、かつ下位
ビットからのキャリー人力co:103が1である場合
とで行なわれる。前者をキャリー発生(CarryGe
nerate) 、後者をキャリー伝播(CarryP
ropagate)と言っている。キャリー発生の結果
104とキャリー伝播の結果105は論理和をとられて
、上位ビットへキャリー信号cl:110として出力さ
れる。
x−にの演算は、Kの各ビットの0.1を反転させたK
を用いて、x + K + 1を演算すればよい。
例えばx = 5 (to) =00000101(2
) 、 K = 3 (10) =00000011(
2)の場合を考える。 K=11111100(2)で
あるから、x + K = 00000001 (2)
となり、その結果に1を加えると00000010(2
) = 2 (10)となる。
+1の演算は第3図に示した加算回路のc o : 1
03にit 1 uを入力すれば、x+に+1は同時に
演算することができる。
加算回路の構成に関しては例えば(株)所轄出版の電子
科学シリーズ「やさしい電子計算」等に、また加算回路
を用いた減算の手法に関しては例えば、CQ出版社のr
16ビツトマイクロコンピユータとプログラミングの基
礎」等において論じられている。
第3図で示した加算回路内のキャリー信号生成論理10
6は、1ビット単位毎にキャリー論理をとり、上位側ビ
ットに伝播させていく、リプル桁上げ方式の回路である
。そのため、演算ビット長が長くなると、キャリー論理
が直列構成されているため遅延時間が長くなってしまう
にれを高速化する手段として桁上げ先見(Carry 
Look Aheadニー9−LA)技術がある。これ
は、各ビット単位でのキャリー発生の結果104とキャ
リー伝播条件113(キャリー信号を含まない2人力の
加算結果)とを用いて、各ビットのキャリー人カ信号C
x (110) 、 C2(112)等を直接生成して
しまうものである。最下位ビットのキャリー発生の結果
104をGo、以下、上位ビット側の対応信号をそれぞ
れ、Gt+ GZv G3とする。一方。
キャリー伝播条件113の値も、最下位ビットがらPo
、 PI、 P21 pHとする。各ビットのキャリー
人力信号は、第3図に示すようにGo(103)。
Cs (110)、Cz(112)、Ca とする。こ
の時、01〜C8信号の生成論理は下式のようになる。
C1=Go+co−P。
C1=Go+co ・Pt =Gl+Go−Pl+co−Po−PICa = G 
z + Cx・P2 =02十01・Pz十Go−Pl・Pl+co−Po−
Pl−P2上式でも明らかなように、キャリー人力信号
はキャリー発生の結果、キャリー伝播条件およびGoの
みで決まっているため、各ビット単位での直列構成とな
っていない。そのため、キャリー論理は演算ビット長に
関係なく高速化される。実施例を第4図に示すが、この
構成に関しては、近代科学社出版の「コンピュータの高
速演算方式」等に詳しく論じられている。
一般の加減演算を行なうためには、前述のフルアダー構
成の加算回路が必要であるが、ある数とその数よりも有
効ビット長がはるかに短い定数との加算は、ハーフアダ
ーの加算回路で実現できる。
たとえば、カウンタはある数と定数1との加算であるが
、この構成を第5図に示す。定数1の最下位ビットを除
く上位側ビットが全て0であるから、これらのビット位
置では、ある入力数とキャリーとの加算のみを行なえば
よい。このように、2数のみ(フルアダーは3数の加算
)の加算を行なう構成をハーフアダー構成といっている
。この構成はフルアダーの構成に比較して回路規模は小
さいが、扱える演算は加算のみである。
1ビット単位の演算はハーフアダー回路120とキャリ
ー回路121とから構成される。入力X(下位ビットx
o:122.上位ビットx s : 123)と定数に
とを加算して、出力y(下位ビットy。
:124.上位ビットyz:125)を出力する。
定数にの上位ビットは0なので加算する際には入力する
必要がない、そのため最下位ビットのK。
:126のみを、第3図のキャリー人力103に対応さ
せて入力する。キャリー回路121は、Kの上位ビット
が0であるためキャリー発生論理は不用で、キャリー伝
播結果127のみを上位側ビットにキャリー信号として
送っていく。
の有効ビット長がはるかに短い加減演算を行なう場合に
、それをハーフアダーの加算回路で行なう方式について
は考慮されておらず、これをフルアダーの加算回路で行
なうと、高速化のためのキャリー論理等も複雑になり5
回路規模が大きくなるという問題があった。
本発明の目的は定数の加減算を回路規模の小さいハーフ
アダーの加算回路で実現可能な方式を提供することにあ
る。
〔問題点を解決するための手段〕
上記目的は、加算部をハーフアダーにし、このハーフア
ダーの入出力が正負両輪環をとれるようにすることによ
り、達成される。
〔作用〕
23f!!数表現されたある値Xの各ビットを反転させ
ると、その値は−x −1となるax  Kを演算する
場合に、まずXの値をビット反転させると。
−x−1となる。この値にKを加える。にの値が2ビッ
ト程度のものであれば、この加算部はハーフアダーで構
成できる。加算後の結果は−x −1十にとなる。この
結果をビット反転させると、(−x−1+K) −1=
x−にとなり、変数X一定数にの演算ができる。
X+には、ビット反転をさせない、そのままのXにKを
加え、ビット反転をさせずに出力すれば変数X十定数に
の演算ができる。このようにすれば、従来のハーフアダ
ーの加算回路による定数加算のみで減算まで実行可能と
なる。
〔実施例〕
以下、本発明の一実施例を第1図により説明する。信号
反転回路1は、入力データのビット正転あるいは反転デ
ータを出力する選択回路である。
ハーフアダー2は、数ビットの定数にと変数Xあるいは
ビット反転された変数Xの加算器で、定数にのビット幅
分はフルアダー、それより上位側のビット位置はハーフ
アダーで構成される。変数Xから定数Kを減算する場合
には、変数XをインバータINVIによりビット反転さ
せ、ハーフアダー2で定数にと加算し、その結果をさら
にインバータINV2によりビット反転させて出力(y
)する。変数Xと定数にの加算は、変数Xをそのままビ
ット反転させずに定数にと加算し、加算結果をそのまま
出力(y)すればよい。
第6図に8ビツトの変数x(LSB=xO2MSB:X
7)と定数0 (KO=に1=O)、1(KO=4.に
1=O)、2  (KO=O,に1=1)との加減算回
路を示す。第1図に示した信号反転回路1は、第6図に
示すように制御信号8で制御される選択回路4で実現さ
れる。定数との減算を行なう場合には、制御信号8をL
レベルにし、変数x(xo”x7)およびハーフアダー
2の出力150のビット反転データを選択、出力する。
加算の場合には制御信号8をHレベルにして、ビット正
転データを選択、出力する。第1図に示したハーフアダ
ー2は、第6図では、2ビット単位のハーフアダー5,
6と1桁上げ先見(CL A)7とで構成する。下位側
の2ビット単位のハーフアダー5は、2ビツトの定数K
O,Klと2ビツトのLSB側データ(変数Xあるいは
ビット反転した変数x/xo、、xlあるいはxo、x
i)を加算する。最下位ビットの加算は、XOあるいは
πとKOの加算として演算する。最下位ビットよりも1
ビツト上位のビットの加算は、最下位ビット加算で発生
したキャリーと定数に1のOR信号151と、xlある
いはxlの加算として演算する。定数KO=に1=1.
すなわち定数3の演算はサポートしないため、キャリー
と定数に1とが共に1になることはない。
下位2ビツトの加算で発生したキャリー152は、桁上
げ先見(CLA)7と、最下位ビットから2および3ビ
ツト上位のビット加算を行なうハーフアダー6に入力さ
れる。ハーフアダー6は入力される2ビツトのデータx
1およびx、+1と、キャリーの加算結果153を出力
すると同時に、データXiおよびX j+1が共に1の
場合、即ちキャリー伝播条件信号154を出力する。下
位2ビツトの加算で発生したキャリー152と、このキ
ャリー伝播信号154を桁上げ先見(CI、A)7で、
キャリー先見論理をとることにより、上位ビット側の2
ピッl−’It位のハーフアダー6のキャリー人力15
5,156を決める。定数にの上位6ビツトはOである
から、キャリー伝播は、下位2ビツトの加算で発生する
キャリーの上位ビット側への伝播のみを考えるだけでよ
い。
本発明の定数0.1.2の加減算器は、マイクロプロセ
ッサ等のアドレス計算用演算器として利用する。データ
バスが16ビツトのマイクロプロセッサ等で、データを
スタックする場合、書込み時にスタックアドレスを+1
(バイトデータ)あるいは+2(ワードデータ)と加算
演算で計算した場合、読出し時のスタックアドレス計算
は−1゜−2の減算となる。アドレス計算の加算と減算
の関係は、この逆の場合も考えられる6命令フエツチア
ドレスは、+1 (バイトフェッチ)あるいは+2(ワ
ードフェッチ)の加算演算をしていく。
このように、プロセッサのアドレス演算の多くは定数加
減演算である。
〔発明の効果〕
本発明によれば、高速な定数加減算器をハーフアダーと
、P信号のみのキャリールックアヘッド回路で実現でき
るので、回路規模を小さくできるという効果がある。定
数加減算はプロセッサのアドレス計算として広く利用さ
れることができる。
【図面の簡単な説明】
第1図は本発明の構成図、第2図は従来の加減算器の構
成図、第3図はフルアダー回路による加算器の論理図、
第4図はキャリールックアヘッド回路、第5図はハーフ
アダー回路による加算器(カウンタ)の論理図、第6図
は本発明によるノA−ファダー回路の加減算器。 1・・・信号反転回路、2・・・ハーフアダー、4・・
・信号反転回路、5・・・2ビツトハーフアダー、6・
・・2ビツトハーフアダー、7・・・キャリールックア
ヘッド代理人 弁理士 小川勝男 4゛ 篤 1  図 NV1 1    イ↓1tノンkrag芥 2 ハーファ2− 3  フルア7一 y3 口 C4C3Cz   C+ ■ 5 図 121 ヤセ9−回胃艮

Claims (1)

  1. 【特許請求の範囲】 1、被演算数に、被演算数よりもビット長の短い数を加
    減算する定数加減算器であつて、加減算器をハーフアダ
    ーで構成し、ハーフアダーの1つの入力に直接定数を入
    力し、もう1つの入力には被演算数を正負の両論理がと
    れるようにして入力し、ハーフアダーの出力も正負の両
    論理がとれるようにしたことを特徴とする加減算器。 2、プロセッサの命令フェッチあるいし連続転送データ
    のアドレス計算に用いられることを特徴とした第1項記
    載の加減算器。
JP62321304A 1987-12-21 1987-12-21 アドレス演算器 Expired - Fee Related JP2685466B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62321304A JP2685466B2 (ja) 1987-12-21 1987-12-21 アドレス演算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62321304A JP2685466B2 (ja) 1987-12-21 1987-12-21 アドレス演算器

Publications (2)

Publication Number Publication Date
JPH01163827A true JPH01163827A (ja) 1989-06-28
JP2685466B2 JP2685466B2 (ja) 1997-12-03

Family

ID=18131079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62321304A Expired - Fee Related JP2685466B2 (ja) 1987-12-21 1987-12-21 アドレス演算器

Country Status (1)

Country Link
JP (1) JP2685466B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5966790A (ja) * 1982-10-08 1984-04-16 Nec Corp 演算回路
JPS60156139A (ja) * 1984-01-25 1985-08-16 Nec Corp 絶対差分計算回路
JPS6225325A (ja) * 1985-07-25 1987-02-03 Fujitsu Ltd 絶対値数加減算回路
JPS62111362A (ja) * 1985-11-08 1987-05-22 Matsushita Electric Ind Co Ltd デ−タ処理装置
JPS62118436A (ja) * 1985-11-19 1987-05-29 Nec Corp 加算器
JPS6349835A (ja) * 1986-08-19 1988-03-02 Matsushita Electric Ind Co Ltd 演算処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5966790A (ja) * 1982-10-08 1984-04-16 Nec Corp 演算回路
JPS60156139A (ja) * 1984-01-25 1985-08-16 Nec Corp 絶対差分計算回路
JPS6225325A (ja) * 1985-07-25 1987-02-03 Fujitsu Ltd 絶対値数加減算回路
JPS62111362A (ja) * 1985-11-08 1987-05-22 Matsushita Electric Ind Co Ltd デ−タ処理装置
JPS62118436A (ja) * 1985-11-19 1987-05-29 Nec Corp 加算器
JPS6349835A (ja) * 1986-08-19 1988-03-02 Matsushita Electric Ind Co Ltd 演算処理装置

Also Published As

Publication number Publication date
JP2685466B2 (ja) 1997-12-03

Similar Documents

Publication Publication Date Title
JP3891997B2 (ja) 可変幅の符号付きおよび符号なしオペランドのためのモジュラ2進乗算器
JPH0644225B2 (ja) 浮動小数点丸め正規化回路
JPS5811652B2 (ja) 演算ユニツト
JPH0659861A (ja) 3−1論理演算装置
US5957996A (en) Digital data comparator and microprocessor
JPH0823811B2 (ja) 3オペランド演算論理機構におけるオーバーフローを決定する方法及び算術上のオーバーフローを検出する機構
JPS62191926A (ja) 演算装置
JPS6227412B2 (ja)
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
JP2617974B2 (ja) データ処理装置
GB2262637A (en) Padding scheme for optimized multiplication.
JPH1091395A (ja) プロセッサ
JPH01163827A (ja) アドレス演算器
JPH0346024A (ja) 浮動小数点演算器
US6202078B1 (en) Arithmetic circuit using a booth algorithm
JPH0464091B2 (ja)
JPS6133539A (ja) 浮動小数点演算装置
JPH0322024A (ja) 乗算器
SU763892A1 (ru) Арифметическое устройство
JPH0223421A (ja) 演算処理装置
JP3205020B2 (ja) 演算装置
JP2705162B2 (ja) 演算処理装置
JP2752698B2 (ja) 浮動小数点加減算回路
JPH01282633A (ja) 非正規化数の処理方式
JP3370688B2 (ja) 加算器のフラグ生成回路

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees