JPH06282414A - 積和演算回路 - Google Patents

積和演算回路

Info

Publication number
JPH06282414A
JPH06282414A JP5093623A JP9362393A JPH06282414A JP H06282414 A JPH06282414 A JP H06282414A JP 5093623 A JP5093623 A JP 5093623A JP 9362393 A JP9362393 A JP 9362393A JP H06282414 A JPH06282414 A JP H06282414A
Authority
JP
Japan
Prior art keywords
cycle
arithmetic logic
arithmetic
register
output
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
JP5093623A
Other languages
English (en)
Inventor
Toshiyuki Naoe
俊之 直江
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.)
Nippon Steel Corp
Original Assignee
Nippon Steel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Steel Corp filed Critical Nippon Steel Corp
Priority to JP5093623A priority Critical patent/JPH06282414A/ja
Publication of JPH06282414A publication Critical patent/JPH06282414A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 積和演算やデータ転送等の処理時間を遅延さ
せることなく、積和演算時の切り捨て誤差をなくすこと
ができるようにする。 【構成】 並列乗算器4の乗算結果のうちの上位側ビッ
トMSBHを一方の入力とした算術論理演算が行われる
サイクルの1つ前のサイクルの後半で、乗算結果のうち
の下位側ビットLSBHをレジスタ(アキュミュレー
タ)11の下位側の出力とともに上位側算術論理演算器
9とは独立した下位側算術論理演算器10に取り込み、
半サイクルで下位側の算術論理演算を終わらせ、上位側
の算術論理演算を行うサイクルの始めには下位側算術論
理演算器10からの桁上げ信号を用意しておき、この桁
上げ信号を用いて上位側算術論理演算器9で上位側の算
術論理演算を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えば半導体集積回路
を構成する積和演算回路に関し、特に、デジタルデータ
の積和演算回路に関する。
【0002】
【従来の技術】以下、積和演算回路を含む従来のデータ
処理装置の構成及びその動作内容について、図面をもと
に説明する。
【0003】図3は、従来のデータ処理装置の回路構成
の一例を示す図であり、図4は、図3に示すデータ処理
装置の動作内容をタイムチャートに表したものである。
【0004】図3において、1は装置のマシンサイクル
を決定するシステムクロック、2、3、105はレジス
タ、112、113はラッチ、104は並列乗算器(M
PY)、109は加算器を含む算術論理演算器(AL
U)、108は選択器(MPX)、15はリードオンリ
ーメモリ(ROM)、16はランダムアクセスメモリ
(RAM)、14はデータバスである。
【0005】尚、図3の回路において、データバス14
は32bit幅であり、並列乗算器104は32bit
×32bitの符号付固定小数点演算を行い、その乗算
結果である63bit出力のうちの上位側32bitを
レジスタ105へ送出するものとする。また、算術論理
演算器109及びラッチ112、113の語長は32b
itであるとする。また、並列乗算器104の乗算には
1サイクルかかり、算術論理演算器109の演算には
0.5サイクルかかるものとする。さらにまた、ラッチ
112の出力データをデータバス14を介して他のブロ
ックへ転送するには0.5サイクルかかるものとする。
【0006】まず、図4に示すサイクルT1の始めに、
レジスタ2及びレジスタ3にそれぞれROM15及びデ
ータバス14より並列乗算器104の乗算に用いられる
乗数と被乗数とが取り込まれる。並列乗算器104はサ
イクルT1中に前記乗数と被乗数との乗算を実行する。
その乗算結果である63bit出力のうちの上位側32
bitの出力は、サイクルT2の始めにレジスタ105
に取り込まれる。
【0007】算術論理演算器109は、例えば選択器1
08がラッチ113の出力を選択しているとすると、サ
イクルT2の前半で、レジスタ105に保持されている
前サイクルT1での乗算結果及びラッチ112、113
で構成されているアキュミュレータに保持されている前
サイクルT1での算術論理演算器109の演算結果を入
力として算術論理演算を行う。その演算結果は、サイク
ルT2の前半でラッチ112にラッチされる。
【0008】サイクルT2の前半で算術論理演算が終了
すると、ラッチ112がサイクルT2の後半でスルー状
態となり、例えばサイクルT2でアキュミュレータから
データバス14を介してRAM16にデータを送る場合
は、サイクルT2の後半でデータが転送される。また、
ラッチ113は各サイクルの前半でスルー状態、後半で
ラッチ状態となるので、サイクルT2での算術論理演算
結果は、サイクルT2の後半でラッチ113にラッチさ
れた後、次のサイクルT3の始めより選択器108に出
力される。
【0009】
【発明が解決しようとする課題】従来の積和演算回路を
含むデータ処理装置は前述のように構成されていたた
め、並列乗算器104による乗算結果の下位側ビットが
算術論理演算器109による加算時に切り捨てられてし
まう。したがって、積和演算を繰り返し行うと、それに
伴って切り捨て誤差が増すという問題があった。算術論
理演算器109の語長を並列乗算器104の出力の語長
に合わせれば切り捨て誤差はなくなるが、例えば算術論
理演算器109の語長が32bitから63bitに増
えると、演算対象となるデータ量が多くなって算術論理
演算が半サイクルで終了しないという問題があった。
【0010】本発明は、このような問題に鑑みてなされ
たものであり、積和演算やデータ転送等の動作タイミン
グはくずさずに、積和演算時の切り捨て誤差をなくすこ
とのできる積和演算回路を提供することを目的とする。
【0011】
【課題を解決するための手段】本発明は上記課題を解決
するために、乗算器出力の上位側ビットについての演算
を行う回路構成の他に、マシンサイクルの中ほどで乗算
器出力の下位側ビットを取り込むレジスタと、この下位
側ビットの語長に合わせた、上位側とは独立した下位側
算術論理演算器及びレジスタ(アキュミュレータ)と、
下位側算術論理演算器の桁上げ出力をマシンサイクルの
切り替わり時に取り込み、上位側算術論理演算器に出力
するレジスタとを設けることにより積和演算回路を構成
し、下位側算術論理演算器からの桁上げ出力を用いて上
位側ビットの演算を行うようにしたものである。
【0012】
【作用】前記のように構成した本発明によれば、あるマ
シンサイクルの前半で実行される、そのマシンサイクル
の1つ前のサイクルで実行された乗算及び算術論理演算
の上位側の結果を2入力とした上位側の算術論理演算に
おいて、前記1つ前のサイクルで実行された乗算の下位
側の結果及び前記1つ前のサイクルの更に1つ前のサイ
クルで実行された算術論理演算の下位側の結果を2入力
とした下位側の算術論理演算を前記1つ前のサイクルの
後半で実行し、そのサイクルの終わりに、下位側算術論
理演算器の桁上げ信号をレジスタに取り込み、前記ある
マシンサイクルの始めに、上位側算術論理演算器に下位
側からの桁上げ信号を送ることにより、積和演算回路を
含むデータ処理装置全体でみると、半マシンサイクルで
乗算器出力と同じ語長の算術論理演算を行うことができ
る。
【0013】
【実施例】以下、本発明の積和演算回路の一実施例につ
いて、図面をもとに説明する。
【0014】図1は本発明の積和演算回路をデータ処理
装置に適用した一実施例の回路構成を示す図であり、ま
た、図2は図1のデータ処理装置の動作内容をタイムチ
ャートに表したものである。なお、図1において、図3
に示した従来のデータ処理装置との同一部分には同一符
号を付している。
【0015】図1において、データバス14は32bi
t幅であり、並列乗算器(MPY)4は32bit×3
2bitの符号付固定小数点演算を行い、その演算結果
である63bit出力のうちの上位側32bit(MS
BH)をレジスタ5に送出し、下位側31bit(LS
BH)をレジスタ6に送出するものとする。レジスタ5
は並列乗算器4による乗算結果の上位側32bitをシ
ステムクロック1の立ち上がりエッジで取り込み、レジ
スタ6は前述の乗算結果の下位側31bitをシステム
クロック1の立ち下がりエッジで取り込む。
【0016】算術論理演算器9、ラッチ12、13は前
述の乗算器出力の上位側32bitについての演算に対
応したものであり、語長は32bitであるとする。ま
た、算術論理演算器10、レジスタ11は前述の乗算器
出力の下位側31bitについての演算に対応したもの
であり、語長は31bitであるとする。並列乗算器4
は1サイクルで乗算を実行し、その乗算出力のうち下位
側31bitは前半の0.5サイクルで決まるものと
し、算術論理演算器9、10は0.5サイクルで演算を
実行するものとする。また、ラッチ12のデータをデー
タバス14を介して他のブロックへ転送するには0.5
サイクルかかるものとする。
【0017】まず、図2に示すサイクルT1の始めに、
レジスタ2及びレジスタ3にそれぞれROM15及びデ
ータバス14より並列乗算器4の乗算に用いられる乗数
と被乗数とが取り込まれる。並列乗算器4はサイクルT
1中に前記乗数と被乗数との乗算を実行するが、その乗
算結果である63bit出力のうちの下位側31bit
はサイクルT1中のシステムクロック1が立ち下がるま
でに固定され、その結果はシステムクロック1の立ち下
がりエッジでレジスタ6に取り込まれる。また、レジス
タ11にはサイクルT1中のシステムクロック1の立ち
下がりエッジで、サイクルT1より1つ前のサイクルの
後半で算術論理演算器10が実行した下位側31bit
についての演算結果が取り込まれる。
【0018】次に、サイクルT1の前半で得られた並列
乗算器4の乗算結果のうちの下位側31bit(前述の
レジスタ6に取り込まれたデータ)及びサイクルT1の
1つ前のサイクルの後半より実行された下位側31bi
tについての算術論理演算結果(前述のレジスタ11に
取り込まれたデータ)を2つの入力として、サイクルT
1の後半で下位側31bitについての算術論理演算が
算術論理演算器10により実行される。算術論理演算器
10の演算はサイクルT1の終わりまでには終了し、上
位側算術論理演算器9への桁上げ信号(下位側算術論理
演算器10のキャリーアウト)がサイクルT2の始めに
レジスタ7に取り込まれる。
【0019】サイクルT2の始めには、サイクルT1中
に実行した並列乗算器4の乗算結果のうちの上位側32
bitがレジスタ5に取り込まれ、また、サイクルT1
の前半で算術論理演算器9が実行した上位側32bit
についての算術論理演算結果がラッチ13から選択器8
に出力される。さらにまた、サイクルT2の始めには、
レジスタ7に格納された下位側算術論理演算器10から
の桁上げ信号が算術論理演算器9に入力される。
【0020】算術論理演算器9はサイクルT2の前半で
下位側算術論理演算器10からの桁上げ信号をキャリー
インとして算術論理演算を行う。その演算結果はサイク
ルT2の後半でラッチ12より出力されるので、サイク
ルT2の後半よりデータバス14に演算結果を出力する
ことが可能となり、サイクルT2の終わりまでには、例
えばRAM16へ前記演算結果が転送される。また、サ
イクルT3の始めにはサイクルT2での算術論理演算結
果がラッチ13から選択器8に出力され、サイクルT3
での算術論理演算の入力とされる。
【0021】
【発明の効果】以上説明したように本発明によれば、例
えば乗算に1サイクル、算術論理演算に0.5サイク
ル、データバスを介してのデータ転送に0.5サイクル
かかるデータ処理装置において、乗算の上位側の結果を
一方の入力とした算術論理演算が行なわれるサイクルの
1つ前のサイクルの後半で、従来は演算時間の制約上切
り捨てられていた算術論理演算の入力となり得る乗算の
下位側の結果を、アキュミュレータの下位側の出力とと
もに、上位側とは独立した下位側の算術論理演算器に取
り込み、半サイクルで下位側の算術論理演算を終わら
せ、上位側の算術論理演算を行うサイクルの始めには下
位側の算術論理演算の結果としての桁上げ信号を用意し
ておき、この桁上げ信号を用いて上位側の算術論理演算
を行うようにしたので、積和演算やデータ転送の処理時
間を遅延させることなく、積和演算時の切り捨て誤差を
なくすことができる。
【図面の簡単な説明】
【図1】本発明の積和演算回路をデータ処理装置に適用
した一実施例の回路構成を示す図である。
【図2】図1のデータ処理装置の動作内容を示すタイム
チャートである。
【図3】従来のデータ処理装置の回路構成の一例を示す
図である。
【図4】図3のデータ処理装置の動作内容を示すタイム
チャートである。
【符号の説明】
1 システムクロック 2、3 レジスタ 4 並列乗算器(MPY) 5、6、7 レジスタ 8 選択器(MPX) 9、10 算術論理演算器(ALU) 11 レジスタ 12、13 ラッチ 14 データバス 15 ROM 16 RAM

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 データ処理装置に含まれる積和演算回路
    において、 マシンサイクルの切り替わり時に乗数及び被乗数を取り
    込む第1及び第2のレジスタと、 前記第1及び第2のレジスタの出力を入力とする並列乗
    算器と、 前記並列乗算器の出力のうち上位側ビットをマシンサイ
    クルの切り替わり時に取り込む第3のレジスタと、 前記並列乗算器の出力のうち下位側ビットをマシンサイ
    クルの中ほどで取り込む第4のレジスタと、 前記第3のレジスタの出力を一方の入力とする加算器を
    含む上位側算術論理演算器と、 前記第4のレジスタの出力を一方の入力とする加算器を
    含む下位側算術論理演算器と、 前記上位側算術論理演算器の出力を入力とし、マシンサ
    イクルの前半でラッチ状態となり、マシンサイクルの後
    半でスルー状態となる第1のラッチと、 前記第1のラッチの出力を入力とし、マシンサイクルの
    前半でスルー状態となり、マシンサイクルの後半でラッ
    チ状態となる第2のラッチと、 前記下位側算術論理演算器の出力をマシンサイクルの中
    ほどで取り込む第5のレジスタと、 前記下位側算術論理演算器の桁上げ信号をマシンサイク
    ルの切り替わり時に取り込み、前記上位側算術論理演算
    器に出力する第6のレジスタとを具備することを特徴と
    する積和演算回路。
JP5093623A 1993-03-29 1993-03-29 積和演算回路 Pending JPH06282414A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5093623A JPH06282414A (ja) 1993-03-29 1993-03-29 積和演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5093623A JPH06282414A (ja) 1993-03-29 1993-03-29 積和演算回路

Publications (1)

Publication Number Publication Date
JPH06282414A true JPH06282414A (ja) 1994-10-07

Family

ID=14087458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5093623A Pending JPH06282414A (ja) 1993-03-29 1993-03-29 積和演算回路

Country Status (1)

Country Link
JP (1) JPH06282414A (ja)

Similar Documents

Publication Publication Date Title
US6009451A (en) Method for generating barrel shifter result flags directly from input data
US6209017B1 (en) High speed digital signal processor
EP0136834A2 (en) A digital circuit performing an arithmetic operation with an overflow
US9372665B2 (en) Method and apparatus for multiplying binary operands
US20080243976A1 (en) Multiply and multiply and accumulate unit
US4084254A (en) Divider using carry save adder with nonperforming lookahead
JPH0850578A (ja) 算術論理演算装置及び制御方法
JPH07107664B2 (ja) 乗算回路
KR100481586B1 (ko) 모듈러 곱셈 장치
US5912904A (en) Method for the production of an error correction parameter associated with the implementation of modular operations according to the Montgomery method
JPH06282414A (ja) 積和演算回路
US3222506A (en) Variable radix adder and subtractor
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
US6035310A (en) Method and circuit for performing a shift arithmetic right operation
SU651341A1 (ru) Устройство дл умножени
KR100315303B1 (ko) 디지탈 신호 처리기
KR100246472B1 (ko) 디지탈신호처리기
JPS63254525A (ja) 除算装置
GB2345562A (en) Digital signal processor for performing fixed-point and/or integer arithmetic
KR0136484B1 (ko) 이진 보수 발생을 위한 병렬 곱셈기
KR100297544B1 (ko) 디지탈신호처리기
JPH0414173A (ja) 固定小数点演算器
KR100251546B1 (ko) 디지탈신호처리기
JP3723311B2 (ja) 並列演算プロセッサ
JPH05143632A (ja) 積和演算器

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19991012