JPS6284335A - 乗算回路 - Google Patents
乗算回路Info
- Publication number
- JPS6284335A JPS6284335A JP60223624A JP22362485A JPS6284335A JP S6284335 A JPS6284335 A JP S6284335A JP 60223624 A JP60223624 A JP 60223624A JP 22362485 A JP22362485 A JP 22362485A JP S6284335 A JPS6284335 A JP S6284335A
- Authority
- JP
- Japan
- Prior art keywords
- partial
- bits
- multiplicand
- multiplier
- carry
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5324—Multiplying 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3896—Bit slicing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明はディジタル演算処理装置に係り、特に浮動小数
点乗算に於いて仮数部の乗算処理を高速に実行するのに
好適な乗算回路に関する。
点乗算に於いて仮数部の乗算処理を高速に実行するのに
好適な乗算回路に関する。
従来の高速乗算回路は、特開昭58−101343号に
記載のように乗数をデコードするデコーダ、被乗数の倍
数を作成するマルチプル・ゲート、多入力キャリー・セ
ーブ・アダー(以下C8Aと称す)及びキャリー・プロ
パゲート・アダー(以下CPAと称す)から構成される
。第2図はその動作を示すものである6図に於いて、A
は32ビツトの被乗数、Bは32ビツトの乗数である1
乗算は乗数を2・mビット×n個に分割することにより
、(n+1)マシン・サイクルで実行することができる
。第2図ではme=4.n=4となっている。
記載のように乗数をデコードするデコーダ、被乗数の倍
数を作成するマルチプル・ゲート、多入力キャリー・セ
ーブ・アダー(以下C8Aと称す)及びキャリー・プロ
パゲート・アダー(以下CPAと称す)から構成される
。第2図はその動作を示すものである6図に於いて、A
は32ビツトの被乗数、Bは32ビツトの乗数である1
乗算は乗数を2・mビット×n個に分割することにより
、(n+1)マシン・サイクルで実行することができる
。第2図ではme=4.n=4となっている。
まず、乗数Bの最下位8ビツトboをデコーダでデコー
ドし4種の乗数を得る。(このデコード方式については
「コンピュータの高速演算方式」。
ドし4種の乗数を得る。(このデコード方式については
「コンピュータの高速演算方式」。
掘越監訳、昭和55年、近代科学社出版p pp、14
2〜PP、160に紹介されており周知の技術なのでこ
こでは説明を省り、)デコーダからの乗数に基づきマル
チプル・ゲートにて被乗数の倍数A−bo(1)〜(4
)を得て、C8Aにて加算を行い、部分和SUM(1)
と部分桁上りCRT(1)を求める。
2〜PP、160に紹介されており周知の技術なのでこ
こでは説明を省り、)デコーダからの乗数に基づきマル
チプル・ゲートにて被乗数の倍数A−bo(1)〜(4
)を得て、C8Aにて加算を行い、部分和SUM(1)
と部分桁上りCRT(1)を求める。
次のマシン・サイクルでは1乗数Bの次の8ビツトbl
をデコードすることにより部分積A−b!(1)〜(4
)を得て、前回求めたSUM (1)とCRY(1)を
右へ8ビツトシフトした値との加算をC8Aで行い部分
和SUM (2)と部分桁上りCRT (2)とを得る
。このとき、SUM (1)とCRY(1)の右ヘシフ
トされてしまった8ビツト(第2図に於ける斜線部分)
については、加算した場合の最上位ビットからの桁上が
りのみを求めておく。
をデコードすることにより部分積A−b!(1)〜(4
)を得て、前回求めたSUM (1)とCRY(1)を
右へ8ビツトシフトした値との加算をC8Aで行い部分
和SUM (2)と部分桁上りCRT (2)とを得る
。このとき、SUM (1)とCRY(1)の右ヘシフ
トされてしまった8ビツト(第2図に於ける斜線部分)
については、加算した場合の最上位ビットからの桁上が
りのみを求めておく。
以下、同様にしてSUM(3)、CRY(3)。
SUM(4)、CRT(4)を求めて行き、最後のマシ
ン・サイクルで部分和SUM(4)と部分桁上りCRY
(4)との加算をCPAにて行い乗算を終了する。
ン・サイクルで部分和SUM(4)と部分桁上りCRY
(4)との加算をCPAにて行い乗算を終了する。
しかし、この方式ではC8A出力の部分和と部分桁上り
のシフト操作が必要であり、2・mビットの乗算処理を
行うには4・mビットのシフト操作が必要となる。この
ため、乗算器を複数のLSIで構成する場合にシフト操
作のための使用ピンが増大してしまうという問題点があ
った。また、C8Aの高速性も充分生かされていなかっ
た。
のシフト操作が必要であり、2・mビットの乗算処理を
行うには4・mビットのシフト操作が必要となる。この
ため、乗算器を複数のLSIで構成する場合にシフト操
作のための使用ピンが増大してしまうという問題点があ
った。また、C8Aの高速性も充分生かされていなかっ
た。
本発明の目的は、乗数をデコードするデコーダとマルチ
プル・ゲートと多入力C8AとCPAから成る乗算器を
複数のLSIで構成する場合に、使用ピン数の少ない高
速な乗算回路を提供することにある。
プル・ゲートと多入力C8AとCPAから成る乗算器を
複数のLSIで構成する場合に、使用ピン数の少ない高
速な乗算回路を提供することにある。
第3図は32ビット乗算器を8ビツト・スライスした構
成にて本発明を用いた場合の乗算手順を示している。こ
こで、S−1〜4は8ビツト・スライスにした各乗算器
を示している。
成にて本発明を用いた場合の乗算手順を示している。こ
こで、S−1〜4は8ビツト・スライスにした各乗算器
を示している。
まず、乗数Bの最下位8ビツトboと被乗数Aの各8ビ
ツトao””asの乗算を行い、S−1にはao−bo
の下位8ビツト及びaδ〜boの上位8ビツトを、S−
2にはao−boの上位8ビツト及びal−boの下位
8ビツトを、S−1にはal・b。
ツトao””asの乗算を行い、S−1にはao−bo
の下位8ビツト及びaδ〜boの上位8ビツトを、S−
2にはao−boの上位8ビツト及びal−boの下位
8ビツトを、S−1にはal・b。
の上位8ビツト及びax’ boの下位8ビツトを、S
−4にはaz−boの上位8ビツト及びas・b。
−4にはaz−boの上位8ビツト及びas・b。
の下位8ビツトをそれぞれ入力する(a−1)。
次に、入力されてきた部分積の加算をC8Aにて行い部
分和SUM (1)及び部分桁上りCRT(1)を求め
る(b−1)、このとき、S−1に於ける部分積(ao
−bo−L)の加算だけは行わず、最上位ビットからの
桁上りのみ求めておく。
分和SUM (1)及び部分桁上りCRT(1)を求め
る(b−1)、このとき、S−1に於ける部分積(ao
−bo−L)の加算だけは行わず、最上位ビットからの
桁上りのみ求めておく。
次のステップでは、第2番目の乗数bz と被乗数Aと
の乗算を行い、S−1にはaz−blの上位8ビツト及
びas・blの下位8ビツト、S−2にはaooblの
下位8ビツト及びas・btの上位8ビツト、S−3に
はao−blの上位8ビツト及びal−blの下位8ビ
ツト、S−4にはat・bzの上位8ビツト及びaz−
blの下位8ビツトをそれぞれ入力する(a −2)。
の乗算を行い、S−1にはaz−blの上位8ビツト及
びas・blの下位8ビツト、S−2にはaooblの
下位8ビツト及びas・btの上位8ビツト、S−3に
はao−blの上位8ビツト及びal−blの下位8ビ
ツト、S−4にはat・bzの上位8ビツト及びaz−
blの下位8ビツトをそれぞれ入力する(a −2)。
a −2では、a−1に対して部分積の入力を8ビツト
ずつ左へずらしであるため前回求めた部分和SUM(1
)及び部分桁上りC:RY(1)と部分積との加算をC
8Aで行う場合にはSUM(1)及びCRY(1)の右
シフトは不要となる(b−2)。
ずつ左へずらしであるため前回求めた部分和SUM(1
)及び部分桁上りC:RY(1)と部分積との加算をC
8Aで行う場合にはSUM(1)及びCRY(1)の右
シフトは不要となる(b−2)。
このとき、S−2に於けるao−bo−L及びSUM(
1)とCRY(1)の斜線部分は、、 as ・bz−
Uとの加算は行わずに前回aO・bo−Lから求めた桁
上りを加算した最上位ビットからの桁上りを求め−でお
く。
1)とCRY(1)の斜線部分は、、 as ・bz−
Uとの加算は行わずに前回aO・bo−Lから求めた桁
上りを加算した最上位ビットからの桁上りを求め−でお
く。
以下、同様にa−3,b−3,a−4,b −4を実行
して最後にSUM(4)とCRY(4)との加算をCP
Aにて行い乗算を終了する。
して最後にSUM(4)とCRY(4)との加算をCP
Aにて行い乗算を終了する。
以上のような処理は部分積を求める度に雑乗数を左へ8
ビツトずつローテートすることにより容易に実現できる
。
ビツトずつローテートすることにより容易に実現できる
。
第4図は従来の乗算回路と本発明による乗算回路のタイ
ミングチャートを示している。従来方式(1)では部分
積を求める処理(a−1〜4)の後に続いて前回の部分
和と部分桁上りとの加算(b−1〜4)を行っていたの
で、1マシン・サイクル毎に1組の部分和と部分桁上り
しか求まっていなかったが、本発明では部分積を求める
処理の後にレジスタを一段設けることにより、次の部分
積を求める処理(a−2〜4)と前回の部分和及び部分
桁上りとの加算(b−1〜3)とを並行して処理できる
ので1/2マシン・サイクル毎に1組の部分和と部分桁
上げを求めることが可能となる。
ミングチャートを示している。従来方式(1)では部分
積を求める処理(a−1〜4)の後に続いて前回の部分
和と部分桁上りとの加算(b−1〜4)を行っていたの
で、1マシン・サイクル毎に1組の部分和と部分桁上り
しか求まっていなかったが、本発明では部分積を求める
処理の後にレジスタを一段設けることにより、次の部分
積を求める処理(a−2〜4)と前回の部分和及び部分
桁上りとの加算(b−1〜3)とを並行して処理できる
ので1/2マシン・サイクル毎に1組の部分和と部分桁
上げを求めることが可能となる。
以下、本発明の一実施例を第1図及び第3〜8図を用い
て説明する。
て説明する。
第1図は本発明を用いた32ビツト乗算回路の全体構成
を示す。乗算回路は、被乗数を格納するレジスタ1、乗
数を格納するレジスタ2.4つに分割した乗数の内1つ
を出力するセレクタ3.4つに分割した被乗数を任意の
位置に出力するセレクタ4.8ビツトの乗数と被乗数と
を基に16ビツトの和成分と桁上げ成分から成る部分積
を作り出す8ビツト乗算器5〜8.8ビツト乗算器5〜
8の出力をラッチするレジスタ20−1〜8及び21−
1〜81、部分積と部分和及び部分桁上りを加算して行
<C,SA9〜12.CSA9〜12の出力をラッチす
るレジスタ22−1〜8及び23−1〜81乗算の最後
に部分和と部分桁上りを加算するCSA9〜12、乗算
結果をラッチするレジスタ24〜27.2対1セレクタ
30−1〜8及び31−1〜8から構成される。このう
ち。
を示す。乗算回路は、被乗数を格納するレジスタ1、乗
数を格納するレジスタ2.4つに分割した乗数の内1つ
を出力するセレクタ3.4つに分割した被乗数を任意の
位置に出力するセレクタ4.8ビツトの乗数と被乗数と
を基に16ビツトの和成分と桁上げ成分から成る部分積
を作り出す8ビツト乗算器5〜8.8ビツト乗算器5〜
8の出力をラッチするレジスタ20−1〜8及び21−
1〜81、部分積と部分和及び部分桁上りを加算して行
<C,SA9〜12.CSA9〜12の出力をラッチす
るレジスタ22−1〜8及び23−1〜81乗算の最後
に部分和と部分桁上りを加算するCSA9〜12、乗算
結果をラッチするレジスタ24〜27.2対1セレクタ
30−1〜8及び31−1〜8から構成される。このう
ち。
レジスタ1,2.20−1〜8.22−1〜8及び24
〜27はマシン・サイクルの前半にスルーとなるスルー
ラッチで、また、レジスタ21−1〜8及び、23−1
〜8はマシン・サイクルの後半にスルーとなるスルーラ
ッチで構成している。
〜27はマシン・サイクルの前半にスルーとなるスルー
ラッチで、また、レジスタ21−1〜8及び、23−1
〜8はマシン・サイクルの後半にスルーとなるスルーラ
ッチで構成している。
次に、第1図の動作を第3図及び第5図を用い説明する
。
。
まず、第1マシン・サイクルの前半(第5図でのTl−
1)で被乗数と乗数がレジスタ1及び2にそれぞれセッ
トされる。第1マシン・サイクルの後半(第5図でのT
l−2)では、セレクタ3により乗数の最下位8ビット
2−1を選択し信号線3−1に、セレクタ4により被乗
数の最下位8ビット1−1を4−2に第2番目の8ビッ
ト1−2を4−3に第3番目の8ビット1−3を4−4
に最上位8ビット1−4を4−1にそれぞれ出力する。
1)で被乗数と乗数がレジスタ1及び2にそれぞれセッ
トされる。第1マシン・サイクルの後半(第5図でのT
l−2)では、セレクタ3により乗数の最下位8ビット
2−1を選択し信号線3−1に、セレクタ4により被乗
数の最下位8ビット1−1を4−2に第2番目の8ビッ
ト1−2を4−3に第3番目の8ビット1−3を4−4
に最上位8ビット1−4を4−1にそれぞれ出力する。
8ビツト乗算器5〜8では乗数3−1、被乗数4−1〜
4を基に和成分5−1.6−1.7−1及び8−1と桁
上げ成分5−2.6−2.7−2.及び8−2から成る
部分積を作業し、レジスタ21−1〜21−8にそれぞ
れセットする。
4を基に和成分5−1.6−1.7−1及び8−1と桁
上げ成分5−2.6−2.7−2.及び8−2から成る
部分積を作業し、レジスタ21−1〜21−8にそれぞ
れセットする。
このとき、レジスタ23−1〜8はリセットしておく。
次に、第2マシン・サイクルの前半(第5図でのT2−
1)では、セレクタ3により乗数の第2番目の8ビット
2−2を3−1に、セレクタ4により被乗数の最下位8
ビット1−1を4−3に第2番目の8ビット1−2を4
−4に第3番目の8ビット1−3を4−1に最上位8ビ
ット1−4を4−2にそれぞれ出力し、8ビツト乗算器
5〜8により部分積を求めてレジスタ20−1〜8にそ
れぞれセットする。これと同時に、セレクタ30−1〜
8によりレジスタ21−1〜8の値を出力する。すると
信号線53及び54には第3図a −1に於けるaδ・
b o −Uの和成分及び桁上げ桁上げ成分が、信号線
55及び56にはao−bo−Lの和成分及び桁上げ成
分が、信号線63及び64にはao−bo−Uの和成分
及び桁上げ成分が、信RIA65及び66には、at・
bo−Lの和成分及び成分が、信号線73及び74には
al・b o −Uの和成分及び桁上げ成分が、信号線
75及び76にはaz−bo−Lの和成分及び桁上げ成
分が、信号線85及び86にはa8・bo−Lの和成分
及び桁上げ成分が、信号線83及び84にはaz・bo
−Uの和成分及び桁上げ成分がそれぞれ出力される。
1)では、セレクタ3により乗数の第2番目の8ビット
2−2を3−1に、セレクタ4により被乗数の最下位8
ビット1−1を4−3に第2番目の8ビット1−2を4
−4に第3番目の8ビット1−3を4−1に最上位8ビ
ット1−4を4−2にそれぞれ出力し、8ビツト乗算器
5〜8により部分積を求めてレジスタ20−1〜8にそ
れぞれセットする。これと同時に、セレクタ30−1〜
8によりレジスタ21−1〜8の値を出力する。すると
信号線53及び54には第3図a −1に於けるaδ・
b o −Uの和成分及び桁上げ桁上げ成分が、信号線
55及び56にはao−bo−Lの和成分及び桁上げ成
分が、信号線63及び64にはao−bo−Uの和成分
及び桁上げ成分が、信RIA65及び66には、at・
bo−Lの和成分及び成分が、信号線73及び74には
al・b o −Uの和成分及び桁上げ成分が、信号線
75及び76にはaz−bo−Lの和成分及び桁上げ成
分が、信号線85及び86にはa8・bo−Lの和成分
及び桁上げ成分が、信号線83及び84にはaz・bo
−Uの和成分及び桁上げ成分がそれぞれ出力される。
また、セレクタ31−1〜8ではレジスタ23−1〜8
の値を選択する。これでCSA9〜12に対する入力が
全てそろい、第1回の部分和9−1゜10−1.11−
1及び1201と部分桁上り9−2゜10−2.11−
2及び12−2が求まりレジスタ22−1〜8にそれぞ
れセットされるa (第3図に於けるb−1の状態)こ
こで、信号線91〜94はCSA9〜12での加算によ
る桁上りを順次左隣りのC8Aに渡すのに用いる。
の値を選択する。これでCSA9〜12に対する入力が
全てそろい、第1回の部分和9−1゜10−1.11−
1及び1201と部分桁上り9−2゜10−2.11−
2及び12−2が求まりレジスタ22−1〜8にそれぞ
れセットされるa (第3図に於けるb−1の状態)こ
こで、信号線91〜94はCSA9〜12での加算によ
る桁上りを順次左隣りのC8Aに渡すのに用いる。
第2マシン・サイクルの後半(第5図でのT2−2)で
は、セレクタ3により乗数の第3番目の8ビット2−3
を3−1に、セレクタ4により被乗数の最下位8ビット
1−1を4−4に第2番目の8ビット1−2を4−1に
第3番目の8ビット1−3を4−2に最上位8ビット1
−4を4−3に出力する。また、セレクタ30−1〜8
によりレジスタ20−1〜8の値を、セレクタ31−1
〜8によりレジスタ22−1〜8の値をそれぞれ出力す
る。これにより第3図に於けるa−3の各部積分がレジ
スタ21−1〜8に、b−2の部分和及び部分桁上りが
レジスタ23−1〜8にそれぞれセットされる。
は、セレクタ3により乗数の第3番目の8ビット2−3
を3−1に、セレクタ4により被乗数の最下位8ビット
1−1を4−4に第2番目の8ビット1−2を4−1に
第3番目の8ビット1−3を4−2に最上位8ビット1
−4を4−3に出力する。また、セレクタ30−1〜8
によりレジスタ20−1〜8の値を、セレクタ31−1
〜8によりレジスタ22−1〜8の値をそれぞれ出力す
る。これにより第3図に於けるa−3の各部積分がレジ
スタ21−1〜8に、b−2の部分和及び部分桁上りが
レジスタ23−1〜8にそれぞれセットされる。
第3マシン・サイクルの前半(第5図でのT3−1)で
は、セレクタ3により乗数の最上位8ビット2−4を3
−1に、セレクタ4により被乗数の最下位8ビット1−
1を4−1に第2番目の8ビット1−2を4−2に第3
番目の8ビット1−3を4−3に最上位8ビット1−4
を4−4にそれぞれ出力する。また、セレクタ30−1
〜8によりレジスタ21−1〜8の値を、セレクタ31
−1〜8によりレジスタ23−1〜8の値をそれぞれ出
力する。これにより第3図に於けるa−4の各部分積が
レジスタ20−1〜8に、b−3の部分和及び部分桁上
りがレジスタ22−1〜8にそれぞれセットされる。
は、セレクタ3により乗数の最上位8ビット2−4を3
−1に、セレクタ4により被乗数の最下位8ビット1−
1を4−1に第2番目の8ビット1−2を4−2に第3
番目の8ビット1−3を4−3に最上位8ビット1−4
を4−4にそれぞれ出力する。また、セレクタ30−1
〜8によりレジスタ21−1〜8の値を、セレクタ31
−1〜8によりレジスタ23−1〜8の値をそれぞれ出
力する。これにより第3図に於けるa−4の各部分積が
レジスタ20−1〜8に、b−3の部分和及び部分桁上
りがレジスタ22−1〜8にそれぞれセットされる。
第3マシン・サイクルの後半(第5図でのT3−2)で
は、セレクタ30−1〜8によりレジスタ20−1〜8
の値を、セレクタ31−1〜8によりレジスタ22−1
〜8の値をそれぞれ出力し、第3図に於けるb−4の部
分和及び部分桁上りがレジスタ23−1〜8にそれぞれ
セットされる。
は、セレクタ30−1〜8によりレジスタ20−1〜8
の値を、セレクタ31−1〜8によりレジスタ22−1
〜8の値をそれぞれ出力し、第3図に於けるb−4の部
分和及び部分桁上りがレジスタ23−1〜8にそれぞれ
セットされる。
第4マシン・サイクルの前半(第5図でのT4−1)で
は、セレクタ31−1〜8によりレジスタ23−1〜8
の値を選択しCPA Cキャリー・プロパゲート・アダ
ー)13〜16にて部分和と部分桁上りの加算を行い最
終乗算結果を求めてレジスタ24〜27にセットする。
は、セレクタ31−1〜8によりレジスタ23−1〜8
の値を選択しCPA Cキャリー・プロパゲート・アダ
ー)13〜16にて部分和と部分桁上りの加算を行い最
終乗算結果を求めてレジスタ24〜27にセットする。
第4マシン・サイクルの後半(第5図でのT4−2)で
は、レジスタ24〜27にセットされている乗算結果の
転送を行う。
は、レジスタ24〜27にセットされている乗算結果の
転送を行う。
以上、述べたように乗数をセレクタ3により1/2マシ
ン・サイクル毎に最下位8ビツトから最上位8ビツトま
で順次出力するのと同時に、被乗数をセレクタ4により
8ビツトずつ左へローテートさせて行くことにより乗算
を実行して行く。
ン・サイクル毎に最下位8ビツトから最上位8ビツトま
で順次出力するのと同時に、被乗数をセレクタ4により
8ビツトずつ左へローテートさせて行くことにより乗算
を実行して行く。
第6図は第1図に於ける8ビツト乗算器5の構成を示し
ている。8ビツト乗算器5は、8ビツト乗数3−1をデ
コードして4種類の倍数101を出力するデコーダ10
0、デコーダ100からの倍数101と8ビツトの被乗
数に基づいた4つの部分積110−1〜4を作成するマ
ルチプル・ゲート110及びマルチプル・ゲート110
からの4つの部分積110〜1〜4を加算して16ビツ
トの和成分5−1及び桁上り成分5−2から成る部分積
を作成する4人力CSA120から構成される。尚、第
1図に於ける8ビツト乗算器6〜8の構成は8ビツト乗
算器5と全く同じなので説明は省く。
ている。8ビツト乗算器5は、8ビツト乗数3−1をデ
コードして4種類の倍数101を出力するデコーダ10
0、デコーダ100からの倍数101と8ビツトの被乗
数に基づいた4つの部分積110−1〜4を作成するマ
ルチプル・ゲート110及びマルチプル・ゲート110
からの4つの部分積110〜1〜4を加算して16ビツ
トの和成分5−1及び桁上り成分5−2から成る部分積
を作成する4人力CSA120から構成される。尚、第
1図に於ける8ビツト乗算器6〜8の構成は8ビツト乗
算器5と全く同じなので説明は省く。
第7図は第1図に於けるCSA9の構成を示している。
CSA9は半マシン・サイクル前に作成された部分積の
和成分53.56と桁上り成分54.57及び部分和5
1、部分桁上り52を入力とする6人力CSA200と
C:5A200により部分積56〜57と部分和51及
び部分桁上り52とを加算した値201に基づき桁上り
信号91−2を作成するCLA (キャリー・ルック・
アヘッド回路)210から構成される。図に於いて信号
線91−1はCSA9からcsAloへの桁上り、信号
線94−1はCSA12からCSA9への桁上りを知ら
せるためのものである。また、第1図に於けるC8AI
O〜12の構成はCSA9と全く同じである。
和成分53.56と桁上り成分54.57及び部分和5
1、部分桁上り52を入力とする6人力CSA200と
C:5A200により部分積56〜57と部分和51及
び部分桁上り52とを加算した値201に基づき桁上り
信号91−2を作成するCLA (キャリー・ルック・
アヘッド回路)210から構成される。図に於いて信号
線91−1はCSA9からcsAloへの桁上り、信号
線94−1はCSA12からCSA9への桁上りを知ら
せるためのものである。また、第1図に於けるC8AI
O〜12の構成はCSA9と全く同じである。
第8図は第7図に於ける6人力CSA200の1桁分の
構成を示しており、FA(フル・アダー)200〜22
3、セレクタ230〜231から成る。同図に於いて信
号線51−1.52−1゜53−1.54−4.55−
1.56−1及び57−1は第7図に於ける信号線51
〜57内のそれぞれ1ビツトを示している。また、信号
線CINは右隣りからの桁上りであり信号線C0UTは
左隣りへの桁上げである6さらに、信号線9−1a及び
9−2aは第7図に於ける信号線9−1及び9−2の1
ビツト分を示している。
構成を示しており、FA(フル・アダー)200〜22
3、セレクタ230〜231から成る。同図に於いて信
号線51−1.52−1゜53−1.54−4.55−
1.56−1及び57−1は第7図に於ける信号線51
〜57内のそれぞれ1ビツトを示している。また、信号
線CINは右隣りからの桁上りであり信号線C0UTは
左隣りへの桁上げである6さらに、信号線9−1a及び
9−2aは第7図に於ける信号線9−1及び9−2の1
ビツト分を示している。
FA220及び221では第7図に於ける入力データ2
01の1ビツト分を常に作成している。
01の1ビツト分を常に作成している。
また、セレクタ230及び231は第3図に於ける斜視
部分の桁上りを算出する場合にも、FA222及び22
3での演算が正しく行われるようにFA221からの入
力を強制的にOにするのに用いる。
部分の桁上りを算出する場合にも、FA222及び22
3での演算が正しく行われるようにFA221からの入
力を強制的にOにするのに用いる。
次に、本発明の他の一実施例を第9図〜第12図を用い
て説明する。
て説明する。
第9図は本発明を用いた32ビツトの乗算回路を含む演
算処理装置である。演算処理装置はレジスタ・ファイル
・エレメント(RFE)1100〜1400とシフタ、
ALU及び乗算回路を含むプロセッサエレメント(PE
) 1500−1800とから成る。
算処理装置である。演算処理装置はレジスタ・ファイル
・エレメント(RFE)1100〜1400とシフタ、
ALU及び乗算回路を含むプロセッサエレメント(PE
) 1500−1800とから成る。
通常の演算処理はRF E 1100〜1400のA及
びBポートから読出した2つのデータに対する演算をP
E 1500〜1800内のシフタ及びALUで行い
、その演算結果をRF E 1100〜1400に格納
するという手順で実行する。
びBポートから読出した2つのデータに対する演算をP
E 1500〜1800内のシフタ及びALUで行い
、その演算結果をRF E 1100〜1400に格納
するという手順で実行する。
次に第9図の乗算実行時の動作を第10図を用いて説明
する。
する。
ここで、簡単のため被乗数の最下位バイトから最上位バ
イトまでを順にao+ az# aa及びaaと呼び同
様に乗数も最下位バイトから順にb o p b 11
bx、bδと呼ぶこととする。
イトまでを順にao+ az# aa及びaaと呼び同
様に乗数も最下位バイトから順にb o p b 11
bx、bδと呼ぶこととする。
まず1乗算の第1マシン・サイクルでは、RF E 1
100〜1400のAポートから被乗数を読出し信号線
1100−AにaO,1200−Aにa t 、 13
00− Aにat、及び1400−Aにaaを出力する
。また、Bポートからは乗数を読出し信号線1100−
Bにbo。
100〜1400のAポートから被乗数を読出し信号線
1100−AにaO,1200−Aにa t 、 13
00− Aにat、及び1400−Aにaaを出力する
。また、Bポートからは乗数を読出し信号線1100−
Bにbo。
1200− Bにb It 1300− Bにbl及び
1300− Bにb8を出力する。(第10図に於ける
T1−1及びTl−2)このとき、被乗数ao””as
をそれぞれ左隣りのRFEへ送り被乗数用レジスタにラ
ッチする。(RFE1400の左隣りはRF E 11
00とする。)また、乗数bo=bsはP E 150
0〜1800内の乗数用レジスタにラッチする。
1300− Bにb8を出力する。(第10図に於ける
T1−1及びTl−2)このとき、被乗数ao””as
をそれぞれ左隣りのRFEへ送り被乗数用レジスタにラ
ッチする。(RFE1400の左隣りはRF E 11
00とする。)また、乗数bo=bsはP E 150
0〜1800内の乗数用レジスタにラッチする。
第2マシン・サイクルの前半(第10図でのT2−1)
ではRF E 1100〜1400のAポートには被乗
数を左へ1バイトだけローデートした値を、Bボートに
は半マシン・サイクル前にAポートに出力していた被乗
数の値をそれぞれ出力する。また、P E 1500〜
1800では半マシン・サイクル前にラッチした乗数を
それぞれ右隣りのPEへ送ることにより乗数の右1バイ
ト・シフトを行う、そしてP E 1500から出力さ
れる乗数1バイト(bo)は信号線1501によりP
E 1500〜1800に送られる。
ではRF E 1100〜1400のAポートには被乗
数を左へ1バイトだけローデートした値を、Bボートに
は半マシン・サイクル前にAポートに出力していた被乗
数の値をそれぞれ出力する。また、P E 1500〜
1800では半マシン・サイクル前にラッチした乗数を
それぞれ右隣りのPEへ送ることにより乗数の右1バイ
ト・シフトを行う、そしてP E 1500から出力さ
れる乗数1バイト(bo)は信号線1501によりP
E 1500〜1800に送られる。
PE1.500〜1800内の乗算回路はAポート及び
Bポートから入力される被乗数と信号線1501から入
力される乗数との乗算を実行する。
Bポートから入力される被乗数と信号線1501から入
力される乗数との乗算を実行する。
以下、同様に第10図T2−2.T3−1゜T3−2で
はRF E 1100〜1400のAポート及びBボー
トに半々マシン・サイクル前に出力していた被乗数に対
してそれぞれ左へ1バイトずつローテートシた値を、信
号線1501には乗数を1バイトずつ右へシフトして行
ったときP E 1500内の乗数用レジスタにラッチ
された値をそれぞれ順に出力し、P E 1500〜1
800内の乗算回路で乗算を実行して行く。
はRF E 1100〜1400のAポート及びBボー
トに半々マシン・サイクル前に出力していた被乗数に対
してそれぞれ左へ1バイトずつローテートシた値を、信
号線1501には乗数を1バイトずつ右へシフトして行
ったときP E 1500内の乗数用レジスタにラッチ
された値をそれぞれ順に出力し、P E 1500〜1
800内の乗算回路で乗算を実行して行く。
第4マシン・サイクルではP E 1500〜1800
内の乗算回路にて最後の部分和と部分桁上りを求めてA
LU入力入力用レジスタフセットALUに対し部分和と
部分桁上りとの加算を指示する。
内の乗算回路にて最後の部分和と部分桁上りを求めてA
LU入力入力用レジスタフセットALUに対し部分和と
部分桁上りとの加算を指示する。
第5マシン・サイクルでは、ALUでの加算により求ま
った乗算結果をRF E 1100〜1400にセット
し乗算を終了する。
った乗算結果をRF E 1100〜1400にセット
し乗算を終了する。
第11図は第9図内RF E 1100の構成を示して
いる。(RFE1200〜1400の構成も全く同様で
ある。)RFEIlooは、8ビツト幅のレジスタ・フ
ァイル1100. Aポート読出し用レジスタ1120
. Bポート読出し用レジスタ1121. Aポート出
力被乗数用レジスタ1140及び1141. Bポート
出力被乗数用レジスタ1130及び1131.2対1セ
レクタ1150゜1160、1170.1180及び1
190から成る。ここで、しラスタ1120.1121
.1130及び1140はマシン・サイクルの前半にス
ルーとなるスルー・ラッチ、レジスタ1100.113
1及び1141はマシン・サイクルの後半にスルーとな
るスルー・ラッチとする。
いる。(RFE1200〜1400の構成も全く同様で
ある。)RFEIlooは、8ビツト幅のレジスタ・フ
ァイル1100. Aポート読出し用レジスタ1120
. Bポート読出し用レジスタ1121. Aポート出
力被乗数用レジスタ1140及び1141. Bポート
出力被乗数用レジスタ1130及び1131.2対1セ
レクタ1150゜1160、1170.1180及び1
190から成る。ここで、しラスタ1120.1121
.1130及び1140はマシン・サイクルの前半にス
ルーとなるスルー・ラッチ、レジスタ1100.113
1及び1141はマシン・サイクルの後半にスルーとな
るスルー・ラッチとする。
通常の演算処理ではセレクタ1180及び1190によ
りレジスタ・ファイル読出し用レジスタ1120及び1
121(7)値を選択し信号線1100−A及び110
0− B ニそれぞれ出力し、信号線1500−Cによ
りP E 1500での演算結果を読込む。
りレジスタ・ファイル読出し用レジスタ1120及び1
121(7)値を選択し信号線1100−A及び110
0− B ニそれぞれ出力し、信号線1500−Cによ
りP E 1500での演算結果を読込む。
次に乗算処理時の動作を説明する。まず1乗算の第1マ
シン・サイクル前半(第10図でのT1−1)ではレジ
スタ・ファイル1110のAポートより被乗数(ao)
をBボートより乗数(bo)を読出しレジスタ1120
及び1121にそれぞれラッチする。このとき、セレク
タ1150ではレジスタ・ファイル1110のAポート
出力側を選択しレジスタ1140にラッチする。また、
セレクタ1180及び1190ではレジラスタ1120
及び1121の出力をそれぞれ選択しておく。
シン・サイクル前半(第10図でのT1−1)ではレジ
スタ・ファイル1110のAポートより被乗数(ao)
をBボートより乗数(bo)を読出しレジスタ1120
及び1121にそれぞれラッチする。このとき、セレク
タ1150ではレジスタ・ファイル1110のAポート
出力側を選択しレジスタ1140にラッチする。また、
セレクタ1180及び1190ではレジラスタ1120
及び1121の出力をそれぞれ選択しておく。
第1マシン・サイクルの後半(第10図でのTl−2)
では、セレクタ1150によりRE F 1140Aボ
ートの出力1140− A (a a)側を選択しレジ
スタ1141にラッチする。また、セレクタ1160に
よりレジスタ1140の出力(ao)を選択しレジスタ
1131でラッチする。
では、セレクタ1150によりRE F 1140Aボ
ートの出力1140− A (a a)側を選択しレジ
スタ1141にラッチする。また、セレクタ1160に
よりレジスタ1140の出力(ao)を選択しレジスタ
1131でラッチする。
第2及び第3マシン・サイクルでは、セレクタ1150
により信号線1400−Aを、セレクタ1180により
セレクタ1160の出力を、セレクタ1190によりセ
レクタ1170の出力をそれぞれ選択し、セレクタ11
60及び1170によりマシン・サイクルの前半にはレ
ジスタ1141及び1131の出力を、マシン・サイク
ルの後半にはレジスタ1140及び1130の出力をそ
れぞれ選択することにより、信号線1100−A及び1
100−Bに第10図のT2−1〜T3−2に示すよう
な出力を得ることができる。
により信号線1400−Aを、セレクタ1180により
セレクタ1160の出力を、セレクタ1190によりセ
レクタ1170の出力をそれぞれ選択し、セレクタ11
60及び1170によりマシン・サイクルの前半にはレ
ジスタ1141及び1131の出力を、マシン・サイク
ルの後半にはレジスタ1140及び1130の出力をそ
れぞれ選択することにより、信号線1100−A及び1
100−Bに第10図のT2−1〜T3−2に示すよう
な出力を得ることができる。
次に、第12図は第9図に於けるP E 1500の構
成を示している。 (PT’:1600〜1800の
構成も全く同じである。 ) PE1500は、Aポー
ト入力用レジスタ1512. Bボート入力用レジスタ
1513 、左右へ8ビツト・シフト可能なシフタ(S
H) 1514.8ビットALU1515.ALU出力
をラッチするレジスタ1516.乗数用レジスタ155
1及び1552.シフト操作のための入力用ゲート15
18及び1521 、出力用ゲート1519.1520
及び1554.8ビツト乗算器1555及び1556と
それぞれの出力をラッチするレジスタ、6人力CS A
1557とその出力をラッチするレジスタ、セレクタ1
510.1511.1550及び1553等から成る。
成を示している。 (PT’:1600〜1800の
構成も全く同じである。 ) PE1500は、Aポー
ト入力用レジスタ1512. Bボート入力用レジスタ
1513 、左右へ8ビツト・シフト可能なシフタ(S
H) 1514.8ビットALU1515.ALU出力
をラッチするレジスタ1516.乗数用レジスタ155
1及び1552.シフト操作のための入力用ゲート15
18及び1521 、出力用ゲート1519.1520
及び1554.8ビツト乗算器1555及び1556と
それぞれの出力をラッチするレジスタ、6人力CS A
1557とその出力をラッチするレジスタ、セレクタ1
510.1511.1550及び1553等から成る。
このうち、8ピッ1−乗算器1555及び1556は第
6図により、6人力CS A1557は第7図及び第8
図により説明したものと全く同じ構成である。
6図により、6人力CS A1557は第7図及び第8
図により説明したものと全く同じ構成である。
通常の演算処理では、セレクタ1510及び1511に
より信号線1500−A及び1500−Bを選択しレジ
スタ1512及び1513にラッチする。そして、 5
H1514によりシフト操作を行った後にA L U1
515で演算を実行しその結果をレジスタ1516にラ
ッチする。
より信号線1500−A及び1500−Bを選択しレジ
スタ1512及び1513にラッチする。そして、 5
H1514によりシフト操作を行った後にA L U1
515で演算を実行しその結果をレジスタ1516にラ
ッチする。
ラッチしたデータは信号線1500−CによりRFEl
looへ送る。
looへ送る。
次に乗算処理時の動作を説明する。まず、第1マシン・
サイクルの後半(第10図でのTl−2)では、信号線
1100−Bにより送られて来る乗数(bo) をセレ
クタ1550にて選択しレジスタ1552にラッチする
。第2及び第3マシン・サイクルでは。
サイクルの後半(第10図でのTl−2)では、信号線
1100−Bにより送られて来る乗数(bo) をセレ
クタ1550にて選択しレジスタ1552にラッチする
。第2及び第3マシン・サイクルでは。
ゲート1519及び1520をハイ・インピーダンス状
態。
態。
ゲート1554を出力可能状態、セレクタl550をP
E 1600からのデータを選択する状態とし、セレ
クタ1553によりマシン・サイクルの前半はレジスタ
1552の出力を、マスン・サイクルの後半はレジスタ
1551の出力を選択することにより、信号線1501
に第10図のT2−1〜T3−2に示すような出力を得
ることができる。
E 1600からのデータを選択する状態とし、セレ
クタ1553によりマシン・サイクルの前半はレジスタ
1552の出力を、マスン・サイクルの後半はレジスタ
1551の出力を選択することにより、信号線1501
に第10図のT2−1〜T3−2に示すような出力を得
ることができる。
以上のような操作により8ビツト乗算器1555及び1
556.6人力CS A1557から成る乗算回路にて
第3図に示すような乗算処理が可能となる。
556.6人力CS A1557から成る乗算回路にて
第3図に示すような乗算処理が可能となる。
第4マシン・サイクルでは、6人力CS A1557に
て求めた部分和及び部分桁上りをセレクタ1510及び
1511により選択し、ALU1515で加算すること
により乗算結果を得ることができる。
て求めた部分和及び部分桁上りをセレクタ1510及び
1511により選択し、ALU1515で加算すること
により乗算結果を得ることができる。
本発明によれば、一度にnビット処理を行う乗算回路に
おいて従来方式に比べて半分近いシフト数で済むので、
乗算回路を複数のLSIで構成するのに好適である。ま
た、従来1マシン・サイクルかけて処理していた部分積
演算をパーイブライン化することにより1/2マシン・
サイクルで実行することができるので高速な乗算処理が
可能となる。
おいて従来方式に比べて半分近いシフト数で済むので、
乗算回路を複数のLSIで構成するのに好適である。ま
た、従来1マシン・サイクルかけて処理していた部分積
演算をパーイブライン化することにより1/2マシン・
サイクルで実行することができるので高速な乗算処理が
可能となる。
第1図は本発明による乗算回路の全体構成図、第2図は
従来の乗算方式による処理手順を示す図、第3図は本発
明を用いた場合の乗算処理手順を示す図、第4図は本発
明による乗算処理のタイミングチャート、第5図は第1
図の動作説明図、第6図は第1図に於ける8ビット乗算
器5の説明図。 第7図は第1図に於けるCSA9の説明図、第8図は第
7図に於ける6人力CSA200の説明図、第9図〜第
12図は本発明の他の一実施例を示す図である。 1・・・被乗数をラッチするレジスタ、2・・・乗数を
ラッチするレジスタ、3・・・4対1セレクタ、4・・
・被乗数を左へローテートさせるためのセレクタ、5〜
8・・・8ビット乗算器、9〜12・・・6人力C8A
。 代理人 弁理士 小川勝男゛′− 第 I B 躬 2El 第 3 口 劣 40 男 7 口 箸 Bの 20+ 第 11 口
従来の乗算方式による処理手順を示す図、第3図は本発
明を用いた場合の乗算処理手順を示す図、第4図は本発
明による乗算処理のタイミングチャート、第5図は第1
図の動作説明図、第6図は第1図に於ける8ビット乗算
器5の説明図。 第7図は第1図に於けるCSA9の説明図、第8図は第
7図に於ける6人力CSA200の説明図、第9図〜第
12図は本発明の他の一実施例を示す図である。 1・・・被乗数をラッチするレジスタ、2・・・乗数を
ラッチするレジスタ、3・・・4対1セレクタ、4・・
・被乗数を左へローテートさせるためのセレクタ、5〜
8・・・8ビット乗算器、9〜12・・・6人力C8A
。 代理人 弁理士 小川勝男゛′− 第 I B 躬 2El 第 3 口 劣 40 男 7 口 箸 Bの 20+ 第 11 口
Claims (1)
- 1、2m×nビットの乗数がセットされるレジスタと、
2n×nビットの被乗数がセットされるレジスタとn個
に分割された乗数のうち1個を取り出す手段と、取り出
した2・mビットの乗数をデコードするデコーダと、該
デコーダの出力に従つて被乗数の倍数を作成するマルチ
プル・ゲートと該マルチプル・ゲートからの出力を加算
する多入力キャリー・セーブ・アダー(以下CSAと略
称する)と該多入力CSAの出力をラッチする中間レジ
スタと該中間レジスタにラッチされている部分和と部分
桁上りとを加算して乗算結果を求めるためのキャリー・
プロパゲート・アダー(以下CPAと略称する)より成
る乗算回路において、該2m×nビットの被乗数を2m
ビット単位で左へローテートさせる手段を被乗数セット
用レジスタの出力側に設けたことを特徴とする乗算回路
。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60223624A JPS6284335A (ja) | 1985-10-09 | 1985-10-09 | 乗算回路 |
US06/916,695 US4811269A (en) | 1985-10-09 | 1986-10-08 | Bit slice multiplication circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60223624A JPS6284335A (ja) | 1985-10-09 | 1985-10-09 | 乗算回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6284335A true JPS6284335A (ja) | 1987-04-17 |
JPH0368413B2 JPH0368413B2 (ja) | 1991-10-28 |
Family
ID=16801123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60223624A Granted JPS6284335A (ja) | 1985-10-09 | 1985-10-09 | 乗算回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4811269A (ja) |
JP (1) | JPS6284335A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02119318A (ja) * | 1988-04-12 | 1990-05-07 | Texas Instr Inc <Ti> | ディジタル信号処理装置 |
JPH05233228A (ja) * | 1991-12-16 | 1993-09-10 | Internatl Business Mach Corp <Ibm> | 浮動小数点演算装置およびその演算方法 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4947364A (en) * | 1985-10-23 | 1990-08-07 | Hewlett-Packard Company | Method in a computing system for performing a multiplication |
US5165039A (en) * | 1986-03-28 | 1992-11-17 | Texas Instruments Incorporated | Register file for bit slice processor with simultaneous accessing of plural memory array cells |
US4941121A (en) * | 1988-04-01 | 1990-07-10 | Digital Equipment Corporation | Apparatus for high performance multiplication |
US4939687A (en) * | 1988-11-01 | 1990-07-03 | General Electric Company | Serial-parallel multipliers using serial as well as parallel addition of partial products |
CA1311063C (en) * | 1988-12-16 | 1992-12-01 | Tokumichi Murakami | Digital signal processor |
FR2656706A1 (fr) * | 1989-12-29 | 1991-07-05 | Radiotechnique Compelec | Organe de traitement arithmetique a associer a une unite centrale de microprocesseur. |
JPH0594546A (ja) * | 1991-02-05 | 1993-04-16 | American Teleph & Telegr Co <Att> | デジタルプロセツサ |
US5325320A (en) * | 1992-05-01 | 1994-06-28 | Seiko Epson | Area efficient multiplier for use in an integrated circuit |
DE69329260T2 (de) * | 1992-06-25 | 2001-02-22 | Canon Kk | Gerät zum Multiplizieren von Ganzzahlen mit vielen Ziffern |
US5509129A (en) | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
US5586070A (en) * | 1994-08-03 | 1996-12-17 | Chromatic Research, Inc. | Structure and method for embedding two small multipliers in a larger multiplier |
JPH11500547A (ja) * | 1994-12-01 | 1999-01-12 | インテル・コーポレーション | 乗算を有するマイクロプロセッサ |
JP3277089B2 (ja) * | 1995-02-14 | 2002-04-22 | 株式会社東芝 | 乗算器及び積和演算装置 |
US6643765B1 (en) * | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US5764558A (en) * | 1995-08-25 | 1998-06-09 | International Business Machines Corporation | Method and system for efficiently multiplying signed and unsigned variable width operands |
CN103064653B (zh) * | 1995-08-31 | 2016-05-18 | 英特尔公司 | 控制移位分组数据的位校正的装置 |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
US7395298B2 (en) * | 1995-08-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed data |
US5907842A (en) * | 1995-12-20 | 1999-05-25 | Intel Corporation | Method of sorting numbers to obtain maxima/minima values with ordering |
EP0845740B1 (en) * | 1996-11-27 | 2002-09-18 | Texas Instruments Incorporated | A multiplier unit |
US5889691A (en) * | 1997-01-06 | 1999-03-30 | Texas Instruments Incorporated | Apparatus and method for a multiplier unit with high component utilization |
US6055619A (en) * | 1997-02-07 | 2000-04-25 | Cirrus Logic, Inc. | Circuits, system, and methods for processing multiple data streams |
US6230253B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Executing partial-width packed data instructions |
US6230257B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Method and apparatus for staggering execution of a single packed data instruction using the same circuit |
US6523055B1 (en) | 1999-01-20 | 2003-02-18 | Lsi Logic Corporation | Circuit and method for multiplying and accumulating the sum of two products in a single cycle |
US6611856B1 (en) | 1999-12-23 | 2003-08-26 | Intel Corporation | Processing multiply-accumulate operations in a single cycle |
AU2002339867A1 (en) * | 2001-09-04 | 2003-03-18 | Microunity Systems Engineering, Inc. | System and method for performing multiplication |
US7430578B2 (en) * | 2001-10-29 | 2008-09-30 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed byte data |
AU2003221680A1 (en) * | 2002-04-09 | 2003-10-27 | The Research Foundation Of State University Of New York | Multiplier-based processor-in-memory architectures for image and graphics processing |
US7401109B2 (en) * | 2002-08-06 | 2008-07-15 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University | Multiplication of multi-precision numbers having a size of a power of two |
US7447310B2 (en) * | 2002-08-06 | 2008-11-04 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University | Lean multiplication of multi-precision numbers over GF(2m) |
GB2396708B (en) | 2002-12-05 | 2006-06-21 | Micron Technology Inc | Hybrid arithmetic logic unit |
US8073892B2 (en) | 2005-12-30 | 2011-12-06 | Intel Corporation | Cryptographic system, method and multiplier |
US7519646B2 (en) * | 2006-10-26 | 2009-04-14 | Intel Corporation | Reconfigurable SIMD vector processing system |
US20080140753A1 (en) * | 2006-12-08 | 2008-06-12 | Vinodh Gopal | Multiplier |
US9696975B2 (en) * | 2010-09-03 | 2017-07-04 | International Business Machines Corporation | Allocating register halves independently |
US10778482B2 (en) | 2019-02-12 | 2020-09-15 | Texas Instruments Incorporated | Bit slicer circuit for S-FSK receiver, integrated circuit, and method associated therewith |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58101343A (ja) * | 1981-12-11 | 1983-06-16 | Fujitsu Ltd | 乗算方式 |
US4594679A (en) * | 1983-07-21 | 1986-06-10 | International Business Machines Corporation | High speed hardware multiplier for fixed floating point operands |
JPS6068432A (ja) * | 1983-09-22 | 1985-04-19 | Hitachi Ltd | キヤリセ−ブアダ−の符号生成方式 |
JP3191233B2 (ja) * | 1992-07-14 | 2001-07-23 | コニカ株式会社 | 自動原稿搬送装置及び方法 |
-
1985
- 1985-10-09 JP JP60223624A patent/JPS6284335A/ja active Granted
-
1986
- 1986-10-08 US US06/916,695 patent/US4811269A/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02119318A (ja) * | 1988-04-12 | 1990-05-07 | Texas Instr Inc <Ti> | ディジタル信号処理装置 |
JPH05233228A (ja) * | 1991-12-16 | 1993-09-10 | Internatl Business Mach Corp <Ibm> | 浮動小数点演算装置およびその演算方法 |
Also Published As
Publication number | Publication date |
---|---|
JPH0368413B2 (ja) | 1991-10-28 |
US4811269A (en) | 1989-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6284335A (ja) | 乗算回路 | |
US6647404B2 (en) | Double precision floating point multiplier having a 32-bit booth-encoded array multiplier | |
US7836117B1 (en) | Specialized processing block for programmable logic device | |
US4972362A (en) | Method and apparatus for implementing binary multiplication using booth type multiplication | |
US6401194B1 (en) | Execution unit for processing a data stream independently and in parallel | |
US7480685B2 (en) | Apparatus and method for generating packed sum of absolute differences | |
US5153848A (en) | Floating point processor with internal free-running clock | |
EP1049025B1 (en) | Method and apparatus for arithmetic operations | |
JPH07200260A (ja) | 単一プロセッサにおける並列データ処理 | |
US4748582A (en) | Parallel multiplier array with foreshortened sign extension | |
Avizienis | Arithmetic algorithms for error-coded operands | |
US5892698A (en) | 2's complement floating-point multiply accumulate unit | |
JPH05233228A (ja) | 浮動小数点演算装置およびその演算方法 | |
US6324638B1 (en) | Processor having vector processing capability and method for executing a vector instruction in a processor | |
US8996601B2 (en) | Method and apparatus for multiply instructions in data processors | |
US4982352A (en) | Methods and apparatus for determining the absolute value of the difference between binary operands | |
TWI299134B (en) | Wide adder with critical path of three gates | |
JPS595349A (ja) | 加算器 | |
US8959137B1 (en) | Implementing large multipliers in a programmable integrated circuit device | |
US6519621B1 (en) | Arithmetic circuit for accumulative operation | |
Yamada et al. | A 13.3 ns double-precision floating-point ALU and multiplier | |
US10929101B2 (en) | Processor with efficient arithmetic units | |
Unwala et al. | Superpipelined adder designs | |
Curran et al. | 4GHz+ low-latency fixed-point and binary floating-point execution units for the POWER6 processor | |
EP0112186B1 (en) | Modular high-speed multipliers, and integrated circuit chip modules for such multipliers |