JP3247759B2 - 演算処理装置 - Google Patents
演算処理装置Info
- Publication number
- JP3247759B2 JP3247759B2 JP08852393A JP8852393A JP3247759B2 JP 3247759 B2 JP3247759 B2 JP 3247759B2 JP 08852393 A JP08852393 A JP 08852393A JP 8852393 A JP8852393 A JP 8852393A JP 3247759 B2 JP3247759 B2 JP 3247759B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- input data
- bit
- signal
- input
- 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.)
- Expired - Fee Related
Links
Description
される2つの入力データを乗算する演算処理装置に関す
るものである。
ータの乗算を複数同時に実行する演算が行なわれること
がある。その演算は、多数のビットで表わされるデータ
の乗算を行なう多ビット乗算器を工夫して用いることに
より行なわれる。
ュータグラフィックにおける輝度計算がある。その輝度
計算では、具体的に、それぞれ8ビットの輝度信号のデ
ータであるα(透過率またはアンチエイリアシング混合
比)、R(赤色信号)、G(緑色信号)およびB(青色
信号)で構成されるデータの組の各データに8ビットの
定数kのデータを乗じてkα、kR、kGおよびkBが
求められる。
タをそのまま乗算した場合の演算イメージを表わす模式
図である。
単位で取扱われる第1の入力データ1および第2の入力
データ2が入力される。第1の入力データ1および第2
の入力データ2のそれぞれは、1つの領域が8ビットの
ビット幅を有する4つのデータ領域にて構成される。
である輝度信号データα,R,G,Bが1つのデータ領
域ごとに表わされる。すなわち、第1の入力データ1で
は、輝度信号データα,R,G,Bがそれぞれ8ビット
ごとに表わされる。第2の入力データ2では、乗算対象
データである定数kが、最も下位ビット側のデータ領域
に表わされ、それ以外のデータ領域には、“0”が表わ
される。すなわち、第2の入力信号では、定数kが8ビ
ットで表わされる。
タ2とが乗算されると、定数データkに、輝度信号デー
タα,R,G,Bのそれぞれが乗じられ、その結果、4
つの部分積データ51〜54が得られる。各部分積デー
タ51〜54は、40ビットのビット幅で表わされる。
ビットの領域を有し、第15ビット〜第0ビットの領域
に部分積kBが表わされる。部分積52は、第47ビッ
ト〜第8ビットの領域を有し、第23ビット〜第8ビッ
トの領域に部分積kGが表わされる。部分積53は、第
55ビット〜第16ビットの領域を有し、第31ビット
〜第16ビットの領域に部分積kRが表わされる。部分
積54は、第63ビット〜第24ビットの領域を有し、
第39ビット〜第24ビットの領域に部分積kαが表わ
される。
が加算され、第1の入力データ1と第2の入力データ2
との最終的な乗算結果を表わす出力データ55が得られ
る。出力データ55は、第63ビット〜第0ビットの6
4ビットのビット幅で表わされる。この加算において
は、各部分積データ51〜54のそれぞれにおいて部分
積kα,kR,kG,kBが表わされるビットの領域が
少しずつ重なるため、出力データ55は、各部分積の加
算値kα+kR+kG+kBを第39ビット〜第0ビッ
トにおいて40ビットのビット幅で表わす。すなわち、
第1の入力データ1と第2の入力データ2とをそのまま
の形で乗算すると、必要な部分積kα,kR,kG,k
Bがそれぞれ独立したデータとして得られない。
独立したデータとして得る演算処理装置としては、論文
“Graphics processing with
the 88110 RISC Microproc
essor”(CompCon 92, SanFra
ncisco, CA, February 199
2)の第2章2.3節(pp.170−172)に開示
されたものがある。次に、その論文に記述された演算処
理装置について説明する。この演算処理装置では、2つ
の入力データのそれぞれに対してデータ変換を行ない、
データ変換された2つの入力データを乗算するようにな
っている。
算処理装置における入力データ変換のイメージを表わす
模式図である。なお、図24において図23と一致する
部分には同番号を付しその説明を省略する。まず、デー
タの乗算に先立って第1の入力データ1および第2の入
力データ2のそれぞれについてデータ変換が行なわれ
る。第1の入力データ1は64ビットで表わされる入力
データ61に変換され、第2の入力データ2は64ビッ
トで表わされる入力データ62に変換される。
α,R,G,Bのそれぞれのデータの上位ビット側に
“0”を8ビット分拡張したフォーマットの入力データ
61に変換される。第2の入力データ2は、定数データ
kの上位ビット側に“0”を56ビット分拡張したフォ
ーマットの入力データ62に変換される。このような入
力データの変換は、部分積の加算において各部分積のビ
ット領域が重ならないようにすることを目的として行な
われる。
乗算のイメージを表わす模式図である。入力データ変換
後の入力データ61と入力データ62とが乗算される
と、その結果、複数の部分積データ63〜70が得られ
る。各部分積データ63〜70は、72ビットのビット
幅で表わされる。
ビットの領域を有し、第15ビット〜第0ビットの領域
に部分積kBが表わされ、それ以外の領域に“0”が表
わされる。部分積データ65は、第87ビット〜第16
ビットの領域を有し、第31ビット〜第16ビットの領
域に部分積kGが表わされ、それ以外の領域に“0”が
表わされる。部分積データ67は、第103ビット〜第
32ビットの領域を有し、第47ビット〜第32ビット
の領域に部分積kRが表わされ、それ以外の領域に
“0”が表わされる。部分積データ69は、第119ビ
ット〜第48ビットの領域を有し、第63ビット〜第4
8ビットの領域に部分積kαが表わされ、それ以外の領
域に“0”が表わされる。
有する部分積データ64、第95ビット〜第24ビット
の領域を有する部分積データ66、第111ビット〜第
40ビットの領域を有する部分積データ68および第1
27ビット〜第56ビットの領域を有する部分積データ
70のそれぞれには、すべての領域に“0”が表わされ
る。
が加算され、入力データ変換後の入力データ61と入力
データ62との乗算結果を表わす出力71が得られる。
出力データ71は、128ビットのビット幅で表わされ
る。この加算においては、部分積データ63,65,6
7,69における部分積kB,kG,kR,kαが表わ
されるビット領域が重ならない。このため、出力データ
71では、第63ビット〜第0ビットの領域において各
部分積kα,kR,kG,kBをそれぞれ16ビットご
とに表わし、それ以外の領域には“0”を表わす。すな
わち、入力データ変換後の入力データ61と入力データ
62とを乗算すると、必要な部分積kα,kR,kG,
kBのそれぞれが独立したデータとして得られる。
kR,kG,kBは、それぞれが16ビットで表わされ
る64ビットのデータであるため、最終的に、各部分積
が8ビットごとに表わされる32ビットのデータに変換
される。
ジを表わす模式図である。この出力フォーマット変換で
は、128ビットで表わされる出力データ71が32ビ
ットで表わされるデータ72に変換される。部分積k
α,kR,kG,kBは、それぞれが16ビットで表わ
されるため、これらの部分積が表わされる各データ領域
の上位8ビットだけが抽出され、抽出された8ビットの
部分積kα,kR,kG,kBが、それぞれ、データ7
2の8ビットのデータに変換される。
入力データの変換を行なう従来の演算処理装置では、入
力データの変換を行なうことにより入力データのビット
数が多くなるため、演算処理装置のハードウエアが大型
化し、それに伴って演算処理速度が低下するという問題
があった。
になされたものであり、入力データに含まれる複数の乗
算対象データを個別に定数倍した結果を得る乗算を行な
うためのハードウエアを小型化することを可能とし、そ
れに伴ってその演算処理速度を高速化することを可能と
する演算処理装置を提供することを目的とする。
は、所定のビット数で表わされる2つの入力データを乗
算する演算処理装置であって、入力データ変換手段、部
分積算出手段、加工手段および加算手段を含む。
象データを含む第1の入力データと、1種類の乗算対象
データを含む第2の入力データとを受け、前記第1およ
び第2の入力データに含まれる乗算対象データを、前記
第1および第2の入力データの各々のビット数が乗算対
象データの1データ分だけ拡張された新たな2つの入力
データに分配設定することにより、前記第1の入力デー
タおよび前記第2の入力データを前記新たな2つの入力
データに変換する。
段により得られた新たな2つの入力データを受け、これ
らの入力データの乗算による部分積を算出する。
れた部分積のうちの一部の部分積を加工する。
た部分積を含むすべての部分積を加算する。
数で表わされる2つの入力データを乗算する演算処理装
置であって、入力データ変換手段、部分積算出手段およ
び加算手段を含む。
に表わされる複数種類の乗算対象データを含む第1の入
力データと、前記所定ビット幅で表わされた1種類の乗
算対象データを含む第2の入力データとを受け、前記第
1の入力データについては、最上位に表わされる乗算対
象データ以外の各乗算対象データの上位ビット側に、乗
算対象データがないことを表わすデータを前記所定ビッ
ト幅だけ拡張するデータ変換を行ない、前記第2の入力
データについては、その乗算対象データの上位ビット側
に、乗算対象データがないことを表わすデータを前記第
1の入力データ全体の拡張分だけ拡張するデータ変換を
行なう。
段で変換された第1の入力データおよび第2の入力デー
タを受け、これらの入力データの乗算による部分積を算
出する。
れた部分積を加算する。請求項3に記載の本発明は、所
定のビット数で表わされる2つの入力データを乗算する
演算処理装置であって、入力データ変換手段、部分積算
出手段、加工手段および加算手段を含む。
データよりなる第1の入力データと、1種類の乗算対象
データを含む第2の入力データとを受け、これらの入力
データを、最上位ビット側から順に、前記4種類の乗算
対象データのうちの2つのデータの一方、“0”、前記
2つのデータの他方、“0”および前記1種類の乗算対
象データを並べて構成される新たな第1の入力データ
と、最上位ビット側から順に、前記1種類の乗算対象デ
ータ、“0”、前記4種類の乗算対象データのうちの残
りの2つのデータの一方、“0”および前記残りの2つ
のデータの他方を並べて構成される新たな第2の入力デ
ータとに変換する。
段により得られる新たな第1の入力データおよび新たな
第2の入力データを受け、これらの入力データの乗算に
よる部分積を算出する。
れた部分積のうちの一部の部分積を加工する。
た部分積を含むすべての部分積を加算する。請求項4に
記載の本発明は、請求項2に記載の演算処理装置の構成
において、前記複数種類の乗算対象データは、各々8ビ
ットで表現される。前記入力データ変換手段は、前記第
1および第2の入力データをそれぞれ56ビット幅に拡
張する。前記演算処理装置は、さらに、第1および第2
の浮動小数点データのそれぞれ指数部を加算する指数部
加算器を備え、前記第1および第2の入力データを、そ
れぞれ前記第1および第2の浮動小数点データの仮数部
として受ける。 請求項5に記載の本発明は、入力データ
変換手段と、部分積算出手段と、加算手段とを備える。
入力データ変換手段は、各々同一のNビット幅の第1お
よび第2の入力データを受け、当該第1および第2の入
力データを、前記Nビット幅より広いビット幅に拡張さ
れた第3および第4の入力データに変換する。 部分積算
出手段は、前記入力データ変換手段から出力される第3
および第4の入力データを受け、前記第3および第4の
入力データの間の乗算による部分積を算出する。 加算手
段は、前記部分積算出手段で算出された部分積を加算す
る。 前記入力データ変換手段は、前記第1の入力データ
の最下位ビットから数えて所定のビット位置にあるnビ
ットのデータを伝搬する第1の信号線と(nはNより小
さい整数) 、第1のセレクタと、第2のセレクタとを含
む。 第1のセレクタは、第2の信号線と、第3の信号線
と、前記第1の信号線に接続された第1の入力ノード
と、前記第2の信号線に接続された第2の入力ノードと
を有し、選択信号が第1の値を示すときには前記第1の
入力ノードで受ける値を、前記選択信号が第2の値を示
すときには前記第2の入力ノードで受けた値をそれぞれ
選択して、前記第3の入力データの最下位ビットから数
えて前記所定のビット位置と同一のビット位置に出力す
る。 第2のセレクタは、前記第3の信号線に接続された
第3の入力ノードと、前記第1の信号線に接続された第
4の入力ノードとを有し、前記選択信号が前記第1 の値
を示すときには前記第3の入力ノードで受けた値を、前
記選択信号が前記第2の値を示すときには前記第4の入
力ノードで受けた値をそれぞれ選択し、前記第3の入力
データの最下位ビットから数えて前記所定のビット位置
とは異なるビット位置に出力する。 請求項6に記載の本
発明は、請求項5に記載の演算処理装置の構成におい
て、前記第3の信号線は、前記第1の入力データの別の
nビットのデータを伝搬する信号線である。
データおよび第2の入力データに含まれる乗算対象デー
タは、入力データ変換手段によりこれらの入力データよ
りも乗算対象データの1データ分拡張された新たな2つ
の入力データに分配設定される。この場合、少なくと
も、元の入力データの乗算により得られる部分積の各々
が異なるビット領域で得られるように乗算対象データが
分配される。前記新たな2つの入力データを乗算して部
分積が算出されると、算出された部分積の中には元の入
力データの乗算結果としては不要な部分積が含まれる。
この不要な部分積は加工手段により、最終的な乗算結果
に影響を及ぼさないように加工される。この加工された
部分積を含むすべての部分積は、加算手段により加算さ
れ、その結果、必要な部分積のみが、それぞれ独立した
データとして得られる。
よれば、第1の入力データは、入力データ変換手段によ
り、最上位側に表わされる乗算対象データを除く乗算対
象データの上位ビット側に、乗算対象データがないこと
を表わすデータが所定ビット幅だけ拡張されたデータに
変換される。また、第2の入力データは、入力データ変
換手段により、乗算対象データの上位ビット側に乗算対
象データがないことを表わすデータが第1の入力データ
全体の拡張分だけ拡張されたデータに変換される。すな
わち、第1の入力データは、乗算対象データが1データ
置きに配列された構成となる。このため、部分積算出手
段により変換後の入力データを乗算して部分積が算出さ
れると、算出された部分積の各々は、異なるビット領域
で表わされる。このような部分積は加算手段により加算
され、その結果、最終的な乗算結果として各部分積が独
立したデータとして得られる。
入力データおよび第2の入力データに含まれる乗算対象
データは、入力データ変換手段により新たな入力データ
に変換される。新たな第1の入力データは、最上位ビッ
ト側から順に、4種類の乗算対象データのうちの2つの
データの一方、“0”、前記2つのデータの他方、
“0”および第2の入力データに含まれる1種類の乗算
対象データを並べて構成され、新たな第2の入力データ
は、最上位ビット側から順に、前記1種類の乗算対象デ
ータ、“0”、前記4種類の乗算対象データのうちの残
りの2つのデータの一方、“0”および前記残りの2つ
のデータの他方を並べて構成される。このため、部分積
算出手段により新たな2つの入力データを乗算して部分
積が算出されると、その算出された部分積の中には元の
入力データの乗算結果としては不要な部分積が含まれ
る。この不要な部分積は加工手段により、最終的な演算
結果に影響を及ぼさないように加工される。加工された
部分積を含むすべての部分積は加算手段により加算さ
れ、必要な部分積のみが最終的な乗算結果として独立し
たデータにて得られる。請求項5および請求項6に記載
の本発明によれば、第1、第2の入力データをビット幅
の拡張した第3、第4の入力データに変換することがで
きる。さらに、第1、第2のセレクタによって、第3の
入力データを生成、出力するにあたり、第1の入力に含
まれる一部のビットを、同一のビット位置および異なる
ビット位置にそれぞれ選択的に配置することができる。
説明する。
の乗算を行なう場合、まず、2つの入力データを所定フ
ォーマットのデータに変換する入力データ変換を行な
い、その後、その変換した2つの入力データを乗算す
る。
おける入力データ変換のイメージを表わす模式図であ
る。第1の入力データ1および第2の入力データ2は、
図24に示したものと同じ構成の32ビットのデータで
ある。
α,R,G,BのうちのR,G,Bのそれぞれのデータ
の上位ビット側に“0”を8ビット分拡張したフォーマ
ットの入力データ11に変換される。第2の入力データ
2は、定数データkの上位ビット側に“0”を24ビッ
ト分拡張し、その結果定数データkの上位ビット側に
“0”を56ビット分表わしたフォーマットの入力デー
タ12に変換される。このような入力データ変換により
得られる新たな入力データ11,12は、それぞれ56
ビットのデータである。このような入力データ変換は、
後述する部分積データの算出において各部分積データに
表わされる部分積のビット領域が重ならないようにする
ことを目的として行なわれる。
おける乗算のイメージを表わす模式図である。入力デー
タ変換により得られた入力データ11および入力データ
12が乗算されると、入力データ12に含まれる定数デ
ータkに対して入力データ11に含まれるα,0,R,
0,G,0,Bの各データが乗じられ、その結果、複数
の部分積データ13〜19が得られる。各部分積データ
13〜19は、64ビットのビット幅で表わされる。
ビットのビット領域を有し、第15〜第0ビットのビッ
ト領域に部分積kBが表わされる。部分積データ15
は、第79ビット〜第16ビットのビット領域を有し、
第31ビット〜第16ビットのビット領域に部分積kG
が表わされる。部分積データ17は、第95ビット〜第
32ビットのビット領域を有し、第47ビット〜第32
ビットのビット領域に部分積kRが表わされる。部分積
データ19は、第111ビット〜第48ビットのビット
領域を有し、第63ビット〜第48ビットのビット領域
に部分積kαが表わされる。
領域を有する部分積データ14、第87ビット〜第24
ビットのビット領域を有する部分積データ16および第
103ビット〜第40ビットのビット領域を有する部分
積データ18のそれぞれには、すべての領域に“0”が
表わされる。
が加算され、入力データ11と入力データ12との最終
的な乗算結果を表わす出力データ20が得られる。この
出力データ20は、112ビットのビット幅で表わされ
る。このような加算においては、部分積データ13,1
5,17,19における部分積kα,kR,kG,kB
が表わされるビット領域が重ならないため、出力データ
20は、各部分積kα,kR,kG,kBを最上位ビッ
ト側から順に16ビットごとに64ビットのビット幅で
表わす。
ータ11のフォーマットに変換され、第2の入力データ
2が入力データ12のフォーマットに変換されると、こ
れらの入力データの乗算により、必要な部分積kα,k
R,kG,kBのそれぞれが独立したデータとして得ら
れる。
と、変換後の入力データのそれぞれは、従来の入力デー
タよりも8ビット分縮小できる。その結果、乗算に使用
する乗算器のサイズを従来よりも小さくすることができ
る。このため、前記乗算器を含む演算処理装置は、ハー
ドウエアのサイズが従来よりも小さくなり、従来よりも
高速で演算を行なうことが可能となる。
図2に示した乗算を実現するための演算処理装置につい
て説明する。
全体構成を示すブロック図である。第1の入力データ1
を表す第1の入力データ信号aおよび第2の入力データ
2を表す第2の入力データ信号bは、図1に示すような
入力データ変換を行なう入力データ変換器100に与え
られる。入力データ変換器100には、その他にも、前
記入力データ変換を実行するか否かを選択するための指
令信号である選択信号Sが与えられる。入力データ変換
器100では、変換後の入力データ信号a1,b1を乗
算器200に与える。
り、与えられた入力データa1,b1について、図2に
示すような乗算を行ない、その乗算結果を出力する。
おける入力データ変換器100の詳細な構成を示すブロ
ック図である。図4において、データを表わす信号はバ
ス表記で示す。この場合、たとえば、第nビット〜第0
ビットのビット領域を有する(n+1)ビットのa信号
は、a〈n:0〉と表わす。
データ1を表わす入力データ信号a〈31:0〉が、入
力データ11を表わす入力データ信号a1〈31:0〉
に変換され、第2の入力データ2を表わす入力データ信
号b〈31:0〉が、入力データ12を表わす入力デー
タ信号b1〈31:0〉に変換される。
は、変換後の入力データ信号a1の第7〜第0ビットの
データ信号としてそのまま出力される。入力データ信号
aの第15〜第8ビットは、セレクタ101の第1入力
ノードおよびセレクタ102の第2入力ノードに与えら
れる。入力データ信号aの第23〜第16ビットは、セ
レクタ102の第1入力ノードおよびセレクタ104の
第2入力ノードに与えられる。入力データ信号aの第3
1〜第24ビットは、セレクタ103の第1入力ノード
およびセレクタ105の第2入力ノードに与えられる。
セレクタ101の第2入力ノード、セレクタ103の第
2入力ノード、セレクタ104の第1入力ノードおよび
セレクタ105の第1入力ノードのそれぞれには、
“0”を表わす信号が入力される。このような“0”を
表わす信号は、その他にも、入力データ信号a1の第4
7〜第40ビットのデータ信号としてそのまま出力され
る。
選択信号Sが与えられる。各セレクタ101〜105
は、第1入力ノードおよび第2入力ノードに与えられる
信号を選択的に出力するものである。各セレクタ101
〜105では、選択信号Sが“0”を表わす場合には第
1入力ノードに与えられる信号を出力し、選択信号Sが
“1”を表わす場合には第2入力ノードに与えられる信
号を出力する。セレクタ101の出力信号は、入力デー
タ信号a1の第15〜第8ビットのデータ信号として出
力される。セレクタ102の出力信号は、入力データ信
号a1の第23〜第16ビットのデータ信号として出力
される。セレクタ103の出力信号は、入力データ信号
a1の第31〜第24ビットのデータ信号として出力さ
れる。セレクタ104の出力信号は、入力データ信号a
1の第39〜第32ビットのデータ信号として出力され
る。セレクタ105の出力信号は、入力データ信号a1
の第55〜第48ビットのデータ信号として出力され
る。
データ信号a1は、選択信号Sが“1”の場合(入力デ
ータ変換を行なう場合)には、第7〜第0ビットが
“B”、第15〜第8ビットが“0”、第23〜第16
ビットが“G”、第31〜第24ビットが“0”、第3
9〜第32ビットが“R”、第47〜第40ビットが
“0”、第55〜第48ビットが“α”を表わす。すな
わち、図1に示す入力データ変換が行なわれる。
ータ変換を行なわない場合)は、入力データ信号a1
は、第31〜第0ビットのビット領域において最上位ビ
ット側から8ビットごとにα,R,G,Bを表わし、第
55〜第32ビットにおいて8ビットごとに“0”を表
わす。
トは、変換後の入力データ信号b1の第7〜第0ビット
のデータ信号としてそのまま出力される。同様に、入力
データ信号bの第15〜第8ビット、第23〜第16ビ
ットおよび第31〜第24ビットは、それぞれ、入力デ
ータ信号b1の第15〜第8ビット、第23〜第16ビ
ットおよび第31〜第24ビットのデータ信号としてそ
のまま出力される。さらに、“0”を表わす信号が、入
力データ信号b1の第39〜第32ビット、第47〜第
40ビットおよび第55〜第48ビットとして出力され
る。
信号Sに応答して、入力データの変換を選択的に実行す
ることができる。
5および図6は、乗算器200の構成を示す模式的ブロ
ック図である。図5および図6においては、図4と同様
にバス表記を行なってある。また、図5および図6にお
いては、同じ回路ブロック(たとえばANDゲート)の
集合体である場合には、その1つを代表として図示する
とともにその回路ブロックの横に回路個数mを表わす
〈×m〉を記述してアレイ表記にしてある。
1,201,…、7段の56ビットキャリーセーブ加算
器アレイ202、8段の56ビットキャリーセーブ加算
器アレイ203〜208および112ビット加算器20
9を含む。
は、入力データ信号a1の各ビットの信号と入力データ
信号b1の各ビットの信号とが与えられる。ANDゲー
ト201,…の各々は、与えられた信号間での論理積演
算を行なう。その演算結果は、56ビットキャリーセー
ブ加算器アレイ202,203〜208に与えられる。
ットの各データ信号と入力データ信号b1における第5
5〜第0ビットの各データ信号との演算結果は、56ビ
ットキャリーセーブ加算器アレイ202に与えられる。
入力データ信号a1における第15〜第8ビットの各デ
ータ信号と入力データ信号b1における第55〜第0ビ
ットの各データ信号との演算結果は、56ビットキャリ
ーセーブ加算器アレイ203に与えられる。入力データ
信号a1における第23〜第16ビットの各データ信号
と入力データ信号b1における第55〜第0ビットの各
データ信号との乗算結果は、56ビットキャリーセーブ
加算器アレイ204に与えられる。入力データ信号a1
における第31〜第24ビットの各データ信号と入力デ
ータ信号b1における第55〜第0ビットの各データ信
号との乗算結果は、56ビットキャリーセーブ加算器ア
レイ205に与えられる。
2ビットの各データ信号と入力データ信号b1における
第55〜第0ビットの各データ信号との演算結果は、5
6ビットキャリーセーブ加算器アレイ206に与えられ
る。入力データ信号a1における第47〜第40ビット
の各データ信号と入力データ信号b1における第55〜
第0ビットの各データ信号との演算結果は、56ビット
キャリーセーブ加算器アレイ207に与えられる。入力
データ信号a1における第55〜第48ビットの各デー
タ信号と入力データ信号b1における第55〜第0ビッ
トの各データ信号との演算結果は、56ビットキャリー
セーブ加算器アレイ208に与えられる。
02では、ANDゲート201,…から与えられた演算
結果を加算する。そして、その加算結果のうち、第7〜
第0ビットのデータを表わす和信号s〈7:0〉を11
2ビット加算器209に与え、残りのビットのデータを
表わす和信号s〈62:8〉およびキャリー信号c〈6
3:8〉を56ビットキャリーセーブ加算器アレイ20
3に与える。56ビットキャリーセーブ加算器アレイ2
03では、ANDゲート201,…から与えられた演算
結果と、和信号s〈62:0〉およびキャリー信号c
〈63:8〉とに基づいてデータの加算を行なう。そし
て、その加算結果のうち、第15〜第8ビットのデータ
を表わす和信号s〈15:8〉を112ビット加算器2
09に与え、残りのビットのデータを表わす和信号s
〈70:16〉およびキャリー信号c〈71:16〉を
56ビットキャリーセーブ加算器アレイ204に与え
る。
04では、ANDゲート201,…から与えられた演算
結果と和信号s〈70:16〉およびキャリー信号c
〈71:16〉に基づいてデータの加算を行なう。そし
て、その加算結果のうち、第23〜第16ビットのデー
タを表わす和信号s〈23:16〉を112ビット加算
器209に与え、残りのビットのデータを表わす和信号
s〈78:24〉およびキャリー信号c〈79:24〉
を56ビットキャリーセーブ加算器アレイ205に与え
る。
05では、ANDゲート201,…から与えられた演算
結果と、和信号s〈78:24〉およびキャリー信号c
〈79:24〉に基づいてデータの加算を行なう。そし
て、その加算結果のうち、第31〜第24ビットのデー
タを表わす和信号s〈31:24〉を112ビット加算
器209に与え、残りのビットのデータを表わす和信号
s〈86:32〉およびキャリー信号c〈87:32〉
を56ビットキャリーセーブ加算器アレイ206に与え
る。
06では、ANDゲート201,…から与えられた演算
結果と、和信号s〈86:32〉およびキャリー信号c
〈87:32〉とに基づいてデータの加算を行なう。そ
して、その加算結果のうち、第39〜第32ビットのデ
ータを表わす和信号s〈39:32〉を112ビット加
算器209に与え、残りのビットのデータを表わす和信
号s〈94:40〉およびキャリー信号c4〈95:4
0〉を56ビットキャリーセーブ加算器アレイ207に
与える。
07では、ANDゲート201,…から与えられた演算
結果と、和信号s〈94:40〉およびキャリー信号c
〈95:40〉とに基づいてデータの加算を行なう。そ
して、その加算結果のうち、第55〜第40ビットのデ
ータを表わす和信号s〈55:40〉を112ビット加
算器209に与え、残りのビットのデータを表わす和信
号s〈102:48〉およびキャリー信号c〈103:
48〉を56ビットキャリーセーブ加算器アレイ208
に与える。
08では、ANDゲート201,…から与えられた演算
結果と、和信号s〈102:48〉およびキャリー信号
c〈103:48〉とに基づいてデータの加算を行な
う。そして、全ビットのデータを表わす和信号s〈11
0:56〉およびキャリー信号c(111:56〉を1
12ビット加算器209に与える。
ットキャリーセーブ加算器アレイ202〜208から与
えられた和信号sおよび56ビットキャリーセーブ加算
器アレイ208から与えられたキャリー信号cに基づい
てデータの加算を行ない、その加算結果を出力する。
に示した部分積データ13〜19のそれぞれが、56ビ
ットキャリーセーブ加算器アレイ202〜208によっ
て得られ、図2に示した出力データ20が112ビット
加算器209によって得られる。
算器アレイ202を詳細に説明する。図7は、7段の5
6ビットキャリーセーブ加算器アレイ202の詳細な構
成を示す模式的ブロック図である。56ビットキャリー
セーブ加算器アレイ202は、7段接続されたキャリー
セーブ加算器2021〜2027を含む。
02において、ANDゲート201,…からの演算結果
は次のように与えられる。入力データ信号a1の第0ビ
ットのデータ信号a1〈0〉と入力データ信号b1の第
0ビットのデータ信号b1〈0〉との間の演算結果a1
〈0〉b1〈0〉が、そのまま和信号s〈0〉として1
12ビット加算器209に出力される。データ信号a1
〈0〉と入力データ信号b1の第55〜第1ビットのデ
ータ信号b1〈55:1〉との間の演算結果a1〈0〉
b1〈55:1〉と、入力データ信号a1の第1ビット
のデータ信号a1〈1〉と入力データ信号b1の第55
〜第0ビットのデータ信号b1〈55:0〉との間の演
算結果a1〈1〉b1〈55:0〉とが第1段目の56
ビットキャリーセーブ加算器2021に与えられる。
め、a1〈L〉b1〈M:N〉は、入力データ信号a1
の第Lビットのデータ信号と、入力データ信号b1の第
Mビット〜第Nビットのデータ信号との間の論理積演算
結果を表わすものと定義する。ただし、L,M,Nはそ
れぞれ整数である。
0〉は、第2段目の56ビットキャリーセーブ加算器2
022に与えられる。演算結果a1〈3〉b1〈55:
0〉は、第3段目の56ビットキャリーセーブ加算器2
023に与えられる。演算結果a1〈4〉b1〈55:
0〉は、第4段目の56ビットキャリーセーブ加算器2
024に与えられる。演算結果a1〈5〉b1〈55:
0〉は、第5段目の56ビットキャリーセーブ加算器2
025に与えられる。演算結果演算結果a1〈6〉b1
〈55:0〉は、第6段目の56ビットキャリーセーブ
加算器2026に与えられる。演算結果a1〈7〉b1
〈55:0〉は、第7段目の56ビットキャリーセーブ
加算器2027に与えられる。
器2021では、与えられた演算結果a1〈0〉b1
〈55:1〉および演算結果a1〈1〉b1〈55:
1〉についてデータの加算を行なう。その加算結果のう
ち、第1ビットのデータを表わす和信号s〈1〉が11
2ビット加算器209に向けて出力される。それ以外の
ビットのデータを表わす和信号s〈56:2〉およびキ
ャリー信号c〈57:2〉が次段の56ビットキャリー
セーブ加算器2022に与えられる。
セーブ加算器2022〜2026では、それぞれの前段
の加算器から与えられる和信号sおよびキャリー信号c
および前述の演算結果a1・b1についてデータの加算
を行なう。その加算結果のうち、最下位のビット(2,
3,4,5,6,または7)のデータを表わす和信号s
〈2〉,s〈3〉,s〈4〉,s〈5〉またはs〈6〉
を112ビット加算器209に出力する。第7段目の5
6ビットキャリーセーブ加算器2027では、その前段
の加算器から与えられる和信号s〈62:8〉およびキ
ャリー信号c〈63:8〉と演算結果a1〈7〉b1
〈55:0〉とについてデータの加算を行なう。その加
算結果のうち、第7ビットのデータを表わす和信号s
〈7〉が112ビット加算器209に向けて出力され
る。それ以外のビットのデータを表わす和信号s〈6
2:8〉およびキャリー信号c〈63:8〉が、56ビ
ットキャリーセーブ加算器アレイ203に向けて出力さ
れる。
算器アレイ203〜208について詳細に説明する。こ
れらの構成はそれぞれ同じであるため、56ビットキャ
リーセーブ加算器アレイ203を代表例として説明す
る。図8は、8段の56ビットキャリーセーブ加算器ア
レイ203の詳細な構成を示す模式的ブロック図であ
る。56ビットキャリーセーブ加算器アレイ203は、
8段接続されたキャリーセーブ加算器2031〜203
8を含む。
器2031には、ANDゲート201,…からその56
ビットキャリーセーブ加算器アレイ203に与えられる
演算結果のうち、入力データ信号a1の最下位のビット
(たとえば第8ビット)と入力データ信号b1〈55:
0〉との間の演算結果が与えられる。2段目以降の56
ビットキャリーセーブ加算器2032〜2038には、
順次入力データ信号a1のビットが1ずつ繰上がったビ
ット(たとえば9,10,11,12,13,14また
は15ビット)のデータ信号と入力データ信号b1〈5
5:0〉との間の演算結果が与えられる。
ブ加算器2031には、56ビットキャリーセーブ加算
器アレイ203の前段の56ビットキャリーセーブ加算
器アレイ202から和信号s〈62:8〉およびキャリ
ー信号c〈63:8〉が与えられる。第1段目の56ビ
ットキャリーセーブ加算器2031では、与えられた演
算結果a1〈8〉b1〈55:0〉、和信号s〈62:
8〉およびキャリー信号c〈63:8〉についてデータ
の加算を行なう。その加算結果のうち、第8ビットのデ
ータを表わす和信号s〈8〉が112ビット加算器20
9に与えられる。そして、残りのビットのデータを表わ
す和信号s〈63:9〉およびキャリー信号c〈64:
9〉は次段の56ビットキャリーセーブ加算器2032
に与えられる。
セーブ加算器2032〜2037では、それぞれの前段
の加算器から与えられた和信号sと、キャリー信号c
と、ANDゲート201,…から与えられた演算結果と
について加算を行なう。その加算結果のうち、最下位の
ビット(9,10,11,12,13または14ビッ
ト)のデータを表わす和信号s〈9〉,s〈10〉,s
〈11〉,s〈12〉,s〈13〉またはs〈14〉)
を112ビット加算器209に与える。
器2038では、その前段の加算器から与えられる和信
号sと、キャリー信号cと、ANDゲート201,…か
ら与えられる前述の演算結果について加算を行なう。そ
の加算結果のうち、最下位のビット(第15ビット)の
データを表わす和信号(s〈15〉や)を112ビット
加算器209に与える。そして、残りのビットのデータ
を表わす和信号s〈70:16〉およびキャリー信号c
〈71:16〉は、次段の56ビットキャリーセーブ加
算器アレイ204に与えられる。
キャリーセーブ方式の乗算方法は、一般に広く知られて
いるものであり、たとえば、David A.Patt
erson、John L. Hennessy著Co
mputer Archetecture: A Qu
antitative ApproachのA44〜A
49頁に記載されている。このため、キャリーセーブ加
算器アレイおよびキャリーセーブ方式の乗算方法につい
ての詳細な説明は省略する。
タは、16ビットごとに1つのデータを表わしているた
め、各16ビットのデータのそれぞれの上位8ビットを
抽出して、32ビットのフォーマットに変換する。
置では、入力データ変換器100により、乗算器200
における乗算により得られる部分積データのそれぞれ
が、必要な部分積を異なるビット領域にて表わすことが
できるように、入力データが新たな入力データに変換さ
れる。このため、乗算器200により最終的に得られる
乗算結果は、各部分積kα,kR,kG,kBをそれぞ
れ異なるビット領域で表わすデータとなる。
明する第2実施例の演算処理装置は、IEEE浮動小数
点規格に対応する浮動小数点演算用の乗算装置について
第1実施例による演算処理装置を適用したものである。
図9は、第2実施例による演算処理装置の全体の構成を
示す模式的ブロック図である。ただし、図9において
は、演算処理装置のうち、装置の構成の説明のために必
要な部分のみを抜粋して示し、丸め処理部などの他の周
辺部は省略してある。
1、指数部加算器302、入力フォーマット変換器30
3、乗算器304および出力フォーマット変換器305
を含む。
aと、入力データ信号Fbと、選択信号Sとが入力され
る。入力データ信号Fa,Fbは、ともに64ビットの
ビット幅にて表わされる浮動小数点形式のデータ信号で
ある。選択信号Sは、浮動小数点演算および輝度計算の
うちの一方の実行を選択するための信号である。入力デ
ータ信号Fa,Fbは、次のように各部に与えられる。
それぞれの入力データ信号Fa,Fbの符号ビットに相
当する第63ビットのデータ信号が符号デコーダ301
に与えられる。それぞれの入力データ信号Fa,Fbの
指数部に相当する第62〜第52ビットのデータ信号が
指数部加算器302に与えられる。それぞれの入力デー
タ信号Fa,Fbの仮数部に相当する第51〜第0ビッ
トのデータ信号が入力フォーマット変換器303に与え
られる。また、選択信号Sは、入力フォーマット変換器
303および出力フォーマット変換器305に与えられ
る。
タ信号に基づいて所定の演算を実行し、入力データ信号
Fa,Fbの乗算結果の符号を表わす第63ビットのデ
ータ信号を出力する。指数部加算器302では、与えら
れたデータ信号を加算し、その加算結果を、前記乗算結
果の指数部のデータを表わす第62〜第52ビットのデ
ータ信号として出力する。
入力データ信号Faおよび選択信号Sの他に入力データ
信号Faの最上位ビットのけち表現の補正のための信号
Fa0が与えられる。入力フォーマット変換器303で
は、選択信号Sに応答して信号Fa0によりけち表現の
補正をした入力データ信号Faをそのまま出力するか、
または入力データ信号Faに対して図1に示すような入
力データ変換と同じデータ変換である入力フォーマット
変換を行ない、その変換後のデータを出力する。入力フ
ォーマット変換器303の出力信号Fa1は、バス30
6を介して乗算器304に与えられる。
乗算器である。この乗算器304には、前述した入力デ
ータ信号Fbおよび出力信号Fa1の他に入力データ信
号Fbの最上位ビットのけち表現の補正のための信号F
b0が与えられる。乗算器304では、信号Fb0によ
り入力データ信号Fbのけち表現の補正を行ない、その
補正後の信号と、入力データ信号Fa1との乗算を行な
う。その乗算結果を表わす出力データ信号Foは、第1
08〜第0ビットの109ビットのビット幅で表わされ
る。出力データ信号Foは、バス307を介して出力フ
ォーマット変換器305に与えられる。
信号Sに応答して、出力データ信号Foをそのまま出力
するか、または後述するような出力フォーマット変換を
施した出力データ信号Fo1を出力する。出力フォーマ
ット変換器305から出力される出力データ信号Fo1
は、第51〜第0ビットにて表わされる52ビットのビ
ット幅のデータ信号となる。
指数部加算器302および出力フォーマット変換器30
5のそれぞれから出力されるデータ信号をまとめて、第
63〜第0ビットにて表わされる64ビットのビット幅
のデータ信号を入力データ信号Fa,Fbの乗算結果と
して出力する。
いて詳細に説明する。図10は入力フォーマット変換器
303の詳細な構成を示す模式的ブロック図である。
データ信号は、変換後の入力データ信号である入力デー
タ信号Fa1の第7〜第0ビットとしてそのまま出力さ
れる。入力データ信号Faの第15〜第8ビットのデー
タ信号は、セレクタ3031の第1入力ノードおよびセ
レクタ3032の第2入力ノードに与えられる。入力デ
ータ信号Faの第23〜第16ビットのデータ信号は、
セレクタ3032の第1入力ノードおよびセレクタ30
34の第2入力ノードに与えられる。入力データ信号F
aの第31〜第24ビットのデータ信号は、セレクタ3
032の第1入力ノードおよびセレクタ3036の第2
入力ノードに与えられる。
トのデータ信号は、セレクタ3034の第1入力ノード
に与えられる。入力データ信号Faの第47〜第40ビ
ットのデータ信号は、セレクタ3035の第1入力ノー
ドに与えられる。入力データ信号Faの第51〜第48
ビットのデータ信号は、セレクタ3036の第1入力ノ
ードに与えられる。セレクタ3031の第2入力ノー
ド、セレクタ3033の第2入力ノードおよびセレクタ
3035の第2入力ノードのそれぞれには、“0”を表
わす信号が入力される。
は、選択信号Sが与えられる。各セレクタ3031〜3
036は、第1入力ノードおよび第2入力ノードに与え
られる信号を選択的に出力するものである。
信号Sが“0”を表わす場合には第1入力ノードに与え
られる信号を出力し、選択信号Sが“1”を表わす場合
には第2入力ノードに与えられる信号を出力する。セレ
クタ3031の出力信号は、入力データ信号Fa1の第
15〜第8ビットのデータ信号として出力される。セレ
クタ3032の出力信号は、入力データ信号Fa1の第
23〜第16ビットのデータ信号として出力される。セ
レクタ3033の出力信号は、入力データ信号Fa1の
第31〜第24ビットのデータ信号として出力される。
タ信号Fa1の第39〜第32ビットのデータ信号とし
て出力される。セレクタ3035の出力信号は、入力デ
ータ信号Fa1の第47〜第40ビットのデータ信号と
して出力される。セレクタ3036の出力信号は、入力
データ信号Fa1の第55〜第48ビットのデータ信号
として出力される。
データ信号Fa1は、選択信号Sが“1”の場合(入力
フォーマット変換を行なう場合)は、第7〜第0ビット
が“B”、第8〜第15ビットが“0”、第23〜第1
6ビットが“G”、第31〜第24ビットが“0”、第
39〜第32ビットが“R”、第47〜第40ビットが
“0”、第55〜第48ビットが“α”を表わす。すな
わち、図1に示す入力データ変換が行なわれる。
ォーマット変換を行なわない場合)、入力データ信号F
a1は、第31〜第0ビットのビット領域に最上位ビッ
ト側から8ビットごとにα,R,G,Bを表わし、第5
5〜第32ビットに8ビットごとに“0”を表わす。す
なわち、入力データは変換されず、乗算器304ではF
a×Fbの通常の乗算が実行される。
いて詳細に説明する。図11は、出力フォーマット変換
器305の詳細な構成を示す模式的ブロック図である。
第20〜第13ビット、第36〜第29ビットおよび第
52〜第45ビットのそれぞれのデータ信号は、そのま
ま丸め処理部などの周辺部(以下丸め処理部等と呼ぶ)
に出力される。
のデータ信号は、丸め処理部等に出力されるとともにセ
レクタ3051の第2入力ノードに与えられる。出力デ
ータ信号Foの第28〜第21ビットのデータ信号は、
丸め処理部等へ出力されるともにセレクタ3052の第
2入力ノードに与えられる。出力データ信号Foの第4
4〜第37ビットのデータ信号は、丸め処理部等に出力
されるとともにセレクタ3053の第2入力ノードに与
えられる。
トのデータ信号は、セレクタ3051の第1入力ノード
およびセレクタ3054の第2入力ノードに与えられ
る。出力データ信号Foの第68〜第61ビットのデー
タ信号は、セレクタ3052の第1入力ノードに与えら
れる。出力データ信号Foの第76〜第69ビットのデ
ータ信号は、セレクタ3053の第1入力ノードに与え
られる。出力データ信号Foの第84〜第77ビットの
データ信号は、セレクタ3054の第1入力ノードに与
えられる。
トのデータ信号は、演算処理装置の出力データ信号Fo
1の第39〜第32ビットのデータ信号として出力さ
れ、第100〜第93ビットのデータ信号は、出力デー
タ信号Fo1の第47〜第40ビットのデータ信号とし
て出力される。出力データ信号Foの第108〜第10
1ビットのデータ信号は、そのうちの第104〜第10
1ビットのデータ信号が出力データ信号Fo1の第51
〜第48ビットのデータ信号として出力される。
は、選択信号Sが与えられる。各セレクタ3051〜3
054は、第1入力ノードおよび第2入力ノードに与え
られる信号を選択信号Sに基づいて選択的に出力するも
のである。
信号Sが“0”を表わす場合には第1入力ノードに与え
られる信号を出力し、選択信号Sが“1”を表わす場合
には第2入力ノードに与えられる信号を出力する。セレ
クタ3051の出力信号は、出力データ信号Fo1の第
7〜第0ビットのデータ信号として出力される。セレク
タ3052の出力信号は、出力データ信号Fo1の第1
5〜第8ビットのデータ信号として出力される。セレク
タ3053の出力信号は、出力データ信号Fo1の第2
3〜第16ビットのデータ信号として出力される。セレ
クタ3054の出力信号は、出力データ信号Fo1の第
31〜第24ビットのデータ信号として出力される。
データ信号Fo1は、選択信号Sが“1”の場合(出力
データ変換を行なう場合)は、入力データ信号Fa,F
bの乗算結果kα,kR,kG,kBのそれぞれが、第
31〜第0ビットのビット領域に、最上位ビット側から
8ビットごとに独立したデータとして表わされる。
ォーマット変換を行なわない場合)は、出力データ信号
Foの第52〜第0ビットのデータが丸め処理部等に出
力され、出力データ信号Foの第108〜第53ビット
のデータが出力データ信号Fo1の第51〜第0ビット
のデータ信号として出力される。
3および出力フォーマット変換器305では、選択信号
Sに応答して、データの変換を選択的に実行することが
できる。
置では、浮動小数点演算用の53ビット乗算器(図9の
破線にて示される部分に相当する)を、入力フォーマッ
ト変換器303、56ビット×53ビットの乗算器30
4および出力フォーマット変換器305に置き換えるこ
とにより、浮動小数点演算用の演算処理装置において前
述のような輝度計算を実行することができるようにな
る。
の乗算を行なう場合、まず、2つの入力データを所定形
式のデータに変換する入力データ変換を行なう。その
後、その変換した2つの入力データを乗算し、その乗算
により得られた部分積データの一部を加工し、その加工
後の部分積データを加算して最終的な乗算結果を得る。
における入力データ変換のイメージを表わす模式図であ
る。第1の入力データ1および第2の入力データ2は、
図1に示したものと同じ構成の32ビットのデータであ
る。
タ2は、それぞれが第39〜第0ビットのビット領域を
有する40ビットの入力データ21,22に変換され
る。この変換においては、次のようなデータの並べ換え
が行なわれる。
トに表わされた輝度信号データ“α”が、入力データ2
1の第39〜第32ビットに表わされる。第1の入力デ
ータ1の第23〜第16ビットに表わされた輝度信号デ
ータ“R”が入力データ21の第23〜第16ビットに
表わされる。第1の入力データ1の第15〜第8ビット
に表わされた輝度信号データ“G”が、入力データ22
の第23〜第16ビットに表わされる。第1の入力デー
タ1の第7〜第0ビットに表わされた輝度信号データ
“B”が、入力データ22の第7〜第0ビットに表わさ
れる。
表わされた定数データ“k”が、入力データ21の第7
〜第0ビットおよび入力データ22の第39〜第32ビ
ットに表わされる。
ビットおよび第15〜第8ビットと、入力データ22の
第31〜第24ビットおよび第15〜第8ビットとのそ
れぞれには、“0”が表わされる。
と、乗算すべき入力データのそれぞれは、8ビット分拡
張されるだけであるので、その乗算に使用する乗算器の
サイズを小さくすることができる。このため、前記乗算
器を含む演算処理装置は、ハードウエアのサイズが小さ
くなり、高速で演算を行なうことが可能となる。
における乗算のイメージを表わす模式図である。入力デ
ータ21および入力データ22が乗算されると、その結
果、多数の部分積データ23〜47が得られる。各部分
積データ23〜47は、16ビットのビット幅で表わさ
れる。
のビット領域を有し、部分積kBが表わされる。部分積
データ25は、第31〜第16ビットのビット領域を有
し、部分積RBが表わされる。部分積データ27は、第
47〜第32ビットのビット領域を有し、部分積αBが
表わされる。部分積データ33は、第31〜第16ビッ
トのビット領域を有し、部分積kGが表わされる。部分
積データ35は、第47〜第32ビットのビット領域を
有し、部分積RGが表わされる。部分積データ37は、
第63〜第48ビットのビット領域を有し、部分積αG
が表わされる。部分積データ43は、第47〜第32ビ
ットのビット領域を有し、部分積kkが表わされる。部
分積データ45は、第63〜第47ビットのビット領域
を有し、部分積kRが表わされる。部分積データ47
は、第79〜第64ビットのビット領域を有し、部分積
kαが表わされる。
2,34,36,38〜42,44,46のそれぞれに
は、“0”が表わされる。
データ23〜47を加算することにより求められるが、
これらの部分積データ23〜47のそれぞれが表わす部
分積には、輝度信号データα,R,G,Bと定数データ
kとの乗算結果として不要なものが含まれる。その不要
な部分積とは、RB,αB,RG,αG,kkである。
これらの部分積は、輝度計算において不要であるため、
それぞれのデータが“0”に加工される。このように不
要な部分積を“0”に加工すると、部分積データ23〜
47のすべてを加算した結果、輝度計算に必要な部分積
kα,kR,kG,kBをそれぞれ独立したデータとし
て得ることができる。
されると、第1の入力データ1と第2の入力データ2と
の間の最終的な乗算結果を表わす出力データ48が得ら
れる。出力データ48は、第79〜第0ビットの80ビ
ットのビット幅で表わされる。
は、部分積kα,kR,kG,kBのそれぞれが表され
るビット領域が異なるため、出力データ48は、部分積
kα,kR,kG,kBをそれぞれ16ビットで表わ
す。すなわち、出力データ48においては、第79〜第
64ビットに“kα”、第63〜第48ビットに“k
R”、第47〜第32ビットに“0”、第31〜第16
ビットに“kG”、第15〜第0ビットに“kB”がそ
れぞれ表わされる。
2の入力データ2が入力データ21,22のフォーマッ
トに変換され、変換された入力データ21,22につい
て乗算が行なわれ、その乗算において不要な部分積が加
工されると、必要な部分積kα,kR,kG,kBがそ
れぞれ独立したデータとして得られる。
よび図13に示される乗算を実現するための演算処理装
置について説明する。
の全体構成を示すブロック図である。第1の入力データ
1を表わす第1の入力データ信号aおよび第2の入力デ
ータ2を表わす第2の入力データ信号bは、図12に示
すような入力データ変換を行なう入力データ変換器40
0に与えられる。入力データ変換器400には、その他
にも、前記入力データ変換を実行するか否かを選択する
ための指令信号である選択信号Sが与えられる。入力デ
ータ変換器400では、入力データ変換により得られた
入力データ信号a2,b2を乗算器500に与える。
b2の他にも、図13に示したような部分積データの加
工を実行するか否かを選択するための制御信号として選
択信号Sが与えられる。乗算器500は、40ビット乗
算器であり、与えられた入力データ信号a2,b2と選
択信号Sとに基づいて図13に示すような乗算を行な
い、その乗算結果を出力する。
を示す模式的ブロック図である。この図15において、
データを表わす信号は、バス表記で示す。
信号a〈31:0〉が入力データ信号a2〈39:0〉
に変換され、入力データ信号b〈31:0〉が入力デー
タ信号b2〈39:0〉に変換される。
ータ信号は、セレクタ401の第2入力ノードおよびセ
レクタ404の第1入力ノードに与えられる。入力デー
タ信号aの第15〜第8ビットのデータ信号は、セレク
タ402の第2入力ノードおよびセレクタ405の第1
入力ノードに与えられる。入力データ信号aの第23〜
第16ビットのデータ信号は、入力データ信号a2の第
23〜第16ビットのデータ信号としてそのまま出力さ
れる。入力データ信号aの第31〜第24ビットのデー
タ信号は、セレクタ406の第1入力ノードおよびセレ
クタ407の第2入力ノードに与えられる。
ータ信号は、セレクタ401の第1入力ノード、セレク
タ403の第2入力ノードおよびセレクタ404の第2
入力ノードに与えられる。入力データ信号bの第15〜
第8ビットのデータ信号は、入力データ信号b2の第1
5〜第8ビットのデータ信号としてそのまま出力される
とともに、セレクタ405の第2入力ノードに与えられ
る。入力データ信号bの第23〜第16ビットのデータ
信号は、セレクタ402の第1入力ノードに与えられ
る。入力データ信号bの第31〜第24ビットのデータ
信号は、入力データ信号b2の第31〜第24ビットの
データ信号としてそのまま出力されるとともに、セレク
タ406の第2入力ノードに与えられる。また、セレク
タ407の第1入力ノードには“0”を表わす信号が与
えられる。
選択信号Sが与えられる。各セレクタ401〜407
は、第1入力ノードおよび第2入力ノードに与えられる
信号を、選択信号Sに基づいて選択的に出力するもので
ある。各セレクタ401〜407では、選択信号Sが
“0”を表わす場合には第1入力ノードに与えられる信
号を出力し、選択信号Sが“1”を表わす場合には第2
入力ノードに与えられる信号を出力する。
信号b2の第7〜第0ビットのデータ信号として出力さ
れる。セレクタ402の出力信号は、入力データ信号b
2の第23〜第16ビットのデータ信号として出力され
る。セレクタ403の出力信号は、入力データ信号b2
の第39〜第32ビットのデータ信号として出力され
る。セレクタ404の出力信号は、入力データ信号a2
の第7〜第0ビットのデータ信号として出力される。セ
レクタ405の出力信号は、入力データ信号a2の第1
5〜第8ビットのデータ信号として出力される。セレク
タ406の出力信号は、入力データ信号a2の第31〜
第24ビットのデータ信号として出力される。セレクタ
407の出力信号は、入力データ信号a2の第39〜第
32ビットのデータ信号として出力される。
データ信号a2は、選択信号Sが“1”の場合(入力デ
ータ変換を行なう場合)には、第7〜第0ビットが
“k”、第15〜第8ビットが“0”、第23〜第16
ビットが“R”、第31〜第24ビットが“0”、第3
9〜第32ビットが“α”を表わす。また、入力データ
信号a2は、選択信号Sが“1”の場合には、第7〜第
0ビットが“B”、第15〜第8ビットが“0”、第2
3〜第16ビットが“G”、第31〜第24ビットが
“0”、第39〜第32ビットが“k”を表わす。すな
わち、選択信号Sが“1”の場合には、図12に示す入
力データ変換が行なわれる。
ータ変換を行なわない場合)、入力データ信号a2は、
第39〜第32ビットが“0”を表わし、第31〜第0
ビットに、最上位ビット側から8ビットごとに“α,
R,G,B”を順に表わす。また、選択信号Sが“0”
の場合、入力データ信号b2は、第39〜第8ビット
に、最上位ビット側から8ビットごとに“0”を表わ
し、第7〜第0ビットに“k”を表わす。
信号Sに応答して入力データの変換を選択的に実行する
ことができるようになっている。
16および図17は、乗算器500の構成を示す模式的
ブロック図である。図16および図17においては、バ
ス表記を行なってある。また、同じ回路ブロック(たと
えばAND回路)の集合体である場合には、その1つを
代表として図示するとともにその回路ブロックの横に回
路個数mを表す〈×m〉を記述してアレイ表記にしてあ
る。
1,501,…、インバータ514、7段の40ビット
キャリーセーブ加算器アレイ502、8段の40ビット
キャリーセーブ加算器アレイ503〜506、80ビッ
ト加算器507および部分積加工用のANDゲート50
8〜513を含む。
は、入力データ信号a2の各ビットの信号と入力データ
信号b2の各ビットの信号とが与えられる。ANDゲー
ト501,501,…の各々は、与えられた信号間で論
理積演算を行なう。その演算結果は、40ビットキャリ
ーセーブ加算器アレイ502〜506に与えられる。
ットのデータ信号と入力データ信号a2における第39
〜第0ビットのデータ信号との演算結果は、40ビット
キャリーセーブ加算器アレイ502に与えられる。入力
データ信号b2における第15〜第8ビットのデータ信
号と入力データ信号a2における第39〜第0ビットの
データ信号との演算結果は、40ビットキャリーセーブ
加算器アレイ503に与えられる。入力データ信号b2
における第23〜第16ビットのデータ信号と入力デー
タ信号a2における第39〜第0ビットのデータ信号と
の演算結果は、40ビットキャリーセーブ加算器アレイ
504に与えられる。
4ビットのデータ信号と入力データ信号a2における第
39〜第0ビットのデータ信号との演算結果は、40ビ
ットキャリーセーブ加算器アレイ505に与えられる。
入力データ信号b2における第39〜第32ビットのデ
ータ信号と入力データ信号a2における第39〜第0ビ
ットのデータ信号との演算結果は、40ビットキャリー
セーブ加算器アレイ506に与えられる。
02では、ANDゲート501,501,…から与えら
れた演算結果を加算する。そして、その加算結果のう
ち、第7〜第0ビットのデータを表わす和信号s〈7:
0〉を80ビット加算器507に与え、残りのビットの
データを表わす和信号s〈46:8〉およびキャリー信
号c〈47:8〉を出力する。
02から出力された和信号sおよびキャリー信号cのう
ち、第15〜第8ビットの和信号s〈15:8〉および
キャリー信号c〈15:8〉がそのまま40ビットキャ
リーセーブ加算器アレイ503に与えられる。残りのビ
ットのデータを表わす和信号s〈46:16〉はAND
ゲート508の一方の入力ノードに与えられ、キャリー
信号c〈47:16〉はANDゲート509の一方の入
力ノードに与えられる。ANDゲート508,509の
それぞれの他方の入力ノードには選択信号Sの反転信号
/Sが与えられる。ANDゲート508,509のそれ
ぞれの出力信号は40ビットキャリーセーブ加算器アレ
イ503に与えられる。
03では、ANDゲート501,…から与えられた演算
結果と、40ビットキャリーセーブ加算器アレイ502
およびANDゲート508,509から与えられた和信
号sおよびキャリー信号cに基づいてデータの加算を行
なう。そして、その加算結果のうち、第15〜第8ビッ
トのデータを表わす和信号s〈15:8〉を80ビット
加算器507に与え、残りのビットのデータを表わす和
信号s〈54:16〉およびキャリー信号c〈55:1
6〉を40ビットキャリーセーブ加算器アレイ504に
与える。
04では、ANDゲート501,…から与えられた演算
結果と、40ビットキャリーセーブ加算器アレイ503
から与えられた和信号sおよびキャリー信号cに基づい
てデータの加算を行なう。そして、その加算結果のう
ち、第23〜第16ビットのデータを表わす和信号s
〈23:16〉を80ビット加算器507に与え、残り
のビットのデータを表わす和信号s〈62:24〉およ
びキャリー信号c〈63:24〉を出力する。
04から出力された和信号sおよびキャリー信号cのう
ち、第31〜第24ビットのデータを表わす和信号s
〈31:24〉およびキャリー信号c〈31:24〉は
そのまま40ビットキャリーセーブ加算器アレイ505
に与えられる。残りのビットのデータを表わす和信号s
〈62:32〉はANDゲート510の一方の入力ノー
ドに与えられ、キャリー信号c〈63:32〉はAND
ゲート511の一方の入力ノードに与えられる。AND
ゲート510,511のそれぞれの他方の入力ノードに
は、選択信号Sの反転信号/Sが与えられる。ANDゲ
ート510,511のそれぞれの出力信号は、40ビッ
トキャリーセーブ加算器アレイ505に与えられる。
05では、ANDゲート501,…から与えられた演算
結果と、40ビットキャリーセーブ加算器アレイ504
およびANDゲート510,511から与えられた和信
号sおよびキャリー信号cとに基づいてデータの加算を
行なう。そして、その加算結果のうち、第31〜第24
ビットのデータを表わす和信号s〈31:24〉を80
ビット加算器507に与え、残りのビットのデータを表
わす和信号s〈71:32〉およびキャリー信号c〈7
2:32〉を40ビットキャリーセーブ加算器アレイ5
06に与える。
06では、ANDゲート501,…から与えられた演算
結果と、40ビットキャリーセーブ加算器アレイ505
から与えられた和信号sおよびキャリー信号cに基づい
てデータの加算を行ない、その加算結果を出力する。4
0ビットキャリーセーブ加算器506から出力された加
算結果のうち、第47〜第32ビットのデータを表わす
和信号s〈47:32〉はANDゲート512の一方の
入力ノードに与えられ、キャリー信号c〈47:32〉
はANDゲート513の一方の入力ノードに与えられ
る。残りのビットのデータを表わす和信号s〈78:4
8〉およびキャリー信号c〈79:48〉は、そのまま
80ビット加算器507に与えられる。ANDゲート5
12,513のそれぞれの他方の入力ノードには、選択
信号Sの反転信号/Sが与えられる。ANDゲート51
2,513のそれぞれの出力信号は80ビット加算器5
07に与えられる。
キャリーセーブ加算器アレイ502〜506およびAN
Dゲート512から与えられた和信号sと40ビットキ
ャリーセーブ加算器アレイ506およびANDゲート5
13から与えられたキャリー信号cに基づいてデータの
加算を行ない、その加算結果を出力する。
た部分積データの加工を行なうか否かを制御するための
信号であり、輝度計算を行なう場合(部分積データを加
工する場合)に“1”となり、輝度計算を行なわない場
合(部分積データの加工を行なわない場合)に“0”と
なる。選択信号Sが“1”の場合は、“0”を表わすデ
ータがANDゲート508〜513のそれぞれの出力信
号となり、選択信号Sが“0”の場合は、ANDゲート
508〜513のそれぞれに与えられた和信号sおよび
キャリー信号cがそのまま各ANDゲート508〜51
3の出力信号となる。
40ビットキャリーセーブ加算器アレイ502〜506
により得られる部分積データのうちの不要な部分積デー
タが、選択信号Sに基づいて“0”に加工される。
3に示した部分積データ23〜47のそれぞれが次に示
すように得られる。部分積データ23〜27は、40ビ
ットキャリーセーブ加算器アレイ502によって得られ
る。部分積データ28〜32は、40ビットキャリーセ
ーブ加算器アレイ503によって得られる。部分積デー
タ33〜37は、40ビットキャリーセーブ加算器アレ
イ504によって得られる。部分積データ38〜42
は、40ビットキャリーセーブ加算器アレイ505によ
って得られる。部分積データ43〜47は、40ビット
キャリーセーブ加算器アレイ506によって得られる。
13に示した部分積データ25〜27を“0”に加工す
る。ANDゲート510,511は、図13に示した部
分積データ35〜37を“0”に加工する。ANDゲー
ト512,513は、図13に示した部分積データ43
を“0”に加工する。
ャリーセーブ加算器アレイ502〜506によって得ら
れた部分積データ(加工された部分積データを含む)を
加算し、図13に示した出力データ48を得る。
ブ加算器アレイ502の詳細な構成を示す模式的ブロッ
ク図である。40ビットキャリーセーブ加算器アレイ5
02は、7段に接続された40ビットキャリーセーブ加
算器5021〜5027を含む。その構成は、図7に示
した7段の56ビットキャリーセーブ加算器アレイの構
成とほぼ同じである。このため、その説明を省略する。
ブ加算器アレイ503〜506の詳細な構成を示す模式
的ブロック図である。なお、この図19においては、4
0ビットキャリーセーブ加算器503をその代表例とし
て示してある。40ビットキャリーセーブ加算器アレイ
503は、8段に接続された40ビットキャリーセーブ
加算器5031〜5038を含む。その構成は、図8に
示した8段の56ビットキャリーセーブ加算器アレイの
構成とほぼ同じである。このため、その説明を省略す
る。
置では、入力データ変換器400により、乗算器500
における乗算により得られる必要な部分積データのそれ
ぞれが異なるビット領域にて表わすことができるように
入力データが変換される。そして、乗算器500におい
ては、不要な部分積データを“0”に加工する。このた
め、最終的に得られる乗算結果は、各部分積kα,k
R,kG,kBを異なるビット領域で表わすデータとな
る。
明する第4実施例による演算処理装置は、IEEE浮動
少数点規格に対応する浮動小数点演算用の乗算装置に第
3実施例を適用した一例を示すものである。図20は、
第4実施例による演算処理装置の全体構成を示す模式的
ブロック図である。この図においても前述のバス表記に
てデータを示している。この図20の演算処理装置は、
図9に示した演算処理装置の入力フォーマット変換器3
03、乗算器304および出力フォーマット変換器30
5のそれぞれを、入力フォーマット変換器308、乗算
器309および出力フォーマット変換器310に置き換
えたものである。このため、図20の演算処理装置にお
いて図9の演算処理装置と同じ部分には同番号を付しそ
の説明を省略する。
データ信号Fa,Fb、選択信号S、入力データ信号F
aの最上位ビットのけち表現の補正のための信号Fa0
および入力データ信号Fbの最上位ビットのけち表現の
補正のための信号Fb0が与えられる。これらの信号に
基づいて、入力フォーマット変換器308では、けち表
現の補正をした入力データ信号Fa,Fbをそのまま出
力するかまたは入力データ信号Fa,Fbに対して図1
2に示す入力データ変換と同じデータ変換である入力フ
ォーマット変換を行ない、その変換後の入力データ信号
Fa2,Fb2を出力する。
して乗算器309に与えられ、入力データ信号Fb2
は、バス312を介して乗算器309に与えられる。
分積の加工を行なうことが可能な53ビット乗算器であ
る。この乗算器309には、入力データ信号Fa2,F
b2の他に選択信号Sが与えられる。乗算器309で
は、与えられた入力データ信号Fa2,Fb2の乗算を
行なう。その乗算の際には、図13に示したような部分
積の加工が行なわれる。乗算器309における入力デー
タ信号Fa2,Fb2の乗算結果を表わす出力データ信
号Fo2は、第106〜第0ビットの107ビットのビ
ット幅で表わされる。出力データ信号Fo2は、バス3
13を介して出力フォーマット変換器310に与えられ
る。
信号Sに応答して、出力データ信号Fo2をそのまま出
力するかまたは、後述する出力フォーマット変換を施し
た出力データ信号を出力する。出力フォーマット変換器
310から出力される出力データ信号は、第51〜第0
ビットの52ビットのビット幅のデータ信号となる。
いて詳細に説明する。図21は、入力フォーマット変換
器308の詳細な構成を示す模式的ブロック図である。
データ信号は、セレクタ3081の第2入力ノードおよ
びセレクタ3084の第1入力ノードに与えられる。入
力データ信号Faの第15〜第8ビットのデータ信号
は、セレクタ3082の第2入力ノードおよびセレクタ
3085の第1入力ノードに与えられる。入力データ信
号Faの第23〜第16ビットのデータ信号は、出力デ
ータ信号Fa2の第23〜第16ビットのデータ信号と
してそのまま出力される。入力データ信号Faの第31
〜第24ビットのデータ信号は、セレクタ3086の第
1入力ノードおよびセレクタ3087の第2入力ノード
に与えられる。入力データ信号Faの第39〜第32ビ
ットのデータ信号は、セレクタ3087の第1入力ノー
ドに与えられる。入力データ信号Faの第47〜第40
ビットのデータ信号は、入力データ信号Fa2の第47
〜第40ビットのデータ信号としてそのまま出力され
る。入力データ信号Faの第51〜第48ビットのデー
タ信号および信号Fa0は、入力データ信号Fa2の第
52〜第48のデータ信号としてそのまま出力される。
データ信号は、セレクタ3081の第1入力ノードおよ
びセレクタ3084の第2入力ノードに与えられる。入
力データ信号Fbの第15〜第8ビットのデータ信号
は、入力データ信号Fb2の第15〜第8ビットのデー
タ信号としてそのまま出力されるとともに、セレクタ3
085の第2入力ノードに与えられる。入力データ信号
Fbの第23〜第16ビットのデータ信号は、セレクタ
3082の第1入力ノードに与えられる。入力データ信
号Fbの第31〜第24ビットのデータ信号は、入力デ
ータ信号Fb2の第31〜第24ビットのデータ信号と
してそのまま出力されるとともにセレクタ3086の第
2入力ノードに与えられる。
トのデータ信号は、セレクタ3083の第1入力ノード
に与えられる。入力データ信号Fbの第47〜第40ビ
ットのデータ信号は、入力データ信号Fb2の第47〜
第40ビットのデータ信号としてそのまま出力される。
入力データ信号Fbの第51〜第48ビットおよび信号
Fb0は、入力データ信号Fb2の第52〜第48ビッ
トのデータ信号としてそのまま出力される。
は、選択信号Sが与えられる。各セレクタ3081〜3
087は、第1入力ノードおよび第2入力ノードに与え
られる信号を選択信号Sに応答して選択的に出力する。
各セレクタ3081〜3087では、選択信号Sが
“0”を表わす場合には第1入力ノードに与えられる信
号を出力し、選択信号Sが“1”を表わす場合には第2
入力ノードに与えられる信号を出力する。セレクタ30
81の出力信号は、入力データ信号Fb2の第7〜第0
ビットのデータ信号として出力される。セレクタ308
2の出力信号は、入力データ信号Fb2の第23〜第1
6ビットのデータ信号として出力される。
タ信号Fb2の第39〜第32ビットのデータ信号とし
て出力される。セレクタ3084の出力信号は、入力デ
ータ信号Fa2の第7〜第0ビットのデータ信号として
出力される。セレクタ3086の出力信号は、入力デー
タ信号Fa2の第15〜第8ビットのデータ信号として
出力される。セレクタ3085の出力信号は、入力デー
タ信号Fa2の第31〜第24ビットのデータ信号とし
て出力される。セレクタ3087の出力信号は、入力デ
ータ信号Fa2の第39〜第32ビットのデータ信号と
して出力される。
データ信号a2は、選択信号Sが“1”の場合(入力デ
ータ変換を行なう場合)は、第52〜第48ビットおよ
び第47〜第40ビットのそれぞれが“0”、第39〜
第32ビットが“α”、第31〜第24ビットが
“0”、第23〜第16ビットが“R”、第15〜第8
ビットが“0”、第7〜第0ビットが“k”を表わす。
また、入力データ信号a2は、選択信号Sが“1”の場
合は、第52〜第48ビットおよび第47〜第40ビッ
トのそれぞれが“0”、第39〜第32ビットが
“k”、第31〜第24ビットが“0”、第23〜第1
6ビットが“G”、第15〜第8ビットが“0”、第7
〜第0ビットが“B”を表わす。すなわち、選択信号S
が“1”の場合は、図12に示す変換が行なわれる。
ータ変換を行なわない場合)、入力データ信号Fa2
は、第51〜第48ビットおよび第47〜第40ビット
のそれぞれに“0”を表わし、第31〜第0ビットのビ
ット領域に、最上位ビット側から8ビットごとに“α,
R,G,B”を表わす。また、選択信号Sが“0”の場
合、入力データ信号Fb2は、第52〜第8ビットに、
8ビットごとに“0”を表わし、第7〜第0ビットに
“k”を順に表わす。このように、入力フォーマット変
換器308では、入力データのフォーマット変換を選択
信号Sに応答して選択的に実行することができる。
いて詳細に説明する。図22は、出力フォーマット変換
器310の詳細な構成を示す模式的ブロック図である。
ト、第23〜第16ビット、第39〜第32ビット、第
47〜第40ビットおよび第52〜第48ビットのそれ
ぞれのデータ信号は、そのまま丸め処理部等に出力され
る。出力データ信号Fo2の第15〜第8ビットのデー
タ信号は、丸め処理部等に出力されるとともにセレクタ
3101の第2入力ノードに与えられる。出力データ信
号Fo2の第31〜第24ビットのデータ信号は、丸め
処理部等に出力されるとももにセレクタ3102の第2
入力ノードに与えられる。
ットのデータ信号は、セレクタ3101の第1入力ノー
ドに与えられる。出力データ信号Fo2の第63〜第5
6ビットのデータ信号は、セレクタ3103の第2入力
ノードに与えられる。出力データ信号Fo2の第68〜
第61ビットは、セレクタ3102の第1入力ノードに
与えられる。出力データ信号Fo2の第76〜第69ビ
ットのデータ信号は、セレクタ3103の第1入力ノー
ドに与えられる。出力データ信号Fo2の第79〜第7
2ビットのデータ信号は、セレクタ3104の第2入力
ノードに与えられる。出力データ信号Fo2の第84〜
第77ビットのデータ信号は、セレクタ3104の第1
入力ノードに与えられる。
ットおよび第100〜第93ビットは、それぞれ演算処
理装置の出力データ信号Fo3の第39〜第32ビット
および第47〜第40ビットのデータ信号として出力さ
れる。出力データ信号Fo2の第105〜第101ビッ
トのデータ信号は、そのうちの第104〜第101ビッ
トのデータ信号が出力データ信号Fo3の第51〜第4
8ビットのデータ信号として出力される。
は、選択信号Sが与えられる。各セレクタ3101〜3
104では、選択信号Sが“0”を表わす場合には第1
入力ノードに与えられる信号を出力し、選択信号Sが
“1”を表わす場合には第2入力ノードに与えられる信
号を出力する。セレクタ3101の出力信号は、出力デ
ータ信号Fo3の第7〜第0ビットのデータ信号として
出力される。セレクタ3102の出力信号は、出力デー
タ信号Fo3の第15〜第8ビットのデータ信号として
出力される。セレクタ3103の出力信号は、出力デー
タ信号Fo3の第23〜第16ビットのデータ信号とし
て出力される。セレクタ3104の出力信号は、出力デ
ータ信号Fo3の第31〜第24ビットのデータ信号と
して出力される。
置では、浮動小数点演算用の53ビット乗算器(図20
において破線にて示した部分)を入力フォーマット変換
器308、部分積を加工できる乗算器309および出力
フォーマット変換器310に置き換えることにより、輝
度計算を行なうことができる。
ては、キャリーセーブ方式の乗算器を用いた演算処理装
置について説明したが、これに限らず、本発明は、キャ
リーセーブ方式の乗算器以外の乗算器を用いた演算処理
装置についても適用可能である。
つの入力データ信号は、どちらを被乗数に選んでもよ
い。ただし、第3実施例および第4実施例では、被乗数
の選び方によって、部分積加工用のANDゲートの配設
箇所を変更する必要がある。
号aに含まれる輝度信号α,R,G,Bの変換後のデー
タのビット領域の位置は、変換後の入力データ信号のフ
ォーマットに従う限り、各輝度信号の並びを変えたもの
にしてもよい。この場合、乗算結果として得られる部分
積の並びの順序に注意して出力データ信号を32ビット
のデータ信号に変換する必要がある。
の入力データおよび第2の入力データに含まれる乗算対
象データは、入力データ変換手段によりこれらの入力デ
ータよりも乗算対象データの1データ分だけ拡張された
新たな2つの入力データに分配設定され、乗算される。
このように、入力データを少し拡張したデータについて
乗算が行なわれるので、入力データに含まれる複数の乗
算対象データを個別に定数倍した結果を得る乗算を行な
うためのハードウエアを小型化することができ、それに
伴って演算処理速度を高速化することができる。
よれば、第1の入力データは最上位ビット側に表わされ
る乗算対象データを除く乗算対象データの上位ビット側
に、乗算対象データがないことを表わすデータが拡張さ
れたデータに変換され、第2の入力データは第1の入力
データの拡張分だけ拡張されたデータに変換される。こ
の場合最上位ビット側に表わされる乗算対象データの上
位ビット側にはデータが拡張されないため、入力データ
に含まれる複数の乗算対象データを個別に定数倍した結
果を得る乗算を行なうためのハードウエアを従来よりも
小型化することができ、それに伴って演算処理速度を従
来よりも高速化することができる。
入力データおよび第2の入力データのそれぞれは、1デ
ータ分だけ拡張された新たな2つの入力データに変換さ
れ、乗算される。このように入力データを1データ分拡
張したデータについて乗算が行なわれるので、入力デー
タに含まれる複数の乗算対象データを個別に定数倍した
結果を得る乗算を行なうためのハードウエアを小型化す
ることができ、それに伴って演算処理速度を高速化する
ことができる。特に、4つの乗算対象データを個別に定
数倍する演算を行う輝度計算を実行するための演算処理
装置の小型化および演算処理速度の高速化が実現でき
る。請求項5および請求項6に記載の本発明によれば、
第1、第2の入力データをビット幅の拡張した第3、第
4の入力データに変換することができる。さらに、第
1、第2のセレクタによって、第3の入力データを生
成、出力するにあたり、第1の入力に含まれる一部のビ
ットを、同一のビット位置および異なるビット位置にそ
れぞれ選択的に配置することができる。したがって、入
力データに含まれる複数の乗算対象データを個別に定数
倍した結果を得る乗算を行なうためのハードウエアを小
型化することができ、それに伴って演算処理速度を高速
化することができる。
ータ変換のイメージを表わす模式図である。
イメージを表わす模式図である。
す模式的ブロック図である。
ータ変換器の詳細な構成を示す模式的ブロック図であ
る。
の詳細な構成を示す模式的ブロック図である。
の詳細な構成を示す模式的ブロック図である。
の詳細な構成を示す模式的ブロック図である。
の詳細な構成を示す模式的ブロック図である。
す模式的ブロック図である。
フォーマット変換器の詳細な構成を示す模式的ブロック
図である。
フォーマット変換器の詳細な構成を示す模式的ブロック
図である
データ変換のイメージを表わす模式図である。
ージを表わす模式図である。
示す模式的ブロック図である。
データ変換器の詳細な構成を示す模式的ブロック図であ
る。
器の詳細な構成を示す模式的ブロック図である。
器の詳細な構成を示す模式的ブロック図である。
イの詳細な構成を示す模式的ブロック図である。
イの詳細な構成を示す模式的ブロック図である。
示す模式的ブロック図である。
フォーマット変換器の詳細な構成を示す模式的ブロック
図である。
フォーマット変換器の詳細な構成を示す模式的ブロック
図である。
乗算した場合の演算イメージを現す模式図である。
のイメージを表わす模式図である。
を表わす模式図である。
ト変換のイメージを表わす模式図である。
イ 209 112ビット加算器 303,308 入力フォーマット変換器 502〜506 40ビットキャリーセーブ加算器アレ
イ 507 80ビット加算器 514 インバータ
Claims (6)
- 【請求項1】 所定のビット数で表わされる2つの入力
データを乗算する演算処理装置であって、 複数種類の乗算対象データを含む第1の入力データと、
1種類の乗算対象データを含む第2の入力データとを受
け、前記第1および第2の入力データに含まれる乗算対
象データを、前記第1および第2の入力データの各々の
ビット数が乗算対象データの1データ分だけ拡張された
新たな2つの入力データに分配設定することにより、前
記第1の入力データおよび前記第2の入力データを前記
新たな2つの入力データに変換する入力データ変換手段
と、 前記入力データ変換手段により得られた新たな2つの入
力データを受け、これらの入力データの乗算による部分
積を算出する部分積算出手段と、 前記部分積算出手段で算出された部分積のうちの一部の
部分積を加工する加工手段と、 前記加工手段により加工された部分積を含むすべての部
分積を加算する加算手段とを備えた、演算処理装置。 - 【請求項2】 所定のビット数で表わされる2つの入力
データを乗算する演算処理装置であって、 所定ビット幅ごとに表わされる複数種類の乗算対象デー
タを含む第1の入力データと、前記所定ビット幅で表わ
された1種類の乗算対象データを含む第2の入力データ
とを受け、前記第1の入力データについては、最上位に
表わされる乗算対象データ以外の各乗算対象データの上
位ビット側に、乗算対象データがないことを表わすデー
タを前記所定ビット幅だけ拡張するデータ変換を行な
い、前記第2の入力データについては、その乗算対象デ
ータの上位ビット側に、乗算対象データがないことを表
わすデータを前記第1の入力データ全体の拡張分だけ拡
張するデータ変換を行なう入力データ変換手段と、 前記入力データ変換手段で変換された第1の入力データ
および第2の入力データを受け、これらの入力データの
乗算による部分積を算出する部分積算出手段と、 前記部分積算出手段で算出された部分積を加算する加算
手段とを備えた、演算処理装置。 - 【請求項3】 所定のビット数で表わされる2つの入力
データを乗算する演算処理装置であって、 4種類の乗算対象データよりなる第1の入力データと、
1種類の乗算対象データを含む第2の入力データとを受
け、これらの入力データを、最上位ビット側から順に、
前記4種類の乗算対象データのうちの2つのデータの一
方、“0”、前記2つのデータの他方、“0”および前
記1種類の乗算対象データを並べて構成される新たな第
1の入力データと、最上位ビット側から順に、前記1種
類の乗算対象データ、“0”、前記4種類の乗算対象デ
ータのうちの残りの2つのデータの一方、“0”および
前記残りの2つのデータの他方を並べて構成される新た
な第2の入力データとに変換する入力データ変換手段
と、 前記入力データ変換手段により得られた新たな第1の入
力データおよび新たな第2の入力データを受け、これら
の入力データの乗算による部分積を算出する部分積算出
手段と、 前記部分積算出手段で算出された部分積のうちの一部の
部分積を加工する加工手段と、 前記加工手段により加工された部分積を含むすべての部
分積を加算する加算手段とを備えた、演算処理装置。 - 【請求項4】 前記複数種類の乗算対象データは、各々
8ビットで表現され、 前記入力データ変換手段は、前記第1および第2の入力
データをそれぞれ56ビット幅に拡張し、 前記演算処理装置は、さらに、 第1および第2の浮動小数点データのそれぞれ指数部を
加算する指数部加算器を備え、前記第1および第2の入
力データを、それぞれ前記第1および第2の浮動小数点
データの仮数部として受ける、請求項2に記載の演算処
理装置。 - 【請求項5】 各々同一のNビット幅の第1および第2
の入力データを受け、当該第1および第2の入力データ
を、前記Nビット幅より広いビット幅に拡張された第3
および第4の入力データに変換する入力データ変換手段
と、 前記入力データ変換手段から出力される第3および第4
の入力データを受け、 前記第3および第4の入力データ
の間の乗算による部分積を算出する部分積算出手段と、 前記部分積算出手段で算出された部分積を加算する加算
手段とを備え、 前記入力データ変換手段は、 前記第1の入力データの最下位ビットから数えて所定の
ビット位置にあるnビットのデータを伝搬する第1の信
号線と、(nはNより小さい整数) 第2の信号線と、 第3の信号線と、 前記第1の信号線に接続された第1の入力ノードと、前
記第2の信号線に接続された第2の入力ノードとを有
し、選択信号が第1の値を示すときには前記第1の入力
ノードで受ける値を、前記選択信号が第2の値を示すと
きには前記第2の入力ノードで受けた値をそれぞれ選択
して、前記第3の入力データの最下位ビットから数えて
前記所定のビット位置と同一のビット位置に出力する第
1のセレクタと、 前記第3の信号線に接続された第3の入力ノードと、前
記第1の信号線に接続された第4の入力ノードとを有
し、前記選択信号が前記第1の値を示すときには前記第
3の入力ノードで受けた値を、前記選択信号が前記第2
の値を示すときには前記第4の入力ノードで受けた値を
それぞれ選択し、前記第3の入力データの最下位ビット
から数えて前記所定のビット位置とは異なるビット位置
に出力する第2のセレクタとを含む、演算処理装置。 - 【請求項6】 前記第3の信号線は、前記第1の入力デ
ータの別のnビットのデータを伝搬する信号線である、
請求項5に記載の演算処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08852393A JP3247759B2 (ja) | 1993-04-15 | 1993-04-15 | 演算処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08852393A JP3247759B2 (ja) | 1993-04-15 | 1993-04-15 | 演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06301520A JPH06301520A (ja) | 1994-10-28 |
JP3247759B2 true JP3247759B2 (ja) | 2002-01-21 |
Family
ID=13945201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08852393A Expired - Fee Related JP3247759B2 (ja) | 1993-04-15 | 1993-04-15 | 演算処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3247759B2 (ja) |
-
1993
- 1993-04-15 JP JP08852393A patent/JP3247759B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06301520A (ja) | 1994-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4168530A (en) | Multiplication circuit using column compression | |
JPH0713742A (ja) | 乗算装置 | |
US5666301A (en) | Multiplier carrying out numeric calculation at high speed | |
US6820102B2 (en) | DSP unit for multi-level global accumulation | |
KR101560340B1 (ko) | 포화가 적용된 정수 곱셈 연산 및 곱셈-덧셈 연산 | |
US4807175A (en) | Booth's multiplier | |
US6223197B1 (en) | Constant multiplier, method and device for automatically providing constant multiplier and storage medium storing constant multiplier automatic providing program | |
JPH07121354A (ja) | 倍精度・単精度・内積演算および複素乗算が可能な乗算器 | |
US5867413A (en) | Fast method of floating-point multiplication and accumulation | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
US5825681A (en) | Divider/multiplier circuit having high precision mode | |
JP3247759B2 (ja) | 演算処理装置 | |
JPH11327875A (ja) | 演算回路 | |
US4979141A (en) | Technique for providing a sign/magnitude subtraction operation in a floating point computation unit | |
US5142490A (en) | Multiplication circuit with storing means | |
US5999962A (en) | Divider which iteratively multiplies divisor and dividend by multipliers generated from the divisors to compute the intermediate divisors and quotients | |
JPH08314697A (ja) | 符号付き/符号なし数兼用乗算器 | |
US20080071852A1 (en) | Method to perform a subtraction of two operands in a binary arithmetic unit plus arithmetic unit to perform such a method | |
JP2734438B2 (ja) | 乗算装置 | |
JP3493064B2 (ja) | バレルシフタ | |
JP3517162B2 (ja) | 除算・開平演算装置 | |
JP2556300B2 (ja) | 乗算装置 | |
JP3230349B2 (ja) | 10進乗算器 | |
JP3803653B2 (ja) | 乗算処理装置 | |
JPH02114324A (ja) | 乗算器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20011023 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071102 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081102 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081102 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091102 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |