JPH10320378A - 演算装置 - Google Patents

演算装置

Info

Publication number
JPH10320378A
JPH10320378A JP9128685A JP12868597A JPH10320378A JP H10320378 A JPH10320378 A JP H10320378A JP 9128685 A JP9128685 A JP 9128685A JP 12868597 A JP12868597 A JP 12868597A JP H10320378 A JPH10320378 A JP H10320378A
Authority
JP
Japan
Prior art keywords
bit
adder
data
src
dst
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
Application number
JP9128685A
Other languages
English (en)
Inventor
Mikio Hondo
幹雄 本藤
Kazuaki Den
一明 田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9128685A priority Critical patent/JPH10320378A/ja
Priority to TW086114357A priority patent/TW346597B/zh
Priority to KR1019970069915A priority patent/KR19980086459A/ko
Priority to DE19757891A priority patent/DE19757891C2/de
Priority to CN98103877A priority patent/CN1199891A/zh
Publication of JPH10320378A publication Critical patent/JPH10320378A/ja
Withdrawn 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
    • 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
    • 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products

Abstract

(57)【要約】 【課題】 サイズが小さくかつ演算速度が速い、2つの
積の和を演算するブレンディング演算装置を提供する。 【解決手段】 ソースデータSRCおよび目的データD
STを予め加算するプレ加算器11と、プレ加算器11
からの和、ソースデータSRC、目的データDST、ま
たは0を選択して部分積を生成するセレクタ120〜1
23,130〜133,140〜143,150〜15
3とを設けることにより、加算器160〜163,17
0〜173,180〜183,190〜193からなる
加算器ツリーのサイズを半減し、この加算器ツリーによ
って部分積の和を算出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は演算装置に関し、さ
らに詳しくは、2つの積の和を演算する演算装置に関す
る。
【0002】
【従来の技術】3次元グラフィックス処理機能を備えた
フレームバッファメモリにおいては、画面上手前側に位
置する透明な物体を表示するために、その透明な物体の
色データを画面上奥側に位置する物体の色データとブレ
ンドするブレンディングユニットが設けられている。た
とえばシリコン・グラフィックス・インコーポレイテッ
ド(Silicon Graphics, Inc.)が提供するオープン・グ
ラフィック・ライブラリー(OpenGL)において
は、ソースデータ(画面上手前側に位置する透明な物体
を表示するために外部から与えられる新しい色データ)
をSRC、そのソースデータのブレンディング係数をF
SRC、目的データ(画面上奥側に位置する物体を表示
するために既にフレームバッファメモリに格納されてい
る古い色データ)をDST、さらにその目的データのブ
レンディング係数をFDSTとすると、フレームバッフ
ァメモリに新たに格納されるブレンドデータBLEND
は次の式(1)で表わされる。
【0003】 BLEND=SRC×FSRC+DST×FDST …(1)
【0004】
【発明が解決しようとする課題】上記式(1)で表わさ
れるような演算を行なうために、一般にブレンディング
ユニットには2つの乗算器と1つの加算器とが必要であ
る。たとえば、ワレス方式の乗算器(Wallace Tree)を
用いると、2つの乗算器ツリー(Adder Tree)が必要と
なるため、ブレンディングユニットのサイズが大きくな
るという問題がある。また、乗算を2回行なう必要があ
るため、演算速度が遅くなるという問題もある。
【0005】本発明は上記のような問題を解消するため
になされたもので、その目的はサイズがより小さくかつ
演算速度がより速い演算装置を提供することである。
【0006】
【課題を解決するための手段】請求項1に係る演算装置
は、mビットの第1の乗数およびnビットの第1の被乗
数の積と、mビットの第2の乗数およびnビットの第2
の被乗数の積との和を演算する演算装置であって、第1
の加算手段と、m個の選択手段と、加算器ツリーとを備
える。第1の加算手段は、第1の被乗数と第2の被乗数
とを加算する。m個の選択手段の各々は、第1および第
2の乗数の対応するビットに応じて、第1の被乗数、第
2の被乗数、第1の加算手段からの第1および第2の被
乗数の和、および0のうち1つを選択して部分積を生成
する。加算器ツリーは、m個の選択手段からのm個の部
分積を1ビットずつシフトしてそのシフトした部分積の
和を算出する。
【0007】請求項2に係る演算装置は、請求項1の構
成に加えて、m個の選択手段の各々は、n個のセレクタ
を含む。n個のセレクタの各々は、第1および第2の乗
数の対応するビットの両方が1のとき第1および第2の
被乗数の和の対応するビットを選択し、第1の乗数の対
応するビットが1でかつ第2の乗数の対応するビットが
0のとき第1の被乗数の対応するビットを選択し、第1
の乗数の対応するビットが0でかつ第2の乗数の対応す
るビットが1のとき第2の被乗数の対応するビットを選
択し、第1および第2の乗数の対応するビットの両方が
0のとき0を選択する。
【0008】請求項3に係る演算装置は、請求項2の構
成に加えて、加算器ツリーはアレイ状に配列された複数
の加算器を含む。複数の加算器の各々は、その加算器よ
りも第1および第2の乗数のビットに対して1つ下位の
n個の加算器のうち対応する1つの加算器のキャリー出
力に接続されたキャリー入力と、n個のセレクタのうち
対応する1つのセレクタの出力に接続された第1のデー
タ入力と、対応する1つの加算器よりも第1および第2
の被乗数のビットに対して1つ上位の加算器のデータ出
力に接続された第2のデータ入力と、データ出力と、キ
ャリー出力とを有する。
【0009】請求項4に係る演算装置は、請求項1から
3のいずれかの構成に加えて、反転手段と、第2の加算
手段とをさらに備える。反転手段は、m個の部分積の最
上位ビットを反転する。第2の加算手段は、m個の部分
積のうち第1および第2の乗数の最下位ビットに応じて
生成された部分積の最上位ビットと、第1および第2の
乗数の最上位ビットに応じて生成された部分積の最上位
ビットよりも1つ上位ビットとにそれぞれ1を加算す
る。
【0010】請求項5に係る演算装置は、請求項1から
3のいずれかの構成に加えて、リセット手段をさらに備
える。リセット手段は、第1および第2の乗数の上位ビ
ットに応じて生成された部分積の上位ビットと、第1お
よび第2の乗数の下位ビットに応じて生成された部分積
の下位ビットとをゼロにリセットする。
【0011】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して詳しく説明する。なお、図中同一または相当
部分には同一符号を付し、その説明は繰返さない。
【0012】一般に、2つの乗算器を用いて上記式
(1)で表わされるブレンディング演算を行なう場合、
図1に示されるように、目的データDST全体にそのブ
レンディング係数FDSTの各ビットを乗じることによ
り複数の部分積1を生成し、さらにそれとは別に、ソー
スデータSRC全体にそのブレンディング係数FSRC
の各ビットを乗じることにより複数の部分積2を生成す
る。複数の部分積1の和を算出することにより目的デー
タDSTとブレンディング係数FDSTとの積が得ら
れ、複数の部分積2の和を算出することによりソースデ
ータSRCとブレンディング係数FSRCとの積が得ら
れる。これら2つの積を加算器3で加算することにより
ブレンドデータBLENDが得られる。
【0013】上記演算は、複数の部分積1の和と複数の
部分積2の和とをそれぞれ別々に算出した後、それら2
つの和を加算しているが、図2に示されるように、ブレ
ンディング係数FDSTおよびFSRCの同一ビットに
対応する1つの部分積1と1つの部分積2との和を先に
算出し、しかる後、それら複数の和を加算してもよい。
ここで、1つの部分積1と1つの部分積2との和は、D
ST+SRC,DST,SRC,0の4通りしかない。
【0014】たとえば、ソースデータSRCが0101
2 (510)、ブレンディング係数FSRCが00112
(310)の場合、積SRC×FSRCは次の数1のよう
に算出される。
【0015】
【数1】
【0016】上記数1から明らかなように、ブレンディ
ング係数FSRCの各ビットは0か1であるため、ソー
スデータSRCとブレンディング係数FSRCの各ビッ
トとの部分積は0かソースデータSRCそのものにな
る。
【0017】また、目的データDSTが10012 (9
10)、ブレンディング係数FDSTが10102 (10
10)の場合、積DST×FDSTは次の数2のように算
出される。
【0018】
【数2】
【0019】上記数2から明らかなように、ブレンディ
ング係数FDSTの各ビットは0か1であるため、目的
データDSTとブレンディング係数FDSTの各ビット
との部分積は0か目的データDSTそのものになる。
【0020】したがって、部分積1と部分積2との和
は、上述したように、DST+SRC、DST、SR
C、または0になる。
【0021】後述する本発明の実施の形態は、このよう
なブレンディング演算の性質に鑑み、ソースデータおよ
び目的データの和を予め算出するプレ加算器を備えたこ
とを特徴としている。
【0022】[実施の形態1]図3は、本発明の実施の
形態1によるブレンディング演算装置の構成を示す概念
図である。同図を参照して、このブレンディング演算装
置は、ソースデータSRCと目的データDSTとを加算
するプレ加算器11を備える。ブレンディング係数FS
RCおよびFDSTの各ビットに応じて、ソースデータ
SRC、目的データDST、目的データおよびソースデ
ータの和DST+SRC、および0のうち1つを選択す
ることにより部分積4が生成される。ブレンディング係
数FDSTのあるビットとそれに対応するブレンディン
グ係数FSRCのビットとの両方が1のとき、和DST
+SRCが選択される。ブレンディング係数FDSTの
あるビットが1でかつそれに対応するブレンディング係
数FSRCのビットが0のとき、目的データDSTが選
択される。ブレンディング係数FDSTのあるビットが
0でかつそれに対応するブレンディング係数FSRCの
ビットが1のとき、ソースデータSRCが選択される。
ブレンディング係数FDSTのあるビットとそれに対応
するブレンディング係数FSRCのビットとの両方が0
のとき、0が選択される。
【0023】たとえば上記と同様に、目的データDST
が10012 、ブレンディング係数FDSTが1010
2 、ソースデータSRCが01012 、ブレンディング
係数FSRCが00112 の場合、プレ加算器11が和
DST+SRCとして11102 (1310)を予め用意
する。
【0024】ブレンディング係数FDSTの第0ビット
(最下位ビット)は0でかつブレンディング係数FSR
Cの第0ビットは1であるため、この第0ビットに応じ
て生成される部分積は次の数3に示されるように010
2 (SRC)となる。また、ブレンディング係数FD
STおよびFSRCの第1ビットはいずれも1であるた
め、この第1ビットに応じて生成される部分積は111
2 (DST+SRC)となる。また、ブレンディング
係数FDSTおよびFSRCの第2ビットはいずれも0
であるため、この第2ビットに応じて生成される部分積
は00002 となる。そして、ブレンディング係数FD
STの第3ビット(最上位ビット)は1でかつブレンデ
ィング係数FSRCの第3ビットは0であるため、この
第3ビットに応じて生成される部分積は10012 (D
ST)となる。
【0025】
【数3】
【0026】これら4つの部分積を1ビットずつシフト
してそのシフトした部分積の和を算出すると、結果とし
て11010012 (10510)のブレンドデータBL
ENDが得られる。
【0027】図4は、図3に示されたブレンディング演
算装置の具体的な構成を示すブロック図である。このブ
レンディング演算装置は、4ビットのソースデータSR
C[3:0]および4ビットのブレンディング係数FS
RC[3:0]の積と、4ビットの目的データDST
[3:0]および4ビットのブレンディング係数FDS
T[3:0]の積との和を演算する。
【0028】図4を参照して、このブレンディング演算
装置は、ソースデータSRCおよび目的データDSTの
和SRC+DSTを予め算出するプレ加算器11と、部
分積を生成する4つの選択回路12〜15と、部分積の
和を算出する加算器ツリー(160〜163,170〜
173,180〜183,190〜193)とを備え
る。
【0029】プレ加算器11はいわゆる順次桁上げ方式
であって、半加算器110、および全加算器111〜1
13を含む。半加算器110は、データ入力A、データ
出力S、キャリー入力CI、キャリー出力COを有す
る。目的データの第0ビットDST[0]が半加算器1
10のキャリー入力CIに与えられる。ソースデータの
第0ビットSRC[0]が半加算器110のデータ入力
Aに与えられる。全加算器111〜113の各々は、デ
ータ入力AおよびB、データ出力S、キャリー入力C
I、ならびにキャリー出力COを有する。目的データの
第1ビットDST[1]は全加算器111のデータ入力
Bに与えられる。ソースデータの第1ビットSRC
[1]は全加算器111のデータ入力Aに与えられる。
全加算器110のキャリー出力COは全加算器111の
キャリー入力CIに与えられる。目的データの第2ビッ
トDST[2]は全加算器112のデータ入力Bに与え
られる。ソースデータの第2ビットSRC[2]は全加
算器112のデータ入力Aに与えられる。全加算器11
1のキャリー出力COは全加算器112のキャリー入力
CIに与えられる。目的データの第3ビットDST
[3]は全加算器113のデータ入力Bに与えられる。
ソースデータの第3ビットSRC[3]は全加算器11
3のデータ入力Aに与えられる。全加算器112のキャ
リー出力COは全加算器113のキャリー入力CIに与
えられる。
【0030】選択回路12は、ブレンディング係数の第
0ビットFSRC[0]およびFDST[0]に応じ
て、ソースデータSRC[3:0]、目的データDST
[3:0]、プレ加算器11からのソースおよび目的デ
ータの和SRC[3:0]+DST[3:0]、および
00002 の4つのデータのうち1つを選択する。選択
回路13は、ブレンディング係数の第1ビットFSRC
[1]およびFDST[1]に応じて、上記4つのデー
タのうち1つを選択する。選択回路14は、ブレンディ
ング係数の第2ビットFSRC[2]およびFDST
[2]に応じて、上記4つのデータのうち1つを選択す
る。選択回路15は、ブレンディング係数の第3ビット
FSRC[3]およびFDST[3]に応じて、上記4
つのデータのうち1つを選択する。
【0031】加算器ツリー(160〜163,170〜
173,180〜183,190〜193)は、選択回
路12〜15からの4つの部分積を1ビットずつシフト
してそのシフトした部分積の和を算出する。
【0032】より具体的には、選択回路12は、ソース
データSRC[3:0]および目的データDST[3:
0]のビットに対応して4つのセレクタ120〜123
を含む。ブレンディング係数の第0ビットFSRC
[0]およびFDST[0]の両方が1のとき、セレク
タ120〜123はそれぞれ加算器110〜113のデ
ータ出力Sを選択する。ブレンディング係数の第0ビッ
トFSRC[0]が1でかつブレンディング係数の第0
ビットFDST[0]が0のとき、セレクタ120〜1
23はそれぞれソースデータの第0〜第3ビットSRC
[0]〜SRC[3]を選択する。ブレンディング係数
の第0ビットFSRC[0]が0でかつブレンディング
係数の第0ビットFDST[0]が1のとき、セレクタ
120〜123はそれぞれ目的データの第0〜第3ビッ
トDST[0]〜DST[3]を選択する。ブレンディ
ング係数の第0ビットFSRC[0]およびFDST
[0]の両方が0のとき、セレクタ120〜123はそ
れぞれ0を選択する。選択回路12はさらに、ブレンデ
ィング係数の第0ビットFSRC[0]およびFDST
[0]の両方が1のときプレ加算器113のキャリー出
力COを選択するセレクタ124を含む。
【0033】選択回路13もまた4つのセレクタ130
〜133を含む。セレクタ130〜133もセレクタ1
20〜123とほぼ同様に構成されるが、セレクタ12
0〜123と異なりブレンディング係数の第1ビットF
SRC[1]およびFDST[1]に応じて選択動作を
行なう。選択回路14もまた4つのセレクタ140〜1
43を含む。セレクタ140〜143もセレクタ120
〜123とほぼ同様に構成されるが、セレクタ120〜
123と異なりブレンディング係数の第2ビットFSR
C[2]およびFDST[2]に応じて選択動作を行な
う。選択回路15もまた4つの150〜153を含む。
セレクタ150〜153もセレクタ120〜123とほ
ぼ同様に構成されるが、セレクタ120〜123と異な
りブレンディング係数の第3ビットFSRC[3]およ
びFDST[3]に応じて選択動作を行なう。
【0034】選択回路13はさらに、セレクタ124と
同様のセレクタ134を含む。選択回路14はさらに、
セレクタ124と同様のセレクタ144を含む。選択回
路15はさらに、セレクタ124と同様のセレクタ15
4を含む。
【0035】この加算器ツリーは周知のキャリーセーブ
方式であって、4×4のアレイ状に配列された16個の
加算器160〜163,170〜173,180〜18
3,190〜193を含む。半加算器160〜163か
らなる加算回路16は、選択回路12によって生成され
た部分積に選択回路13によって生成された部分積を各
ビットごとに加算する。全加算器170〜173からな
る加算回路17は、加算回路16によって生成された部
分積の和に選択回路14によって生成された部分積を各
ビットごとに加算する。全加算器180〜183からな
る加算回路18は、加算回路17によって生成された部
分積の和に選択回路15によって生成された部分積を各
ビットごとに加算する。半加算器190、および全加算
器191〜193からなる加算回路19は、加算回路1
8の桁上げを計算する。
【0036】より具体的には、半加算器160は、セレ
クタ121の出力に接続されたキャリー入力CIと、セ
レクタ130の出力に接続されたデータ入力Aと、デー
タ出力Sと、キャリー出力COとを有する。半加算器1
61〜163も半加算器160とほぼ同様に構成され
る。全加算器170は、ブレンディング係数のビットF
SRC[0]〜FSRC[3],FDST[0]〜FD
ST[3]に対して加算器170よりも1つ下位の4つ
の半加算器160〜163のうち対応する1つの半加算
器160のキャリー出力に接続されたキャリー入力CI
と、4つのセレクタ140〜143のうち対応する1つ
のセレクタ140の出力に接続されたデータ入力Aと、
ソースおよび目的データのビットSRC[0]〜SRC
[3],DST[0]〜DST[3]に対して上記対応
する1つの半加算器160よりも1つ上位の半加算器1
61のデータ出力Sに接続されたデータ入力Bと、デー
タ出力Sと、キャリー出力COとを有する。全加算器1
71〜173も全加算器170とほぼ同様に構成され
る。全加算器180は、全加算器170のキャリー出力
COに接続されたキャリー入力CIと、セレクタ150
の出力に接続されたデータ入力Aと、全加算器171の
データ出力Sに接続されたデータ入力Bと、データ出力
Sと、キャリー出力COとを有する。全加算器181〜
183も全加算器180とほぼ同様に構成される。半加
算器190は、全加算器180のキャリー出力COに接
続されたキャリー入力CIと、全加算器181のデータ
出力Sに接続されたデータ入力Aと、データ出力Sと、
キャリー出力COとを有する。全加算器191は、半加
算器190のキャリー出力COに接続されたキャリー入
力CIと、全加算器181のキャリー出力COに接続さ
れたデータ入力Bと、全加算器182のデータ出力Sに
接続されたデータ入力Aと、データ出力Sと、キャリー
出力COとを有する。全加算器192も全加算器191
とほぼ同様に構成される。全加算器193は、全加算器
192のキャリー出力COに接続されたキャリー入力C
Iと、全加算器183のキャリー出力COに接続された
データ入力Bと、セレクタ154の出力に接続されたデ
ータ入力Aと、データ出力Sと、キャリー出力COとを
有する。
【0037】したがって、このブレンディング演算装置
は9ビットのブレンドデータBLEND[8:0]を算
出する。ブレンドデータの第0ビットBLEND[0]
はセレクタ120の出力から得られる。ブレンドデータ
BLENDの第1ビットBLEND[1]は半加算器1
60のデータ出力Sから得られる。ブレンドデータの第
2ビットBLEND[2]は全加算器170のデータ出
力Sから得られる。ブレンドデータの第3ビットBLE
ND[3]は全加算器180のデータ出力Sから得られ
る。ブレンドデータの第4ビットBLEND[4]は半
加算器190のデータ出力Sから得られる。ブレンドデ
ータの第5ビットBLEND[5]は全加算器191の
データ出力Sから得られる。ブレンドデータの第6ビッ
トBLEND[6]は全加算器192のデータ出力Sか
ら得られる。ブレンドデータの第7ビットBLEND
[7]は全加算器193のデータ出力Sから得られる。
ブレンドデータの第8ビットBLEND[8]は全加算
器193のキャリー出力COから得られる。
【0038】たとえば上記と同様に、SRC[3:0]
が0101、ブレンディング係数FSRC[3:0]が
0011、目的データDST[3:0]が1001、ブ
レンディング係数FDST[3:0]が1010の場
合、セレクタ123〜120から0101(ソースデー
タSRC[3:0])が得られ、セレクタ133〜13
0から1110(ソースデータSRC[3:0]および
目的データDST[3:0]の和)が得られ、セレクタ
143〜140から0000が得られ、さらにセレクタ
153〜150から1001(目的データDST[3:
0])が得られる。その結果、加算器ツリー(160〜
163,170〜173,180〜183,190〜1
93)からは1101001のブレンドデータBLEN
D[8:0]が得られる。
【0039】半加算器110は、たとえば図5に示され
るように、排他的ORゲート1100と、マルチプレク
サ1101と、インバータ1102とを含む。半加算器
160〜163もこの半加算器110と同様に構成され
る。全加算器111は、たとえば図6に示されるよう
に、排他的ORゲート1110と、排他的NORゲート
1111と、インバータ1112と、マルチプレクサ1
113と、インバータ1114とを含む。全加算器11
3,170〜173もこの全加算器111と同様に構成
される。全加算器112は、たとえば図7に示されるよ
うに、排他的ORゲート1120および1121と、マ
ルチプレクサ1122と、インバータ1123とを含
む。全加算器180〜183もこの全加算器112と同
様に構成される。半加算器190は、たとえば図8に示
されるように、排他的ORゲート1900と、マルチプ
レクサ1901と、インバータ1902とを含む。全加
算器191は、たとえば図9に示されるように、排他的
NORゲート1911と、排他的ORゲート1912
と、マルチプレクサ1913と、インバータ1914と
を含む。全加算器192は、たとえば図10に示される
ように、排他的NORゲート1920および1921
と、インバータ1922と、マルチプレクサ1923
と、インバータ1924とを含む。全加算器193は、
たとえば図11に示されるように、排他的NORゲート
1930と、排他的ORゲート1931と、マルチプレ
クサ1932とを含む。
【0040】ORゲート1100は、たとえば図12に
示されるように、インバータ11000と、マルチプレ
クサ11001と、インバータ11002とを含む。マ
ルチプレクサ11001は、一方の入力信号I1に応答
して、インバータ11000の出力信号または他方の入
力信号I2を選択する。図6に示された排他的ORゲー
ト1110、図7に示された排他的ORゲート112
0、図8に示された排他的ORゲート1900、図9に
示された排他的ORゲート1912、および図11に示
された排他的ORゲート1931もこの排他的ORゲー
ト1100と同様に構成される。
【0041】図6に示された排他的NORゲート111
1は、たとえば図13に示されるように、インバータ1
1110と、マルチプレクサ11111と、インバータ
11112とを含む。マルチプレクサ11111は、一
方の入力信号I1に応答して、他方の入力信号I2また
はインバータ11110の出力信号を選択する。図9に
示された排他的NORゲート1911、図10に示され
た排他的NORゲート1920および1921、ならび
に図11に示された排他的NORゲート1930もこの
排他的NORゲート1111と同様に構成される。
【0042】図5に示されたマルチプレクサ1101
は、たとえば図14に示されるように、トランスファー
ゲート11010および11011と、インバータ11
012とを含む。Lレベルの制御信号SBに応答してト
ランスファーゲート11010がオンになり、トランス
ファーゲート11011がオフになるため、一方の入力
信号I1が出力される。逆に、Hレベルの制御信号SB
に応答してトランスファーゲート11010がオフにな
り、トランスファーゲート11011がオンになるた
め、他方の入力信号I2が出力される。図6に示された
マルチプレクサ1113、図7に示されたマルチプレク
サ1122、図8に示されたマルチプレクサ1901、
図9に示されたマルチプレクサ1913、図10に示さ
れたマルチプレクサ1923、図11に示されたマルチ
プレクサ1932、図12に示されたマルチプレクサ1
1001、および図13に示されたマルチプレクサ11
111もこのマルチプレクサ1101と同様に構成され
る。
【0043】上記のように、本発明の実施の形態1によ
るブレンディング演算装置は、ソースおよび目的データ
の和SRC[3:0]+DST[3:0]を予め算出す
る加算器11を備え、さらにその和SRC[3:0]+
DST[3:0]、ソースデータSRC[3:0]、目
的データDST[3:0]、または0の4つのデータの
うち1つを選択する選択回路12〜15を備えるため、
部分積の和を算出するための加算器ツリー(160〜1
63,170〜173,180〜183,190〜19
3)のサイズは従来の半分になる。このように、最も演
算時間を要する加算器ツリーのサイズが半分になるた
め、このブレンディング演算装置の演算速度は従来より
も速くなる。
【0044】[実施の形態2]上記実施の形態1におけ
るソースおよび目的データはいずれも正であるが、拡張
オープン・グラフィック・ライブラリー(Extend
ed OpenGL)では次の式(2)および(3)で
表わされる減算ブレンディング演算が必要とされる。
【0045】 BLEND=SRC×FSRC−DST×FDST …(2) BLEND=−SRC×FSRC+DST×FDST …(3) 上記式(2)の場合、目的データDSTが負である。上
記式(3)の場合、ソースデータが負である。したがっ
て、ソースおよび目的データを2の補数表示による符号
ビット付数字に拡張する必要がある。上記式(2)の場
合、目的データDSTの最上位ビットは0になる。上記
式(3)の場合、ソースデータの最上位ビットは0にな
る。
【0046】一般に、2の補数表示による2進数A
[n:0](符号ビットはA[n])の値valueは
次の式(4)で表わされる。
【0047】 value=−2n ×A[n]+2(n-1) ×A[n−1]+…+21 ×A[1 ]+20 ×A[0] …(4) したがって、このようなnビットの符号ビット付2進数
にmビットの2進数を乗じると、図15に示されるよう
な部分積が得られる。たとえば{p0 [n],p0 [n
−1],p0 [n−2],…,p0 [2],p
0 [1],p0 [0]}は、2進数A[n:0]にmビ
ットの2進数の最下位ビットを乗じることにより得られ
る。他の部分積もこれと同様に得られる。これらの部分
積は1ビットずつシフトして加算されるので、部分積の
符号ビットp0 [n],p1 [n],p2[n],…,
m [n]もまた1ビットずつシフトされる。このよう
な符号ビット付部分積の正しい和を算出するためには、
一般に、符号ビットと同じ数値をさらに上位ビット側へ
展開する符号拡張を行なう必要がある。しかしながら、
符号拡張は加算器ツリーのサイズを増大させることにな
る。符号拡張を行なうことなく、部分積の正しい和を算
出するためには次の手法に従って演算を行なえばよい。
【0048】まず、部分積の符号ビットを用いて次の式
(5)により数値signを定義する。
【0049】 sign=−(2m ×pm [n]+…+22 ×p2 [n]+21 ×p1 [n] +20 ×p0 [n])×2n …(5) この式(5)で表わされた数値signを2の補数で表
現し直し、符号ビットを除く部分積の和に加算すればよ
い。数値signの2の補数は次の式(6)で表わされ
る。ただし、ここでは最上位の符号ビットpm [n]よ
りも上位に符号ビットが追加されている。また、/pm
[n],…,/p2 [n],/p1 [n],/p
0 [n]は、それぞれpm [n],…,p2 [n],p
1 [n],p0[n]の反転を表わす。
【0050】 /sign=(−2(m+1) ×1+2m ×/pm [n]+…+22 ×/p2 [n ]+21 ×/p1 [n]+20 ×/p0 [n]+1)×2n …(6) すなわち、図16に示されるように部分積を表現し直
し、さらに上記式(6)のように部分積{/p
m [n],pm [n−1],pm [n−2],…,pm
[2],pm [1],pm [0]}の符号拡張を行な
い、その符号ビットよりも上位ビットに1を加算する。
また、部分積{/p0 [n],p0 [n−1],/p 0
[n−2],…,p0 [2],p0 [1],p
0 [0]}の符号ビット/p0[n]に1を加算する。
【0051】たとえば上記式(2)において、ソースデ
ータSRC[2:0]が01112(710)、ブレンデ
ィング係数FSRC[3:0]が01102 (610)、
目的データ−DST[2:0]が11002 (−
10)、ブレンディング係数FDST[3:0]が00
112 (310)の場合、ブレンドデータBLEND
[8:0]として000111102 (3010)が得ら
れなければならない。この場合の部分積は、0111
(SRC)、1100(−DST)、0011(SRC
−DST)、または0000になる。次の数4に示され
るように、ブレンディング係数FSRCの第0ビットは
0でかつブレンディング係数FDSTの第0ビットは1
であるため、この第0ビットに対応する部分積は110
0(−DST)になる。ブレンディング係数FSRCお
よびFDSTの第1ビットはいずれも1であるため、こ
の第1ビットに対応する部分積は0011(SRC−D
EST)になる。ブレンディング係数FSRCの第2ビ
ットは1でかつブレンディング係数FDSTの第2ビッ
トは0であるため、この第2ビットに対応する部分積は
0111(SRC)になる。そして、ブレンディング係
数FSRCおよびFDSTの第3ビットはいずれも0で
あるため、この第3ビットに対応する部分積は0000
になる。これらの部分積の和を符号拡張により算出する
と、数4のように確かに111102 (3010)が得ら
れる。
【0052】
【数4】
【0053】符号拡張を行なわずに、これら部分積の正
しい和を算出するためには、次の数5に示されるよう
に、まず部分積の符号ビットを反転する。続いて、ブレ
ンディング係数FSRCおよびFDSTの最上位ビット
に対応する部分積を1ビット拡張し、その符号ビットよ
りも上位ビットに1を加算するとともに、ブレンディン
グ係数FSRCおよびFDSTの最下位ビットに対応す
る部分積の符号ビット(最上位ビット)に1を加算す
る。その結果、ブレンドデータBLENDとして上記数
4で得られたものと同じ000111102 (3010
が得られる。
【0054】
【数5】
【0055】図17は、本発明の実施の形態2によるブ
レンディング演算装置の具体的な構成を示すブロック図
である。上記数5で示された計算方法を実現するため
に、セレクタ124,134,144,154の出力、
換言すると半加算器263のキャリー入力CI、全加算
器273のデータ入力B、全加算器283のデータ入力
B、全加算器293のデータ入力Aが反転されている。
【0056】すなわち、図4に示された加算器163,
173,183,193に代えて、加算器263,27
3,283,293が用いられる。また、図4に示され
た加算器190に代えて、加算器181のデータ出力S
に1を加算する加算器290が用いられる。したがっ
て、加算器160〜162,263が加算回路26を構
成する。加算器170〜172,273が加算回路27
を構成する。加算器180〜182,283が加算回路
28を構成する。加算器290,191,192,29
3が加算回路29を構成する。また、符号ビット用の全
加算器214をさらに含むプレ加算器21が用いられ
る。
【0057】このブレンディング演算装置は、次の式
(7)で表わされる演算、または次の式(8)で表わさ
れる演算を行なう。
【0058】 BLEND[8:0]=SRC[2:0]×FSRC[3:0]−DST[2 :0]×FDST[3:0] …(7) BLEND[8:0]=−SRC[2:0]×FSRC[3:0]+DST[ 2:0]×FDST[3:0] …(8) 上記式(7)の演算を行なう場合、ソースデータSRC
[3:0]および目的データDST[3:0]の2の補
数NDST[3:0]がプレ加算器21に与えられる。
他方、上記式(8)の演算を行なう場合、ソースデータ
SRC[3:0]の2の補数NSRC[3:0]および
目的データDST[3:0]がプレ加算器21に与えら
れる。ここで、SRC[3]、NSRC[3]、DST
[3]、およびNDST[3]は符号ビットを表わす。
【0059】ソースデータSRC[3:0]は次の式
(9)で定義される。 SRC[3:0]={0,SRC[2:0]} …(9) 目的データDST[3:0]は次の式(10)で定義さ
れる。
【0060】 DST[3:0]={0,DST[2:0]} …(10) 半加算器263は、図18に示されるように、排他的N
ORゲート2630と、マルチプレクサ2631と、イ
ンバータ2632とを含む。全加算器273は、図10
に示された全加算器192と同様に構成される。全加算
器283は、図9に示された全加算器191と同様に構
成される。全加算器290は、図19に示されるよう
に、排他的ORゲート2900と、マルチプレクサ29
01と、インバータ2902とを含む。全加算器293
は、図20に示されるように、排他的ORゲート293
0および2931と、インバータ2932と、マルチプ
レクサ2933と、インバータ2934とを含む。マル
チプレクサ2901は、図21に示されるように、トラ
ンスファーゲート29010および29011と、イン
バータ29012とを含む。Lレベルの制御信号SBに
応答してトランスファーゲート29011がオンにな
り、トランスファーゲート29010がオフになるた
め、一方の入力信号I2が出力される。逆に、Hレベル
の制御信号SBに応答してトランスファーゲート290
11がオフになり、トランスファーゲート29010が
オンになるため、他方の入力信号I1が出力される。
【0061】上記のように、本発明の実施の形態2によ
るブレンディング演算装置は、部分積の最上位ビット
(符号ビット)に対応するセレクタ124〜154の出
力をそれぞれ反転する機能を有する加算器263,27
3,283,293と、ブレンディング係数の最下位ビ
ットFSRC[0],FDST[0]に応じて生成され
た部分積の最上位ビットに1を加算する機能を有する半
加算器290とを備え、さらに全加算器293がブレン
ディング係数の最上位ビットFSRC[3],FDST
[3]に応じて生成された部分積の符号ビットよりも上
位ビットに1を加算する機能を有するため、目的データ
および/またはソースデータが負の場合でもブレンドデ
ータBLEND[8:0]を正しく算出することができ
る。
【0062】また、半加算器263のキャリー入力、全
加算器273および283のデータ入力、および全加算
器293のデータ入力が変更されただけであるため、演
算速度が大幅に遅延することはない。また、半加算器2
90中のマルチプレクサ2901の制御入力が変更さ
れ、全加算器293中にインバータ2934が追加され
ただけであるため、演算速度が大幅に遅延することはな
い。さらに、上記変更はわずかであるため、サイズが大
幅に大きくなることもない。
【0063】[実施の形態3]上記実施の形態1および
2は1画素ごとにブレンディング演算を行なうが、本発
明の実施の形態3によるブレンディング演算装置は、1
画素を表示するための色データのビット数を減らして2
画素ごと同時にブレンディング演算を行なう。
【0064】2nビットのソースデータSRC[2n−
1:0]、2mビットのブレンディング係数FSRC
[2m−1:0]、2nビットの目的データDST[2
n−1:0]、および2mビットのブレンディング係数
FDST[2m−1:0]の入力が可能な場合におい
て、2画素分の色データがそれらの上位ビット(SRC
[2n−1:n],FSRC[2m−1:m],DST
[2n−1:n],FDST[2m−1:m])と、下
位ビット(SRC[n−1:0],FSRC[m−1:
0],DST[n−1:0],FDST[m−1:
0])とに分けて入力されるとする。
【0065】このとき、求められるべきブレンドデータ
blend−upperおよびblend−lower
はそれぞれ次の式(11)および(12)で表わされ
る。
【0066】 blend−upper=DST[2n−1:n]×FDST[2m−1:m ]+SRC[2n−1:n]×FSRC[2m−1:m] …(11) blend−lower=DST[n−1:0]×FDST[m−1:0]+ SRC[n−1:0]×FSRC[m−1:0] …(12) これらのブレンドデータblend−upperおよび
blend−lowerを求めるために必要な部分積
は、図22に示されるように、そもそも加算器ツリーの
中に部分的に存在する(図中平行四辺形で囲まれた部
分)。
【0067】したがって、平行四辺形で囲まれていない
部分積のビットを図23に示されるように強制的にゼロ
にリセットすれば、2画素分のブレンドデータblen
d−upperおよびblend−lowerが得られ
る。
【0068】このとき、ブレンドデータblend−l
owerからブレンドデータblend−upperへ
のキャリーは考慮する必要がない。なぜなら、ブレンド
データblend−lowerの最上位ビット(第(m
+n−2)ビット)における加算器ツリーへの入力デー
タはもともと0であり、第(m+n−3)ビット以下を
加算しても、キャリーは最上位の第(m+n−2)ビッ
トで終了するからである。したがって、ブレンドデータ
blend−upperおよびblend−lower
は加算器ツリーの出力から直接得ることができる。
【0069】図24は、本発明の実施の形態3によるブ
レンディング演算装置の具体的な構成を示すブロック図
である。図4に示されたセレクタ122,123,13
2,133,140,141,150,151に代え
て、ゼロリセット機能付セレクタ322,323,33
2,333,340,341,350,351を備え
る。このセレクタ322は、図25に示されるように、
セレクタ122と同じセレクタ3220と、ANDゲー
ト3221とを含む。
【0070】ブレンディング演算を1画素ごとに行なう
通常モードでは、モード信号MODEとして1が与えら
れるため、このブレンディング演算装置は上記実施の形
態1と同様に動作する。これに対し、ブレンディング演
算を2画素ごと同時に行なう減色モードでは、モード信
号MODEとして0が与えられる。したがって、次の式
(13)および(14)でそれぞれ表わされるブレンド
データBLEND[3:0]およびBLEND[7:
4]が得られる。
【0071】 BLEND[3:0]=SRC[0]×FSRC[1:0]+DST[0]× FDST[1:0] …(13) BLEND[7:4]=SRC[2]×FSRC[3:2]+DST[2]× FDST[3:2] …(14) 上記のように、本発明の実施の形態3によるブレンディ
ング演算装置は、ゼロリセット機能付セレクタ322,
323,332,333,340,341,350,3
51を備えるため、通常モードでは4×4ビットの乗算
を行なうが、減色モードでは2×2ビットの2つの乗算
を同時に行なうことができる。また、セレクタ3220
にANDゲート3221を追加しただけなので、サイズ
が大幅に大きくなることもない。
【0072】[その他の実施の形態]上記実施の形態1
〜3はキャリーセーブ加算器を用いているが、これに代
えて、たとえば「IEEE Trans.Electr
on.Comput.,EC−13:14〜17頁(1
964年)」に示されたワレスツリー(Wallace Tre
e)、「Alta Freq.34:349−356頁
(1965年)」に示されたダッダツリー(Dadda Tre
e)、または「IEEE Trans.On Comu
t.Vol.45,No.3,294−305頁(19
96年)に示された加算器ツリー(Adder Tree)を用い
てもよい。
【0073】
【発明の効果】請求項1に係る演算装置は、第1および
第2の被乗数を加算する第1の加算手段と、その加算手
段からの和、第1および第2の被乗数、ならびに0のう
ち1つを選択して部分積を生成する選択手段とを備える
ため、その生成された部分積を加算する加算器ツリーの
サイズが従来の半分になる。その結果、演算装置全体の
サイズが小さくなり、かつその演算速度も早くなる。
【0074】請求項2に係る演算装置は、請求項1の効
果に加えて、上記選択手段の各々はn個のセレクタを含
むため、この演算装置の構成が単純になる。
【0075】請求項3に係る演算装置は、請求項2の効
果に加えて、加算器ツリーはアレイ状に配列された複数
の加算器を含むため、この演算装置の構成がより単純に
なる。
【0076】請求項4に係る演算装置は、請求項1から
3のいずれかの効果に加えて、部分積の最上位ビットを
反転する反転手段と、乗数の最下位ビットに応じて生成
された部分積の最上位ビットと、乗数の最上位ビットに
応じて生成された部分積の最上位ビットよりも1つ上位
ビットに1を加算する第2の加算手段とを備えるため、
第1および第2の乗数が負であっても2つの積の和を正
しく演算することができる。
【0077】請求項5に係る演算装置は、請求項1から
3のいずれかの効果に加えて、乗数の上位ビットに応じ
て生成された部分積の上位ビットと、乗数の下位ビット
に応じて生成された部分積の下位ビットとをゼロにリセ
ットするリセット手段を備えるため、n×mビットの乗
算だけでなく、それよりも少ないビット数の乗算を2つ
同時に行なうことができる。
【図面の簡単な説明】
【図1】 2つの乗算器を用いた典型的なブレンディン
グ演算装置の構成を示す概念図である。
【図2】 ブレンディング係数の同一ビットに応じて生
成された2つの部分積を先に算出する方法を説明するた
めの概念図である。
【図3】 本発明の実施の形態1によるブレンディング
演算装置の構成を示す概念図である。
【図4】 図3に示されたブレンディング演算装置の具
体的な構成を示すブロック図である。
【図5】 図4に示された半加算器の構成を示す回路図
である。
【図6】 図4に示された全加算器の構成を示す回路図
である。
【図7】 図4に示されたもう1つの全加算器の構成を
示す回路図である。
【図8】 図4に示されたもう1つの半加算器の構成を
示す回路図である。
【図9】 図4に示されたさらにもう1つの全加算器の
構成を示す回路図である。
【図10】 図4に示されたさらにもう1つの全加算器
の構成を示す回路図である。
【図11】 図4に示されたさらにもう1つの全加算器
の構成を示す回路図である。
【図12】 図5に示された排他的ORゲートの構成を
示す回路図である。
【図13】 図6に示された排他的NORゲートの構成
を示す回路図である。
【図14】 図5に示されたマルチプレクサの構成を示
す回路図である。
【図15】 ソースデータまたは目的データが負の場合
における部分積の構成を示す概念図である。
【図16】 本発明の実施の形態2によるブレンディン
グ装置において生成される部分積の構成を示す概念図で
ある。
【図17】 図16に示されたブレンディング演算装置
の具体的な構成を示すブロック図である。
【図18】 図17に示された半加算器の構成を示す回
路図である。
【図19】 図17に示されたもう1つの半加算器の構
成を示す回路図である。
【図20】 図17に示された全加算器の構成を示す回
路図である。
【図21】 図19に示されたマルチプレクサの構成を
示す回路図である。
【図22】 本発明の実施の形態3によるブレンディン
グ演算装置の原理を説明するための概念図である。
【図23】 図22に示されたブレンディング演算装置
の原理を説明するためのもう1つの概念図である。
【図24】 図22および図23に示されたブレンディ
ング演算装置の具体的な構成を示すブロック図である。
【図25】 図24に示されたゼロリセット機能付セレ
クタの構成を示す回路図である。
【符号の説明】
1,2,4 部分積、11,21 プレ加算器、11
0,160〜163,190,263,290 半加算
器、111〜113,170〜173,180〜18
3,191〜193,273,283,293 全加算
器、12〜15 選択回路、120〜124,130〜
134,140〜144,150〜154セレクタ、3
22,323,332,333,340,341,35
0,351ゼロリセット機能付セレクタ。
【手続補正書】
【提出日】平成9年9月30日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項5
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正内容】
【0010】請求項5に係る演算装置は、請求項1から
3のいずれかの構成に加えて、マスク手段をさらに備え
る。マスク手段は、第1および第2の乗数の上位ビット
に応じて生成された部分積の上位ビットと、第1および
第2の乗数の下位ビットに応じて生成された部分積の下
位ビットとをゼロにマスクする。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0040
【補正方法】変更
【補正内容】
【0040】排他的ORゲート1100は、たとえば図
12に示されるように、インバータ11000と、マル
チプレクサ11001と、インバータ11002とを含
む。マルチプレクサ11001は、一方の入力信号I1
に応答して、インバータ11000の出力信号または他
方の入力信号I2を選択する。図6に示された排他的O
Rゲート1110、図7に示された排他的ORゲート1
120、図8に示された排他的ORゲート1900、図
9に示された排他的ORゲート1912、および図11
に示された排他的ORゲート1931もこの排他的OR
ゲート1100と同様に構成される。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0045
【補正方法】変更
【補正内容】
【0045】 BLEND=SRC×FSRC−DST×FDST …(2) BLEND=−SRC×FSRC+DST×FDST …(3) 上記式(2)の場合、目的データが負(−DST)であ
る。上記式(3)の場合、ソースデータが負(−SR
C)である。したがって、ソースおよび目的データを2
の補数表示による符号ビット付数字に拡張する必要があ
る。上記式(2)の場合、目的データ(−DST)の最
上位ビットは1になる。上記式(3)の場合、ソースデ
ータ(−SRC)の最上位ビットは1になる。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0050
【補正方法】変更
【補正内容】
【0050】 sign=(−2(m+1) ×1+2m ×/pm [n]+…+22 ×/p2 [n] +21 ×/p1 [n]+20 ×/p0 [n]+1)×2n …(6) すなわち、図16に示されるように部分積を表現し直
し、さらに上記式(6)のように部分積{/p
m [n],pm [n−1],pm [n−2],…,pm
[2],pm [1],pm [0]}の符号拡張を行な
い、その符号ビットよりも上位ビットに1を加算する。
また、部分積{/p0 [n],p0 [n−1],p
0[n−2],…,p0 [2],p0 [1],p
0 [0]}の符号ビット/p0 [n]に1を加算する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0051
【補正方法】変更
【補正内容】
【0051】たとえば上記式(2)において、ソースデ
ータSRC[2:0]が01112(710)、ブレンデ
ィング係数FSRC[3:0]が01102 (610)、
目的データ−DST[2:0]が11002 (−
10)、ブレンディング係数FDST[3:0]が00
112 (310)の場合、ブレンドデータBLEND
[8:0]として000111102 (3010)が得ら
れなければならない。この場合の部分積は、0111
(SRC)、1100(−DST)、0011(SRC
−DST)、または0000になる。次の数4に示され
るように、ブレンディング係数FSRCの第0ビットは
0でかつブレンディング係数FDSTの第0ビットは1
であるため、この第0ビットに対応する部分積は110
0(−DST)になる。ブレンディング係数FSRCお
よびFDSTの第1ビットはいずれも1であるため、こ
の第1ビットに対応する部分積は0011(SRC−D
ST)になる。ブレンディング係数FSRCの第2ビッ
トは1でかつブレンディング係数FDSTの第2ビット
は0であるため、この第2ビットに対応する部分積は0
111(SRC)になる。そして、ブレンディング係数
FSRCおよびFDSTの第3ビットはいずれも0であ
るため、この第3ビットに対応する部分積は0000に
なる。これらの部分積の和を符号拡張により算出する
と、数4のように確かに111102 (3010)が得ら
れる。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0067
【補正方法】変更
【補正内容】
【0067】したがって、平行四辺形で囲まれていない
部分積のビットを図23に示されるように強制的にゼロ
にマスクすれば、2画素分のブレンドデータblend
−upperおよびblend−lowerが得られ
る。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0069
【補正方法】変更
【補正内容】
【0069】図24は、本発明の実施の形態3によるブ
レンディング演算装置の具体的な構成を示すブロック図
である。図4に示されたセレクタ122,123,13
2,133,140,141,150,151に代え
て、マスク機能付セレクタ322,323,332,3
33,340,341,350,351を備える。この
セレクタ322は、図25に示されるように、セレクタ
122と同じセレクタ3220と、ANDゲート322
1とを含む。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0071
【補正方法】変更
【補正内容】
【0071】 BLEND[3:0]=SRC[0]×FSRC[1:0]+DST[0]× FDST[1:0] …(13) BLEND[7:4]=SRC[2]×FSRC[3:2]+DST[2]× FDST[3:2] …(14) 上記のように、本発明の実施の形態3によるブレンディ
ング演算装置は、マスク機能付セレクタ322,32
3,332,333,340,341,350,351
を備えるため、通常モードでは4×4ビットの乗算を行
なうが、減色モードでは2×2ビットの2つの乗算を同
時に行なうことができる。また、セレクタ3220にA
NDゲート3221を追加しただけなので、サイズが大
幅に大きくなることもない。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0077
【補正方法】変更
【補正内容】
【0077】請求項5に係る演算装置は、請求項1から
3のいずれかの効果に加えて、乗数の上位ビットに応じ
て生成された部分積の上位ビットと、乗数の下位ビット
に応じて生成された部分積の下位ビットとをゼロにマス
クするマスク手段を備えるため、n×mビットの乗算だ
けでなく、それよりも少ないビット数の乗算を2つ同時
に行なうことができる。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 mビットの第1の乗数およびnビットの
    第1の被乗数の積と、mビットの第2の乗数およびnビ
    ットの第2の被乗数の積との和を演算する演算装置であ
    って、 前記第1の被乗数と前記第2の被乗数とを加算する第1
    の加算手段と、 各々が、前記第1および第2の乗数の対応するビットに
    応じて、前記第1の被乗数、前記第2の被乗数、前記第
    1の加算手段からの前記第1および第2の被乗数の和、
    および0のうち1つを選択して部分積を生成するm個の
    選択手段と、 前記m個の選択手段からのm個の部分積を1ビットずつ
    シフトしてそのシフトした部分積の和を算出する加算器
    ツリーとを備える、演算装置。
  2. 【請求項2】 前記m個の選択手段の各々は、各々が、
    前記第1および第2の乗数の対応するビットの両方が1
    のとき前記第1および第2の被乗数の和の対応するビッ
    トを選択し、前記第1の乗数の対応するビットが1でか
    つ前記第2の乗数の対応するビットが0のとき前記第1
    の被乗数の対応するビットを選択し、前記第1の乗数の
    対応するビットが0でかつ前記第2の乗数の対応するビ
    ットが1のとき前記第2の被乗数の対応するビットを選
    択し、前記第1および第2の乗数の対応するビットの両
    方が0のとき0を選択するn個のセレクタを含む、請求
    項1に記載の演算装置。
  3. 【請求項3】 前記加算器ツリーはアレイ状に配列され
    た複数の加算器を含み、前記複数の加算器の各々は、そ
    の加算器よりも前記第1および第2の乗数のビットに対
    して1つ下位のn個の加算器のうち対応する1つの加算
    器のキャリー出力に接続されたキャリー入力と、前記n
    個のセレクタのうち対応する1つのセレクタの出力に接
    続された第1のデータ入力と、前記対応する1つの加算
    器よりも前記第1および第2の被乗数のビットに対して
    1つ上位の加算器のデータ出力に接続された第2のデー
    タ入力と、データ出力と、キャリー出力とを有する、請
    求項2に記載の演算装置。
  4. 【請求項4】 前記m個の部分積の最上位ビットを反転
    する反転手段と、 前記m個の部分積のうち前記第1および第2の乗数の最
    下位ビットに応じて生成された部分積の最上位ビット
    と、前記第1および第2の乗数の最上位ビットに応じて
    生成された部分積の最上位ビットよりも1つ上位ビット
    とにそれぞれ1を加算する第2の加算手段とをさらに備
    える、請求項1から3のいずれかに記載の演算装置。
  5. 【請求項5】 前記第1および第2の乗数の上位ビット
    に応じて生成された部分積の上位ビットと、前記第1お
    よび第2の乗数の下位ビットに応じて生成された部分積
    の下位ビットとをゼロにリセットするリセット手段をさ
    らに備える、請求項1から3のいずれかに記載の演算装
    置。
JP9128685A 1997-05-19 1997-05-19 演算装置 Withdrawn JPH10320378A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP9128685A JPH10320378A (ja) 1997-05-19 1997-05-19 演算装置
TW086114357A TW346597B (en) 1997-05-19 1997-10-02 Operation device
KR1019970069915A KR19980086459A (ko) 1997-05-19 1997-12-17 연산 장치
DE19757891A DE19757891C2 (de) 1997-05-19 1997-12-24 Arithmetische Betriebseinrichtung zum Berechnen einer Summe von zwei Produkten
CN98103877A CN1199891A (zh) 1997-05-19 1998-02-19 运算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9128685A JPH10320378A (ja) 1997-05-19 1997-05-19 演算装置

Publications (1)

Publication Number Publication Date
JPH10320378A true JPH10320378A (ja) 1998-12-04

Family

ID=14990903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9128685A Withdrawn JPH10320378A (ja) 1997-05-19 1997-05-19 演算装置

Country Status (5)

Country Link
JP (1) JPH10320378A (ja)
KR (1) KR19980086459A (ja)
CN (1) CN1199891A (ja)
DE (1) DE19757891C2 (ja)
TW (1) TW346597B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2373564A (en) * 1999-12-24 2002-09-25 Fujikin Kk Fluid controller

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2794258B1 (fr) * 1999-05-26 2001-09-14 St Microelectronics Sa Circuit de multiplication

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2672956B2 (ja) * 1988-01-25 1997-11-05 沖電気工業株式会社 並列乗算器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2373564A (en) * 1999-12-24 2002-09-25 Fujikin Kk Fluid controller
GB2373564B (en) * 1999-12-24 2004-05-26 Fujikin Kk Fluid controller

Also Published As

Publication number Publication date
CN1199891A (zh) 1998-11-25
KR19980086459A (ko) 1998-12-05
TW346597B (en) 1998-12-01
DE19757891A1 (de) 1998-12-03
DE19757891C2 (de) 1999-12-02

Similar Documents

Publication Publication Date Title
JP3479438B2 (ja) 乗算回路
US5726924A (en) Exponentiation circuit utilizing shift means and method of using same
EP0574018B1 (en) Accumulating multiplication circuit executing a double precision multiplication at a high speed
JPH06222908A (ja) 多数の多ビット要素を含む複合オペランドに対して並列的に算術演算を実行する方法
EP0464493B1 (en) High-radix divider
KR970006408B1 (ko) 논리회로의 자동설계방법 및 그 장치와 승산기
US5757377A (en) Expediting blending and interpolation via multiplication
US5850227A (en) Bit map stretching using operand routing and operation selective multimedia extension unit
JPH10320378A (ja) 演算装置
JPH05158659A (ja) 乗算器
JP3515170B2 (ja) 実数または複素数用の乗算器
JP3579087B2 (ja) 演算器およびマイクロプロセッサ
JP2641285B2 (ja) ガロア体除算回路及び乗除算共用回路
US20030182339A1 (en) Emod a fast modulus calculation for computer systems
JP2606326B2 (ja) 乗算器
JPH04172526A (ja) 浮動小数点除算器
JP3413940B2 (ja) 演算回路
JP2606339B2 (ja) 乗算器
JP3583443B2 (ja) 演算装置および演算方法
JP2951685B2 (ja) 固定小数点演算器
JP2619964B2 (ja) 加算、又は減算のための二入力算術演算方式及び10進加減算回路
JPH10333883A (ja) 乗算方法および乗算回路
JPS6259828B2 (ja)
JP2972326B2 (ja) 平方根計算装置
JPH06259228A (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: 20040803