JPH0844706A - 演算装置 - Google Patents

演算装置

Info

Publication number
JPH0844706A
JPH0844706A JP6182253A JP18225394A JPH0844706A JP H0844706 A JPH0844706 A JP H0844706A JP 6182253 A JP6182253 A JP 6182253A JP 18225394 A JP18225394 A JP 18225394A JP H0844706 A JPH0844706 A JP H0844706A
Authority
JP
Japan
Prior art keywords
output
data
multiplier
bit
multiplexer
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.)
Pending
Application number
JP6182253A
Other languages
English (en)
Inventor
Hidetoshi Suzuki
秀俊 鈴木
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP6182253A priority Critical patent/JPH0844706A/ja
Publication of JPH0844706A publication Critical patent/JPH0844706A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 複数のワードに保存されているビット単位の
データを1つのワードに集める処置を行うに際し、少な
いメモリ量で、しかも、少ない消費電力で高速に演算を
行うことができるようにする。 【構成】 マルチプレクサ3とラッチ5と1ビット右シ
フタ7とマルチプレクサ8を備え、シフタ7の出力が次
のマシンサイクルでは再び、同一のラッチ5に入力する
構成とする。マルチプレクサ8の出力と乗数を乗算器1
1で乗算する。最初に被乗数として、最上位ビットのみ
1で、残りがすべて0の数を入力し、以降の数はシフタ
7で右シフトするようにしているので、データ系列をハ
ードウェア的に生成することが可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、乗算器を用いてデータ
の並び変えを行なう演算装置に関するものである。
【0002】
【従来の技術】従来、シフトを行なうための乗算器を用
いることがある。例えば、1ビット左シフトを行なうた
めに、十進数でいる2を乗ずることなどである。これら
の処理は、プロセッサ内部に乗算器のほかに算術理論演
算回路、バレルシフタ等が備えられ、これらの処理と同
時にシフトを行なうことで、処理能力の向上を図ること
ができるときなどに用いられる。
【0003】上記の原理を用い、複数のワードに保存さ
れているビット単位のデータを1つのワードに集める処
理を行なうことがある。例えば、4ビットのプロセッサ
において、4ワードのおのおの最下位であるデータを集
め、1ワードのデータにする処理などである。
【0004】以下、従来の演算装置の一例について図2
に示す概略ブロック図を参照しながら説明する。この従
来例においては4ビットのワード長を持つ演算装置につ
いて説明する。
【0005】図2において、101は4ビット幅の乗数
入力端子、102は4ビット幅の被乗数の入力端子、1
05は被乗数のデータを一時保存する4ビット幅のラッ
チ、106はラッチ105の出力、111は乗数101
とラッチ105の出力106を乗算する乗算器であり、
4ビット×4ビットの演算を行なう。112は乗算器1
11の4ビットの出力、113は加算器であり、乗算器
111の出力112と後述するアキュムレータレジスタ
114の出力115との加算を行ない、アキュムレータ
レシスタ114に4ビット幅で出力する。114は4ビ
ット幅のアキュムレータレジスタであり、加算器113
の出力を一時保存する。
【0006】以上のように構成された演算装置におい
て、4ワードの各々最下位ビットにあるデータを集め、
1ワードのデータに処理する場合の例について説明す
る。
【0007】最下位ビットに有効ビットをもつデータ系
列Aを考える。最下位ビットにのみ有効データが存在
し、それ以外のビットには0が入っている。以下に示す
データを乗数として順次、乗数入力端子101に入力す
る。
【0008】表1(データ系列A) アドレス データ 0 0001 1 0000 2 0001 3 0000 一方、被乗数として、各ワードで1ビットのみ1である
データ系列Bを考える。データ系列Bは、その一例とし
て次のように最上位ビットから順次、1の位置が最下位
ビットに向かってシフトしていくデータであり、このデ
ータ系列Bを順次、被乗数入力端子102に入力する。
【0009】表2(データ系列B) アドレス データ 100 1000 101 0100 102 0010 103 0001 データ系列Aを乗数入力端子101に小さいアドレスの
データから順に与える。一方、データ系列Bを被乗数の
入力端子102に小さいアドレスのデータから順に与え
る。ラッチ105は被乗数の入力端子102からのデー
タを1マシンサイクルの間保持する。乗算器111は、
順に入力されたデータ系列A、Bのデータに対して乗算
を行なう。各入力データに対する乗算結果112は次の
ようになる。
【0010】 0001*1000= 1000 0000*0100= 0000 0001*0010= 0010 0000*0001= 0000 乗算器出力112を加算器113が累算を行なう。この
とき、アキュムレータレジスタ114には初期値とし
て、0000が入っているものとする。4マシンサイク
ル後には、アキュムレータレジスタ114には、以下の
累算結果を得る。これは、データ系列Aの最下位ビット
のデータを順次並べたデータである。
【0011】1010 このように、上記従来例の演算装置では、被乗数として
表2に示すデータ系列Bを与え、乗算と累算を行なうこ
とにより、複数のワードに保存されているビット単位の
データを1つのワードに集める処理を行なうことができ
る。
【0012】
【発明が解決しようとする課題】しかしながら、上記従
来例の構成では、被乗数のデータ系列Bを生成するため
に、メモリに表2に示すデータ系列Bを保持しておかな
くてはならない。このため、メモリの面積が増大する。
また、データ系列を読み出すためにメモリを動作させる
ため、消費電流が増加し、演算速度を高速化することが
困難となる。
【0013】本発明は、このような従来の問題を解決す
るものであり、複数のワードに保存されているビット単
位のデータを1つのワードに集める処理を行なうに際
し、少ないメモリ量で、しかも、少ない消費電力で、高
速に演算することができるようにした演算装置を提供す
ることを目的とするものである。
【0014】
【課題を解決するための手段】本発明は、上記目的を達
成するために、被乗数とそのシフトデータを選択して出
力する第1のマルチプレクサと、この第1のマルチプレ
クサの出力を保持するラッチと、このラッチの出力をシ
フトして上記シフトデータを出力するシフタと、上記ラ
ッチの出力と上記シフタの出力とを選択して出力する第
2のマルチプレクサと、この第2のマルチプレクサの出
力と乗数を乗算する乗算器と、この乗算器の出力を累算
する加算器とを備えたものである。
【0015】
【作用】したがって、本発明によれば、最初に被乗数を
入力すれば、以降の数はシフタでシフトするようにして
いるので、データ系列をハードウェア的に生成すること
が可能となり、データ系列を保存するためのメモリを必
要とせず、また、メモリからデータを読み込む必要がな
くなる。
【0016】
【実施例】以下、本発明の一実施例について図面を参照
しながら説明する。
【0017】図1は本発明の一実施例における演算装置
の構成を示す概略ブロック図である。
【0018】図1において、1は4ビット幅を持つ乗数
入力端子、2は4ビット幅を持つ被乗数の入力端子、3
は被乗数2と後述する1ビット右シフタ7の出力8を選
択してラッチ4に出力するマルチプレクサ、4はマルチ
プレクサ3の出力、5はマルチプレクサ3から出力され
る被乗数のデータを一時保存する4ビット幅のラッチ、
6はラッチ5の出力、7はラッチ出力を1ビット右シフ
トする1ビット右シフタ、8は1ビット右シフタ7の出
力、9はラッチ出力6と1ビット右シフタ出力8を選択
して出力するマルチプレクサ、10はマルチプレクサ9
の出力である。
【0019】11は乗数入力端子1から入力される乗数
とマルチプレクサ出力10を乗算する乗算器であり、4
ビット×4ビットの演算を行なう。12は乗算器11の
4ビットの出力、13は加算器であり、乗算器12の出
力12と後述するアキュムレータレジスタ14の出力1
5との加算を行ない、アキュムレータレジスタ14に4
ビット幅で出力する。14は4ビット幅のアキュムレー
タレジスタであり、加算器13の出力を一時保存する。
【0020】以上のように構成された演算装置におい
て、複数のワードに保存されているビット単位のデータ
を1つのワードに集める処理を次の4ステップに分けて
説明する。入力データとして、従来例と同じ、表1のデ
ータ系列Aを用いる。
【0021】(1)乗数入力端子1にデータ系列Aの最
初のデータ0001を供給する。一方、被乗数入力端子
2にはデータ1000を供給する。マルチプレクサ3は
被乗数の入力端子2を選択して出力する。ラッチ5はマ
ルチプレクサ3の出力4を保持し、同時にそのデータを
マルチプレクサ9および1ビット右シフタ8に供給す
る。マルチプレクサ9はラッチ出力6を選択して出力す
る。乗算器11は0001×1000を行ない、乗算器
出力12に1000を出力する。アキュムレータレジス
タ14の初期値は0とする。加算器13で、乗算器出力
12とアキュムレータレジスタ出力15を加算する。そ
の結果、アキュムレータレジスタ14には、1000が
保存される。
【0022】(2)乗数入力端子1にデータ系列Aの次
のデータ0000を供給する。一方、マルチプレクサ3
は、1ビット右シフタ出力8を選択してラッチ5に出力
する。ラッチ5は、(1)のステップで保持していたデ
ータについて1ビット右にシフタしたデータ0100を
保持する。マルチプレクサ9はラッチ出力6を選択して
出力する。乗算器11は0000×0100を行ない、
乗算器出力12に0000を出力する。加算器13で、
乗算器出力12とアキュムレータレジスタ出力15を加
算する。その結果、アキュムレータレジスタ14には、
1000が保存される。
【0023】(3)乗数入力端子1にデータ系列Aの次
のデータ0001を供給する。一方、マルチプレクサ3
は、1ビット右シフタ出力8を選択してラッチ5に出力
する。ラッチ5は、(2)のステップで保持していたデ
ータについて1ビット右にシフタしたデータ0010を
保持する。マルチプレクサ9はラッチ出力6を選択して
出力する。乗算器11は0001×0010を行ない、
乗算器出力12に0010を出力する。加算器13で、
乗算器出力12とアキュムレータレジスタ出力15を加
算する。その結果、アキュムレータレジスタ14には、
1010が保存される。
【0024】(4)乗数入力端子1にデータ系列Aの次
のデータ0000を供給する。一方、マルチプレクサ3
は、1ビット右シフタ出力8を選択してラッチ5に出力
する。ラッチ5は、(3)のステップで保持していたデ
ータについて1ビット右にシフタしたデータ0001を
保持する。マルチプレクサ9はラッチ出力6を選択して
出力する。乗算器11は0000×0001を行ない、
乗算器出力12に0000を出力する。加算器13で、
乗算器出力12とアキュムレータレジスタ出力15を加
算する。その結果、アキュムレータレジスタ14には、
1010が保存される。
【0025】以上のような4ステップの終了後には、ア
キュムレータレジスタ14には1010が保存され、従
来例と同様に、複数のワードに保存されているビット単
位のデータを1つのワードに集める演算処理を行なうこ
とができる。
【0026】このように、最初に被乗数として、最上位
ビットのみ1で、残りがすべて0の数を入力し、以降の
数は1ビット右シフタ7で生成するようにすれば、表2
に示すデータ系列Bをハードウェア的に生成することが
が可能である。このため、表2に示すようなデータ系列
Bを保存するためのメモリを必要とせず、メモリ部の面
積を削減することができる。また、メモリからデータを
読み込まないので、消費電流を削減し、演算速度を高速
化することができる。
【0027】なお、上記実施例では、正の整数を扱う演
算装置について説明をしてきたが、2の補数表現での演
算装置でも同様である。2の補数表現を扱う演算装置の
場合、倍精度のデータの乗算を扱うために、1ビットの
右シフタを乗算器のデータ入力に備えていることが多い
ので、シフタ7、マルチプレクサ9は共通に用いること
ができ、ハードウェアの増加を押さることができる。ま
た、本発明の演算装置は、乗算器11の片側のデータに
様々なデータを供給することができるので、組み込み自
己デスト(Built−In Self Test)の
テストパターンを発生する回路に用いることもできる。
【0028】
【発明の効果】以上説明したように本発明によれば、最
初に被乗数を入力すれば、以降の数はシフタでシフトす
るようにしているので、データ系列をハードウェア的に
生成することが可能となり、データ系列を保存するため
のメモリを必要とせず、また、メモリからデータを読み
込む必要がなくなる。したがって、少ないメモリ量で、
しかも、少ない消費電力で、高速に演算することができ
る。
【図面の簡単な説明】
【図1】本発明の一実施例における演算装置を示す概略
ブロック図
【図2】従来の演算装置を示す概略ブロック図
【符号の説明】
1 乗数入力端子 2 被乗数入力端子 3 マルチプレクサ 5 ラッチ 7 1ビット右シフタ 9 マルチプレクサ 11 乗算器 13 加算器 14 アキュムレータレジスタ
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 7/52 310 A

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 被乗数とそのシフトデータを選択して出
    力する第1のマルチプレクサと、この第1のマルチプレ
    クサの出力を保持するラッチと、このラッチの出力をシ
    フトして上記シフトデータを出力するシフタと、上記ラ
    ッチの出力と上記シフタの出力とを選択して出力する第
    2のマルチプレクサと、この第2のマルチプレクサの出
    力と乗数を乗算する乗算器と、この乗算器の出力を累算
    する加算器とを備えた演算装置。
JP6182253A 1994-08-03 1994-08-03 演算装置 Pending JPH0844706A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6182253A JPH0844706A (ja) 1994-08-03 1994-08-03 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6182253A JPH0844706A (ja) 1994-08-03 1994-08-03 演算装置

Publications (1)

Publication Number Publication Date
JPH0844706A true JPH0844706A (ja) 1996-02-16

Family

ID=16115030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6182253A Pending JPH0844706A (ja) 1994-08-03 1994-08-03 演算装置

Country Status (1)

Country Link
JP (1) JPH0844706A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100560345B1 (ko) * 1996-09-13 2006-05-30 미크로나스 세미컨덕터 홀딩 아게 디지털신호처리기

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100560345B1 (ko) * 1996-09-13 2006-05-30 미크로나스 세미컨덕터 홀딩 아게 디지털신호처리기

Similar Documents

Publication Publication Date Title
US6209017B1 (en) High speed digital signal processor
JP4955182B2 (ja) 整数の計算フィールド範囲の拡張
JPH061438B2 (ja) 倍精度乗算器
JP2009230153A (ja) モントゴメリー乗算に基づくモジュラ乗算及び累乗の改善された装置と方法
US9372665B2 (en) Method and apparatus for multiplying binary operands
US6748412B2 (en) Square-and-multiply exponent processor
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
GB2352309A (en) A system for performing modular multiplication
US7296049B2 (en) Fast multiplication circuits
JPH11327875A (ja) 演算回路
KR20080050226A (ko) 모듈러 곱셈 장치 및 설계 방법
JPH0844706A (ja) 演算装置
US7590235B2 (en) Reduction calculations in elliptic curve cryptography
US4190894A (en) High speed parallel multiplication apparatus with single-step summand reduction
JP3333779B2 (ja) 行列演算装置
JPS58129653A (ja) 乗算方式
JP3252954B2 (ja) 乗算方法および乗算回路
JP2737933B2 (ja) 除算装置
KR100297110B1 (ko) 모듈러곱셈기
JPH0981541A (ja) 累算器
WO2001075635A2 (en) Dsp execution unit for efficient alternate modes of operation
KR100315303B1 (ko) 디지탈 신호 처리기
JP2552087B2 (ja) 10進乗算処理装置
KR100251547B1 (ko) 디지탈신호처리기(Digital Sgnal Processor)
JPH0784762A (ja) 乗算回路