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
Application number
JP60223624A
Other languages
English (en)
Other versions
JPH0368413B2 (ja
Inventor
Kenji Hirose
健二 廣瀬
Tadaaki Bando
忠秋 坂東
Hidekazu Matsumoto
松本 秀和
Shinichiro Yamaguchi
伸一朗 山口
Yoichi Hirayama
洋一 平山
Hiroaki Nakanishi
宏明 中西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Engineering Co Ltd
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Engineering Co Ltd
Priority to JP60223624A priority Critical patent/JPS6284335A/ja
Priority to US06/916,695 priority patent/US4811269A/en
Publication of JPS6284335A publication Critical patent/JPS6284335A/ja
Publication of JPH0368413B2 publication Critical patent/JPH0368413B2/ja
Granted 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
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3896Bit 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となっている。
まず、乗数Bの最下位8ビツトboをデコーダでデコー
ドし4種の乗数を得る。(このデコード方式については
「コンピュータの高速演算方式」。
掘越監訳、昭和55年、近代科学社出版p pp、14
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図に於ける斜線部分)
については、加算した場合の最上位ビットからの桁上が
りのみを求めておく。
以下、同様にしてSUM(3)、CRY(3)。
SUM(4)、CRT(4)を求めて行き、最後のマシ
ン・サイクルで部分和SUM(4)と部分桁上りCRY
(4)との加算をCPAにて行い乗算を終了する。
しかし、この方式ではC8A出力の部分和と部分桁上り
のシフト操作が必要であり、2・mビットの乗算処理を
行うには4・mビットのシフト操作が必要となる。この
ため、乗算器を複数のLSIで構成する場合にシフト操
作のための使用ピンが増大してしまうという問題点があ
った。また、C8Aの高速性も充分生かされていなかっ
た。
〔発明の目的〕
本発明の目的は、乗数をデコードするデコーダとマルチ
プル・ゲートと多入力C8AとCPAから成る乗算器を
複数のLSIで構成する場合に、使用ピン数の少ない高
速な乗算回路を提供することにある。
〔発明の概要〕
第3図は32ビット乗算器を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。
の上位8ビツト及びax’ boの下位8ビツトを、S
−4にはaz−boの上位8ビツト及びas・b。
の下位8ビツトをそれぞれ入力する(a−1)。
次に、入力されてきた部分積の加算をC8Aにて行い部
分和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)。
a −2では、a−1に対して部分積の入力を8ビツト
ずつ左へずらしであるため前回求めた部分和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から求めた桁
上りを加算した最上位ビットからの桁上りを求め−でお
く。
以下、同様にa−3,b−3,a−4,b −4を実行
して最後に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図及び第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.20−1〜8.22−1〜8及び24
〜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にそれぞれ出力する。
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にそれぞ
れセットする。
このとき、レジスタ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の和成分及び桁上げ成分がそれぞれ出力される。
また、セレクタ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に渡すのに用いる。
第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マシン・サイクルの前半(第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マシン・サイクルの後半(第5図でのT3−2)で
は、セレクタ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にセットする。
第4マシン・サイクルの後半(第5図でのT4−2)で
は、レジスタ24〜27にセットされている乗算結果の
転送を行う。
以上、述べたように乗数をセレクタ3により1/2マシ
ン・サイクル毎に最下位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と全く同じなので説明は省く。
第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と全く同じである。
第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
ビツト分を示している。
FA220及び221では第7図に於ける入力データ2
01の1ビツト分を常に作成している。
また、セレクタ230及び231は第3図に於ける斜視
部分の桁上りを算出する場合にも、FA222及び22
3での演算が正しく行われるようにFA221からの入
力を強制的にOにするのに用いる。
次に、本発明の他の一実施例を第9図〜第12図を用い
て説明する。
第9図は本発明を用いた32ビツトの乗算回路を含む演
算処理装置である。演算処理装置はレジスタ・ファイル
・エレメント(RFE)1100〜1400とシフタ、
ALU及び乗算回路を含むプロセッサエレメント(PE
) 1500−1800とから成る。
通常の演算処理はRF E 1100〜1400のA及
びBポートから読出した2つのデータに対する演算をP
 E 1500〜1800内のシフタ及びALUで行い
、その演算結果をRF E 1100〜1400に格納
するという手順で実行する。
次に第9図の乗算実行時の動作を第10図を用いて説明
する。
ここで、簡単のため被乗数の最下位バイトから最上位バ
イトまでを順に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。
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内の乗数用レジスタにラッチする。
第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に送られる。
PE1.500〜1800内の乗算回路はAポート及び
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内の乗算回路で乗算を実行して行く。
第4マシン・サイクルではP E 1500〜1800
内の乗算回路にて最後の部分和と部分桁上りを求めてA
LU入力入力用レジスタフセットALUに対し部分和と
部分桁上りとの加算を指示する。
第5マシン・サイクルでは、ALUでの加算により求ま
った乗算結果を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はマシン・サイクルの後半にスルーとな
るスルー・ラッチとする。
通常の演算処理ではセレクタ1180及び1190によ
りレジスタ・ファイル読出し用レジスタ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の出力をそれぞれ選択しておく。
第1マシン・サイクルの後半(第10図でのTl−2)
では、セレクタ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に示すよう
な出力を得ることができる。
次に、第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等から成る。
このうち、8ピッ1−乗算器1555及び1556は第
6図により、6人力CS A1557は第7図及び第8
図により説明したものと全く同じ構成である。
通常の演算処理では、セレクタ1510及び1511に
より信号線1500−A及び1500−Bを選択しレジ
スタ1512及び1513にラッチする。そして、 5
H1514によりシフト操作を行った後にA L U1
515で演算を実行しその結果をレジスタ1516にラ
ッチする。
ラッチしたデータは信号線1500−CによりRFEl
looへ送る。
次に乗算処理時の動作を説明する。まず、第1マシン・
サイクルの後半(第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に示すような出力を得
ることができる。
以上のような操作により8ビツト乗算器1555及び1
556.6人力CS A1557から成る乗算回路にて
第3図に示すような乗算処理が可能となる。
第4マシン・サイクルでは、6人力CS A1557に
て求めた部分和及び部分桁上りをセレクタ1510及び
1511により選択し、ALU1515で加算すること
により乗算結果を得ることができる。
〔発明の効果〕
本発明によれば、一度にnビット処理を行う乗算回路に
おいて従来方式に比べて半分近いシフト数で済むので、
乗算回路を複数の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  口

Claims (1)

    【特許請求の範囲】
  1. 1、2m×nビットの乗数がセットされるレジスタと、
    2n×nビットの被乗数がセットされるレジスタとn個
    に分割された乗数のうち1個を取り出す手段と、取り出
    した2・mビットの乗数をデコードするデコーダと、該
    デコーダの出力に従つて被乗数の倍数を作成するマルチ
    プル・ゲートと該マルチプル・ゲートからの出力を加算
    する多入力キャリー・セーブ・アダー(以下CSAと略
    称する)と該多入力CSAの出力をラッチする中間レジ
    スタと該中間レジスタにラッチされている部分和と部分
    桁上りとを加算して乗算結果を求めるためのキャリー・
    プロパゲート・アダー(以下CPAと略称する)より成
    る乗算回路において、該2m×nビットの被乗数を2m
    ビット単位で左へローテートさせる手段を被乗数セット
    用レジスタの出力側に設けたことを特徴とする乗算回路
JP60223624A 1985-10-09 1985-10-09 乗算回路 Granted JPS6284335A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 コニカ株式会社 自動原稿搬送装置及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
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&#39;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