JP3228927B2 - プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法 - Google Patents

プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法

Info

Publication number
JP3228927B2
JP3228927B2 JP25073390A JP25073390A JP3228927B2 JP 3228927 B2 JP3228927 B2 JP 3228927B2 JP 25073390 A JP25073390 A JP 25073390A JP 25073390 A JP25073390 A JP 25073390A JP 3228927 B2 JP3228927 B2 JP 3228927B2
Authority
JP
Japan
Prior art keywords
output
selector
input
processing
input data
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
Application number
JP25073390A
Other languages
English (en)
Other versions
JPH04128982A (ja
Inventor
則嗣 松菱
芳雄 徳野
裕 真崎
真人 山崎
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP25073390A priority Critical patent/JP3228927B2/ja
Priority to DE69129723T priority patent/DE69129723T2/de
Priority to EP91308550A priority patent/EP0477011B1/en
Priority to US07/762,348 priority patent/US5235536A/en
Publication of JPH04128982A publication Critical patent/JPH04128982A/ja
Application granted granted Critical
Publication of JP3228927B2 publication Critical patent/JP3228927B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/544Methods 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 for evaluating functions by calculation
    • 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products
    • 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/544Indexing scheme relating to group G06F7/544
    • G06F2207/5442Absolute difference

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、ディジタル化された音声データや画像デー
タ等の逐次データをプログラムに従って演算処理し、そ
の演算結果を出力するディジタル信号処理プロセッサ
(以下、DSPという)等において、そのプロセッサを構
成する演算処理要素であるプロセッサエレメント(以
下、PEという)と、そのPEを複数個用いて構成したプロ
セッシングユニット(以下、PUという)と、そのPUを複
数個設けて処理の並列実行を行う並列処理可能なプロセ
ッサと、その演算処理方法に関するものである。
(従来の技術) 従来、このような分野の技術としては、次のような文
献に記載されるものがあった。
文献1;1990年電子情報通信学会春季全国大会予稿集、
SA−4−2、崎山等“200MIPS画像処理マルチプロセッ
サ”、P.1−415〜1−416 文献2;1990年電子情報通信学会春季全国大会予稿集、
SA−4−4、太田等“並列信号処理システム用ベクトル
プロセッサの設計”、P.1−419〜1−420 文献3−1;信学会集積回路研究会誌ICD90−15(199
0)山口等“高速動画像プロセッサKZ5000"、P.59−66 文献3−2;NIKKEI ELECTRONICS[482](1989−9−
18)“ソフトウェアで画像圧縮を処理する,テレビ電話
用通信ワークステーション"P.100−101 文献3−3;NIKKEI ELECTRONICS[481](1989−9−
4)“テレビ電話の動き保証処理に使う320MIPSのDSPを
開発"P.75 文献4;信学会集積回路研究会誌ICD89−6(1989)加
納等“16b、25ns、ビデオ/画像信号処理プロセッサ"P.
37−44 従来、前記文献4に記載されているように、積和演算
が支配的である信号処理のためのプロセッサは、主に、
音声などの一次元信号の処理を対象とする場合、算術論
理演算器のほかに専用乗算器を設けた単一のPE構成での
パイプライン処理により高速化を計ってきた。また、前
記文献1,2,3−1〜3−3に記載されているように、近
年では画像などのように2次元、3次元の広がりを持つ
信号の処理や、より高速な演算処理を対象とすることを
目的に、PEを複数個設けた並列処理構成による高速化が
試みられている。このような構成の一例を第2図
(a),(b),(c)に示す。
第2図(a)〜(c)は、前記文献3−1,3−2に記
載された従来技術の説明図であり、同図(a)は前記文
献3−1に記載された従来の画像信号処理用プロセッサ
の構成ブロック図、同図(b)は同図(a)中のPEの構
成ブロック図、同図(c)は前記文献3−2に記載され
た従来における3段パイプラインを4本並列処理させる
ための処理構成図である。
第2図(a)に示す画像信号用プロセッサは、高速の
信号処理を並列に実行できるアレー・プロセッシング・
ユニット(以下、APUという)10、プログラム実行用の
中央処理装置(以下、CPUという)20、メモリコントロ
ーラ21で制御されるキャッシュメモリ22、アドレス・発
生ユニット23、入出力ポート24、及びバスA0,A1,D0,D1,
DA,DD,PA,PD等で構成されている。
APU10は、入力フォーマッタ11と、4行×4列からな
るPE12−0〜12−3,12−10〜12−13,12−20〜12−23,12
−30〜12−33と、並列アダー13−0〜13−3と、出力フ
ォーマッタ14と、PE制御用のコントロール・フォーマッ
タ15と、及び並列アダー13−0〜13−3のデータを一時
記憶するためのアキュムレータ(以下、ACCという)16
とで、構成されている。
各PE12−0〜12−33の内部構成は、第2図(b)に示
されるように、セレクタ31,32、乗算回路33、加算回路3
4、及び入出力マルチプレクサ35より構成されている。
なお、第2図(b)中のA,Bはバス、Asi,Dsi,Bsi,Dsi
入力データ、Aso,Bso,Dsoは出力データである。
以上のように構成される画像信号処理用プロセッサで
は、APU10を構成する4行×4列のPE12−0〜12−33に
より、画像信号処理が実行される。4行×4列のPE12−
0〜12−33は、接続形態としてパラレル、並びにパイプ
ラインの2つを実現できる。パラレル接続は2個のPEを
1組として2次元離散コサイン変換(以下、DCTとい
う)等のためのバタフライ演算を実行するために用いら
れる。一方、パイプライン接続では、PE12−0〜12−33
は行方向のパイプライン構成を取り、単一のPEだけでは
1クロック内に実行することのできない高度な処理を1
クロックで実行する。
インターフェイスとしての機能を有する入力フォーマ
ッタ11及び出力フォーマッタ14は、PE12−0〜12−33と
キャッシュメモリ22との信号変換を実行し、さらに並列
アダー13−0〜13−3はACC16を介して加算結果をバスP
D上へ出力できる。これにより複雑な条件を有する任意
ブロックサイズの2次元適応フィルタや動き補償のため
のブロック・マッチング方式、グラディエント方式等の
各種信号処理を高速に実行することができる。
例えば、テレビ電話の画像圧縮を処理する場合、第2
図(a)に示す画像処理用プロセッサの1チップでテレ
ビ電話の動き補償が行える。即ち、第2図(c−1)に
示すように、テレビ電話の動き補償で用いるブロック・
マッチング法では、第2図(c−2)のような演算を組
合わせて3段のパイプラインを構成し、これを4本並列
動作させる。
国際標準方式の場合、16×16画素からなるブロック毎
に、動きを補正する。現フレームの画素値Aと前フレー
ムの値Bの差の絶対値を、画素毎に計算し、16×16画素
分合計する。このようにしてブロック間の差を求める。
この演算に1本のパイプラインを割り当てる。上下左右
±7画素の範囲でブロックをずらしながら、比較部25で
比較して動きベクトルを求め、補正を行う。ブロックの
位置をずらしたときは、別のパイプラインを使う。
(発明が解決しようとする課題) しかしながら、上記構成のPE、及びそれを用いたプロ
セッサ、並びにその演算処理方法では、次のような課題
があった。
従来のPEでは、第2図(a),(b)に示すように、
専用の乗算回路33及び加算回路34をそれぞれ有する16個
のPE12−0〜12−3,…12−30〜12−33が搭載され、積和
演算処理では16並列に処理することが可能である。とこ
ろが、例えば動きベクトルを検出する際に用いられるよ
うな差分絶対値の累積処理では、第2図(c)に示すよ
うに、4個のPEを組合わせたパイプライン構成により実
行するため、4並列の処理となってしまい、それにより
並列性が損なわれ、さらに専用の乗算回路33も使用され
ないため、未使用の演算器が生じることによってハード
ウェア上の無駄が生じ、回路規模の増大を招くという問
題があり、それらを解決することが困難であった。
本発明は前記従来技術が持っていた課題として、差分
絶対値の累積処理において並列性が損なわれて高速化処
理が困難になる点と、未使用の演算器が生じて無駄とな
り、それによって回路規模の増大を招くという点につい
て解決したPE、PU、プロセッサ及びその演算処理方法を
提供するものである。
(課題を解決するための手段) 前記課題を解決するために、第1の発明は、ディジタ
ルデータである第1の入力データと第2の入力データと
の差分絶対値の累積値を出力するPEにおいて、第4の制
御信号に基づき、正または負の加算結果を記憶する第1
の記憶手段と、第5の制御信号に基づき、累積加算結果
を記憶する第2の記憶手段と、第1の制御信号に基づ
き、前記第1の入力データと前記第1の記憶手段に記憶
された前記正または負の加算結果とを選択的に入力する
第1のセレクタと、第2の制御信号に基づき、前記第2
の入力データと前記第2の記憶手段に記憶された前記累
積加算結果とを選択的に入力する第2のセレクタと、第
3の制御信号に基づき、前記第1のセレクタより入力さ
れた前記第1の入力データ及び前記負の加算結果をそれ
ぞれビット反転して出力し、かつ前記正の加算結果をそ
のまま出力するビット反転手段と、前記第3の制御信号
をキャリ信号として入力し、前記ビット反転手段の出力
と前記第2のセレクタの出力とを加算し、前記正または
負の加算結果を出力して前記第1の記憶手段に記憶させ
ると共に、前記累積加算結果を出力して前記第2の記憶
手段に記憶させる加算手段とを備えている。
前記加算手段は、前記負の加算結果が前記ビット反転
手段によりビット反転されると、その出力と前記第2の
記憶手段の内容との和に論理“1"を加え、前記正の加算
結果がそのまま前記ビット反転手段より出力されると、
その出力と前記第2の記憶手段の内容との和を前記差分
絶対値の累積値として前記第2の記憶手段に記憶させる
構成にしている。
第2の発明は、第1の発明のPEにおいて、制御信号に
基づき前記第1の入力データを所定ビットシフトするシ
フタを、前記第1のセレクタの入力側に設け、前記シフ
タの出力を前記第1のセレクタに入力する構成にしてい
る。
第3の発明は、第1または第2の発明のPEにおいて、
前記第1及び第2のセレクタは、前記第1及び第2の制
御信号に基づき、該セレクタへの入力データの入力タイ
ミングの1/2のタイミングで該セレクタ出力を切換える
構成にしている。
第4の発明は、PUにおいて、第1、第2または第3の
発明のPEを(n+1)個備え、前記第1のPEから第nの
PEの各入力側を入力バス群に、各出力側を出力バス群に
それぞれ接続すると共に、前記第n+1のPEの入,出力
側を前記出力バス群に接続する。そして、Booth(ブー
ス)アルゴリズムに従い、各2のべき乗項を前記第1か
ら第nのPEによってそれぞれ算出し、前記第n+1のPE
によりシフト加算することによって乗算または乗算累積
処理を行い、かつn個並列の算術論理累積処理を行う構
成にしている。
第5の発明は、並列信号の処理可能なプロセッサにお
いて、第4の発明のPUをm個備え、前記第1のPUから第
mのPUの各入力側を入力データバス群に、各出力側を出
力データバス群にそれぞれ接続し、m×mマトリクスの
加減算、乗算、論理演算及びその累積処理を行う構成に
している。
第6の発明は、PEを用いた演算処理方法において、第
1の入力データを所定ビットシフトするシフタと、前記
シフタの出力または第1のレジスタの出力を選択出力す
る第1のセレクタと、第2の入力データまたはデータ出
力用の第2のレジスタの出力を選択出力する第2のセレ
クタと、前記第1及び第2のセレクタ出力を入力して演
算処理を行い、その演算結果を前記第1及び第2のレジ
スタへ出力する演算手段とを用い、次のような処理を行
う。
即ち、モード信号により設定される第1の演算処理モ
ードにおいて、第1のステージでは、前記第1のセレク
タが前記シフタ出力を選択出力し、前記第2のセレクタ
が前記第2の入力データを選択出力し、該第1及び第2
のセレクタ出力を前記演算手段により演算してその演算
結果を前記第1のレジスタに格納する。第2のステージ
では、前記第1及び第2のセレクタがそれぞれ前記第1
及び第2のレジスタ出力を選択出力し、その出力を前記
演算手段で累積処理し、その処理結果を前記第2のレジ
スタに格納し、前記第1及び第2のステージを1回また
は複数回繰返し実行する。さらに、前記モード信号によ
り設定される第2の演算処理モードにおいて、前記第1
のセレクタが前記シフタ出力を選択出力するよう固定
し、前記第2のセレクタが前記第2のレジスタ出力を選
択出力するよう固定し、前記演算手段によって前記シフ
タ出力を累積処理し、その処理結果を前記第2のレジス
タに格納するステージを1回または複数回繰り返し実行
する。
その際、前記第1の演算処理モードにおける前記第1
のステージから前記第2のステージへの前記第1、第2
のセレクタの切換えを、前記第1、第2の入力データに
おける入力タイミングの1/2のタイミングで行うように
している。
(作 用) 第1及び第2の発明によれば、第1の入力データと第
1の記憶手段に記憶された加算結果とのいずれか一方が
第1のセレクタを介してビット反転手段へ送られ、その
ビット反転手段でビット反転処理されて加算手段へ送ら
れる。第2の入力データと第2の記憶手段に記憶された
累積加算結果とのいずれか一方が第2のセレクタにより
選択されて加算手段へ送られる。加算手段では、ビット
反転手段の出力と第2のセレクタの出力との加算処理を
行い、その加算結果を第1及び第2の記憶手段へ出力す
る。これにより、同一のビット反転手段及び加算手段が
繰り返し用いられて累積演算処理が行われ、それによっ
てPEの独立性(並列処理性)と簡素化が図れる。
第3の発明によれば、第1及び第2の制御信号に基づ
き、入力データの入力タイミングの1/2のタイミングで
第1及び第2のセレクタの出力が切換わるので、入力デ
ータの1/2のタイミングで累積演算の処理が行え、それ
によって処理速度の高速化が図れる。
第4及び第5の発明によれば、乗算実行時において各
PEがBoothアルゴリズムに従って演算処理を行うので、
各PEの独立性(並列処理性)と簡素化が図れ、それによ
って並列性が高く、PEに無駄のない並列処理が行える。
第6の発明によれば、モード信号により設定される第
1及び第2の演算処理モードにおいて、同一の演算手段
が繰り返し用いられ、それによって演算処理の簡単化と
処理速度の高速化が図れる。その際、第1及び第2のセ
レクタが、第1及び第2の入力データにおける入力タイ
ミングの1/2のタイミングで切換えられるので、入力デ
ータの1/2のタイミングで演算処理を行え、それによっ
て演算処理のより高速化が図れる。
(実施例) (第1の実施例) 第1図は、本発明の第1の実施例を示すPEの構成ブロ
ック図である。
このPE100は、PE全体を制御する制御回路110を有して
いる。制御回路110は、バスを介して与えられる第3の
入力データX(=X2k+1,X2k,X2k-1と、外部から供給さ
れるモード信号md及びクロックckと、キャリ出力coとを
入力し、PEの内部回路を制御するための制御信号s0、及
び第1〜第5の制御信号s1〜s5をそれぞれ所定のタイミ
ングで出力する機能を有し、論理回路や読出し専用メモ
リ(以下、ROMという)等で構成されている。この制御
回路110には、シフタ120、第1,第2の入力手段である第
1,第2のセレクタ130,140、演算手段150、及び第1,第2
の記憶手段である第1,第2のレジスタ160,170が接続さ
れている。
シフタ120は、第1の入力データYを入力し、制御信
号s0によって0ビットシフト、左1ビットシフト及び0
を出力する回路であり、その出力側にはセレクタ130を
介して演算手段150の一方の入力側が接続されている。
セレクタ130は、シフタ120の出力と第1のレジスタ160
の出力とを入力し、そのいずれか一方を制御信号s1によ
り選択して演算手段150の一方の入力側に与える機能を
有している。第2のセレクタ140は、第2の入力データ
Mと、第2のレジスタ170の出力とを入力し、そのいず
れか一方を制御信号s2により選択して演算手段150の他
方の入力側に出力する機能を有している。
演算手段150は、セレクタ130の出力側に接続されたビ
ット反転回路151と、該ビット反転回路151及びセレクタ
140の出力側に接続された加算器152とで、構成されてい
る。ビット反転回路151は、第1のセレクタ130の出力を
入力し、制御信号s3によって入力の全ビットを反転さ
せ、その反転結果を加算器152へ与える回路である。加
算器152は、ビット反転回路151の出力と第2のセレクタ
140の出力とを入力し、ブースエンコード値の正負を表
す制御信号s3をキャリ入力ciとして入力し、ビット反転
回路151の出力及び第2のセレクタ140の出力に対する加
算処理を行い、その加算結果を第1及び第2のレジスタ
160,170に与えると共にキャリ出力coを制御回路110へ与
える機能を有している。
第1のレジスタ160は、制御信号s4に基づき、加算器1
52の出力を一時記憶し、その記憶内容を第1のセレクタ
130へ出力する回路である。第2のレジスタ170は、制御
信号s5に基づき、加算器152の出力を一時記憶し、その
記憶内容を第2のセレクタ140へ与えると共に出力デー
タOとしてバスへ出力する機能を有している。
第3図は、第1図のPE100を用いた差分絶対値累積処
理のタイミングチャートであり、この図を参照しつつPE
100の演算処理方法について説明する。
第1及び第2の入力データY,Mに対する差分絶対値の
累積演算は、 で表わされる。説明の簡単化のために、i=1〜3とす
ると、(1)式は、次式(2)のようになる。
Oi=|M1−Y1|+|M2−Y2|+|M3−Y3| ……(2) この(2)式の動作を示したものが、第3図である。
第1の入力データY1〜Y3はシフタ120を経由して第1
のセレクタ130、第2の入力データM1〜M3は第2のセレ
クタ140に、それぞれマシンサイクルMC1〜MC7……の1
回置きに順次入力される。第1のマシンサイクルMC1で
は、入力データY1,M1が、制御信号s1,s2で制御される第
1,第2のセレクタ130,140で選択され、ビット反転回路1
51及び加算器152により、M1−Y1が実行される。ビット
反転回路151及び加算器152での減算M1−Y1の実行は、制
御信号s3によるビット反転回路151でのビット反転及び
加算器152へのキャリ入力ci、即ちM1+Y1+1と行われ
る。
第2のマシンサイクルMC2では、M1−Y1の減算結果が
第1のレジスタ160に入力される。これと同時に、今度
は、第1,第2のセレクタ130,140において、第1,第2の
レジスタ出力が選択され、ビット反転回路151及び加算
器152で絶対値累積加算が実行される。絶対値累積加算
は、制御回路110において加算器152のキャリ出力coを監
視し、減算結果M1−Y1が負である場合、前述の方法で減
算を実行することにより行う。
第3のマシンサイクルMC3では、前記の累積加算結果
が第2のレジスタ170に入力され、第1のマシンサイク
ルMC1と同様に減算処理M2−Y2が実行される。このよう
に、以上の処理動作を繰り返すことにより第7のマシン
サイクルMC7において(2)式の結果である出力データO
iが得られる。この第1の実施例では、累積演算処理時
において同一の演算手段150を繰り返し用いることによ
り、PE100の独立性(並列処理性)が向上し、それによ
って演算処理の高速化が可能になると共に、PE100の構
成が簡素化され、それによって回路規模の縮小化が可能
となる。
以上、この第1の実施例では、差分絶対値累積処理に
ついて説明したが、第1図と同一の回路構成を用い、制
御信号s3でビット反転回路151の働きを反転出力しない
ように固定することにより、第1及び第2の入力データ
Y,Mに対する差分累積処理も実行できる。
また、PE100において、演算手段150を例えば算術論理
演算器(以下、ALUという)に置き換えることにより、
上記と同様の演算処理が可能である。
(第2の実施例) 第4図は、本発明の第2の実施例を示すもので、第1
図のPE100を複数個用いて乗算処理が可能なPUの構成ブ
ロック図、及び第5図はそのPU内で用いられる終段累積
器の構成ブロック図である。
先ず、第4図及び第5図の構成を説明する前に、乗算
の実行について説明する。
乗算器を構成する手法の一つにBoothアルゴリズムを
用いた手法がある。先ず、この手法について説明する。
任意の値Xは、nビットの2の補数表現で次のように
示される。
但し、Xi(i=0〜n−1);1ビットの数値で1また
は0 (3)式を2次のBoothアルゴリズムにより展開する
と、 となる。よって任意の乗算XYは、次のようになる。
(4),(5)式の( )内は、2次Boothエンコード
式 Z=−2X2k+1+X2k+X2k-1 ……(6) であり、0、±1,±2のいずれかのエンコード値をと
る。
例えば、Xを16ビットの乗数とすると、乗算XYは次式
(7)で示される。
XY=(−X1521+X1420+X1320)Y214 +(−X1321+X1220+X1120)Y212 +(−X1121+X1020+X920)Y210 +(−X921+X820+X820)Y28 +(−X721+X620+X520)Y26 +(−X521+X420+X320)Y24 +(−X321+X220+X120)Y22 +(−X121+X020)Y20 ……(7) また、乗算の累積処理ΣXYも、次式(8)で表わせ
る。
ΣXY=Σ(−X1521+X1420+X1320)Y214 +Σ(−X1321+X1220+X1120)Y212 +Σ(−X1121+X1020+X920)Y210 +Σ(−X921+X820+X720)Y28 +Σ(−X721+X620+X520)Y26 +Σ(−X521+X420+X320)Y24 +Σ(−X321+X220+X120)Y22 +Σ(−X121+X020)Y20 ……(8) (8)式は、各項において、 Φ=Σ(−X2k+121+X2k20+X2k-120)Y ……(9) とおくと、次式(10)のようになる。
ΣXY=Φ020+Φ122+Φ224 +Φ326+Φ428+Φ5210+Φ6212+Φ7214 ……(10) よって、ΣXYは、Φを計算する減算器と、Φをシ
フト加算する演算器によって構成できる。
以上のような乗算処理を行うための第4図のPUの構成
について説明する。
このPU500は、(10)式のΦ(k=0〜7)を計算
するための第1図の8つのPE100−0〜100−7と、Φ
(k=0〜7)をシフト累積加算し、乗算結果あるいは
乗算累積結果として出力する終段累積器200とを、備え
ている。PE100−0〜100−7の入力側には、入力バス群
300が接続され、さらにそのPE100−0〜100−7の出力
側と終段累積器200の入,出力側には、出力バス群400が
接続されている。
入力バス群300は、外部よりデータX,Y,Mを入力し、そ
れぞれの各PE100−0〜100−7へ出力するものである。
特に、この入力バス群300より入力されるデータ、つま
り乗算Xは、前記の2次Boothアルゴリズムに従い、X0
〜X15にビット分割され、それぞれのPE100−0〜100−
7へ入力される。出力バス群400は、PE100−0〜100−
7の出力の終段累積器200への入力、あるいは外部への
出力と、該終段累積器200の出力の外部への出力を行う
ものである。この出力バス群400からは、乗算結果ある
いは乗算累積結果等の出力データNが出力される。
第5図に示すように、終段累積器200は、外部からモ
ード信号md及びクロックckを入力して制御信号s10,s11
を出力する制御回路210を有している。また、出力バス
群400からのデータを入力して制御信号s10に基づき所定
ビットシフトするシフタ220が設けられ、その出力側に
は加算器230及びレジスタ240が接続されている。加算器
230は、シフタ220の出力とレジスタ240の出力とを加算
する回路である。レジスタ240は、加算器230の出力を一
時記憶し、その記憶された内容を加算器230へ入力する
と共に出力バス群400へ出力する機能を有している。
以上のようなPU500を用いて乗算処理を行う場合の演
算処理方法について、第6図〜第8図を参照しつつ説明
する。
第6図は、第1図の回路によって構成された第4図に
おけるPE100−0〜100−7の乗算処理時のタイミングチ
ャートである。第7図は、第4図における終段累積器20
0のシフト加算ビット構成図、つまり(10)式のシフト
加算処理のビット構成を示す図である。第8図は、第4
図の終段累積器200におけるシフト加算処理のタイミン
グチャートである。
例えば、乗算の累積処理ΣXYを、 とすると、Φは次のようになる。
Φ=(−X1 2k+121+X1 2k20+X1 2k-120)Y1 +(−X2 2k+121+X2 2k20+X2 2k-120)Y2 +(−X3 2k+121+X3 2k20+X3 2k-120)Y3 +(−X4 2k+121+X4 2k20+X4 2k-120)Y4 ……(12) 第6図は、第1図の回路で構成されるPE100−0〜100
−7におけるΦ算出の動作タイミングチャートであ
る。この図に示すように、第1の入力データY1〜Y4は各
PE100−0〜100−7内のシフタ120、第3の入力データX
1〜X4は各PE100−0〜100−7内の制御回路110に、それ
ぞれマシンサイクルMC1〜MC5……毎に順次入力される。
各PE100−0〜100−7内の制御回路110は、第1の入力
データX1〜X4に従い、(6)式のエンコード値Zを計算
し、シフタ120への制御信号s0とビット反転回路151及び
加算器152への制御信号s3を出力する。
また、各PE100−0〜100−7は、外部からのモード信
号mdの入力によって乗算実行モードとなり、第1のセレ
クタ130はシフタ120の出力を常時選択出力するように制
御信号s1を固定出力し、第2のセレクタ140は第2のレ
ジスタ170の出力を常時選択出力するように制御信号s2
を固定出力する。
以上のような各PE100−0〜100−7内の制御回路110
の制御動作により、各PE100−0〜100−7は、各マシン
サイクルMC1〜MC5毎に、加算器152により、シフタ120の
出力と第2のレジスタ170の出力とを加算し、その加算
結果を第2のレジスタ170に出力する動作の繰り返しに
よってΦを算出する。第7図は、(12)式の実行例を
示しており、第5のマシンサイクルMC5目にΦが算出
される。
以上のようにして各PE100−0〜100−7において算出
されたΦは、第4図の出力バス群400を経由して終段
累積器200に入力され、(10)式のシフト加算処理が実
行される。このシフト加算処理のビット構成が第7図に
示されている。さらに、第5図の終段累積器200におけ
るシフト加算処理の動作タイミングが第8図に示されて
いる。
第5図の終段累積器200では、各マシンサイクルMC1〜
MC9……毎に、Φをシフタ220に入力し、その出力とレ
ジスタ240の出力とを加算器230で加算し、その加算結果
をレジスタ240へ出力する動作の繰り返しによってΣXY
を算出する。(10)式の実行例が第8図に示されてい
る。この図に示すように、第9のマシンサイクルMC9目
にΣXYが算出され、その算出結果が出力バス群400へ出
力される。
この第2の実施例では、第4図のモード信号mdの切換
えにより、差分累積処理が実行されるため、8並列の処
理が可能となる。このように、2次Boothアルゴリズム
手法を用いて乗算処理を行うようにしたので、各PE100
−0〜100−7の独立性(並列処理性)と簡素化を実現
でき、それによってPU500における演算処理の高速化と
回路規模の減少を図ることができる。
なお、この第2の実施例では、例えば次のような変形
も可能である。
(a) 第4図の終段累積器200は、第5図に示す構成
でなく、第1図のPE構成をそのまま適用しても良い。こ
の際、第1図における制御回路110から出力される制御
信号s1,s3,s4により、第1のセレクタ130、ビット反転
回路151、及び第1のレジスタ160をスルー状態に固定す
れば良い。このように9個のPEを並列に接続することに
より、乗算処理をも実行可能なPUを簡単に構成できる。
(b) 第4図のPU500を用いた乗算累積処理について
説明したが、(7)式に示すような単一の乗算処理も実
行可能である。
(c) この実施例では入力データである乗数Xが16ビ
ットの場合を説明したが、そのビット数が任意のnビッ
トの場合にも、PE数を変更することにより簡単に対応で
きる。
(d) 入力データである乗数Xが例えば固定係数のよ
うな場合、第1図のPE内の制御回路110の一部をROM等の
記憶回路に置き換え、Xの展開データを予めその記憶回
路に格納しておくことにより、演算処理の簡単化とそれ
による演算処理の高速化が可能となる。
(第3の実施例) 第9図は、本発明の第3の実施例を示すもので、第4
図のPUを4個用いて構成した並列処理可能なプロセッサ
の構成ブロック図である。
このプロセッサは、第4図の構成の4つのPU500−0
〜500−3を用いて4×4のマトリクス演算を行うもの
で、その各PU500−0〜500−3の入力側には、データX,
Yを入力する入力バス群600が接続され、さらにその出力
側には、出力データQを出力する出力バス群700が接続
されている。そのため、このプロセッサでは8×4=32
個のPEが接続されていることになる。
第10図は、第9図の4×4マトリクス演算実行時の説
明図である。
この図に示すように、第9図のプロセッサでは、入力
データX,Yが入力バス群600に入力されると、その行列X,
Yの乗算は、次式(13)式に従って実行される。
即ち、(13)式の行列X,Yの乗算処理を行う場合、第1
0図に示すように、Yの列データ毎にPU500−0〜500−
3を割り当てて入力することにより、第1〜第4のステ
ップの4ステップで4×4のマトリクス演算の処理を完
了し、その処理結果である出力データQを出力バス群70
0から出力する。
また、このプロセッサを用いた加減算等の算術論理演
算では、PE単位で処理するため、32個あるいはPEの16個
を用いて並列に処理できる。
この第3の実施例では、複数のPEを並列接続して構成
した第4図のPU500−0〜500−3を用いて並列処理可能
なプロセッサを構成しているので、より高性能な並列処
理の演算が可能となる。
(第4の実施例) 第1〜第3の実施例では、第1図のPE100を用いて第
4図のPU500や第9図の並列処理可能なプロセッサが構
築できることを説明したが、第3図に示すような差分絶
対値累積処理等のPE独立で処理する算術論理累積演算に
おける動作タイミングは、入力がマシンサイクル1回置
きになり、効率的でない。そこで、算出論理累積演算に
おいて非効率となる問題を解決し、連続的に処理が行え
る高速化が可能なPEの構成の原理図を第11図に示す。
第11図は、本発明の第4の実施例を示すもので、高速
演算可能なPEの構成ブロック図である。
このPEは、第1及び第2の入力データA,Bを入力し、
制御信号csにより入力の選択出力を行うセレクタ830
と、該セレクタ830の出力と第3の入力データCとの加
算処理を行う加算器852と、制御信号cr1,cr2に基づき加
算器852の出力を入力しそれを外部に出力する第1及び
第2のレジスタ860,870とで、構成されている。
第12図は、第11図のタイミングチャートであり、この
図を参照しつつ演算処理方法について説明する。
例えば、第12図に示すように入力データAi+Ci、Bi
Ciの演算を実行する場合を考える。マシンサイクルMC毎
に順次入力されるデータAi,Bi,Ciに対し、制御信号csに
よってセレクタ830を2倍のリズム、つまり1/2のタイミ
ングで切換え、同一マシンサイクルMC内に2つのデータ
を加算器852に入力することで、2回の加算を実行す
る。そして、制御信号csと同一周期の制御信号cr1,cr2
を用いて、第1のレジスタ860にはAi+Ciの結果を、第
2のレジスタ870にはBi+Ciの結果を、それぞれ1マシ
ンサイクルMCの時間幅で、順次入力させる。
このように、第11図に示すPE内の加算器852の入力段
に接続されたセレクタ830を、データ入力リズムの2倍
のリズム、つまりデータ入力タイミングの1/2のタイミ
ングで、該セレクタ830を切換えることにより、加算器8
52の動作速度を向上させ、それによって演算処理の高速
化が実現できる。
(第5の実施例) 前記第4の実施例における高速化手法を例えば第1図
のPE構成の動作に取り入れた第5の実施例を第13図に示
す。
第13図は、第1図のPEを用いて差分絶対値累積処理を
行う場合のタイミングチャートである。
この第13図の高速化手法では、第1の実施例を示す第
3図のタイミングチャートとは異なり、第1図の第1及
び第2のセレクタ130,140を、制御信号s1,s2を用いて共
に入力データタイミングの2倍のリズム、つまり1/2の
タイミングで切換えることにより、差分処理とその累積
処理を同一マシンサイクル時間内に実行している。
この第13図のタイミングチャートを第3図と対比させ
ると、(2)式の結果である出力データOiが、第3図で
は6マシンサイクル間処理して第7のマシンサイクルMC
7目で得られるのに対し、この第13図では、3マシンサ
イクル間処理して第4のマシンサイクルMC4目で得ら
れ、演算処理速度が2倍に高速化されている。しかも、
各マシンサイクル毎に順次データを入力でき、データ入
力速度も2倍高速化されている。
(発明の効果) 以上詳細に説明したように、第1及び第2の発明によ
れば、ビット反転手段及び加算手段で構成される演算手
段を用いて演算処理を行うようにしたので、PEの構成が
簡素化され、それによって回路規模の小型化が可能とな
る。特に、累積演算処理時において同一の演算手段を繰
り返し用いることにより、PEがより簡素化されると共
に、並列処理性がより向上するため、回路規模をより小
さくすることが可能となる。
第3の発明によれば、入力データ群の入力タイミング
の1/2のタイミングでセレクタ出力を切換えるようにし
たので、入力データに対する演算処理を効率的に高速処
理が行える。
第4及び第5の発明によれば、Boothアルゴリズム手
法を用いて演算処理を実行する構成にしたので、そのPU
あるいはプロセッサを構成するPEの独立性(並列処理
性)と簡素化を向上させることができ、それによってよ
り多くのPEを実装でき、並列性が高く、無駄のない高機
能なPUあるいはプロセッサを実現できる。
第6の発明によれば、同一の演算手法を繰り返し用い
ることにより、無駄のない、高速かつ効率の良い演算処
理が実行できる。しかも、入力データタイミングの1/2
のタイミングでセレクタの切換えを行っているので、演
算処理をより高速化できる。
【図面の簡単な説明】
第1図は本発明の第1の実施例を示すPEの構成ブロック
図、第2図(a),(b),(c)は従来技術の説明図
であり、同図(a)は画像信号処理用プロセッサの構成
ブロック図、同図(b)は同図(a)中のPEの構成ブロ
ック図、同図(c)は処理構成図、第3図は第1図にお
けるPEの差分絶対値累積処理のタイミングチャート、第
4図は本発明の第2の実施例を示すPUの構成ブロック
図、第5図は第4図中の終段累積器の構成ブロック図、
第6図は第4図のPEの乗算累積処理時のタイミングチャ
ート、第7図は第4図中の終段累積器のシフト加算ビッ
ト構成図、第8図は第4図中の終段累積器のシフト加算
処理のタイミングチャート、第9図は本発明の第3の実
施例を示すプロセッサの構成ブロック図、第10図は第9
図の4×4マトリクス演算実行説明図、第11図は本発明
の第4の実施例を示すPEの構成ブロック図、第12図は第
11図のタイミングチャート、第13図は本発明の第5の実
施例を示す差分絶対値累積処理のタイミングチャートで
ある。 100,100−0〜100−7……PE、110、210……制御回路、
120,220……シフタ、130,140,830……セレクタ、150…
…演算手段、151……ビット反転回路、152,230,852……
加算器、160,170,240,860,870……レジスタ、300,600…
…入力バス群、400,700……出力バス群、500,500−0〜
500−3……PU、200……終段累積器。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山崎 真人 東京都港区虎ノ門1丁目7番12号 沖電 気工業株式会社内 (56)参考文献 特開 平2−170227(JP,A) 特開 平2−127727(JP,A) 特開 平1−126819(JP,A) 特開 昭63−207234(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/50

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】ディジタルデータである第1の入力データ
    と第2の入力データとの差分絶対値の累積値を出力する
    プロセッサエレメントにおいて、 第4の制御信号に基づき、正または負の加算結果を記憶
    する第1の記憶手段と、 第5の制御信号に基づき、累積加算結果を記憶する第2
    の記憶手段と、 第1の制御信号に基づき、前記第1の入力データと前記
    第1の記憶手段に記憶された前記正または負の加算結果
    とを選択的に入力する第1のセレクタと、 第2の制御信号に基づき、前記第2の入力データと前記
    第2の記憶手段に記憶された前記累積加算結果とを選択
    的に入力する第2のセレクタと、 第3の制御信号に基づき、前記第1のセレクタより入力
    された前記第1の入力データ及び前記負の加算結果をそ
    れぞれビット反転して出力し、かつ前記正の加算結果を
    そのまま出力するビット反転手段と、 前記第3の制御信号をキャリ信号として入力し、前記ビ
    ット反転手段の出力と前記第2のセレクタの出力とを加
    算し、前記正または負の加算結果を出力して前記第1の
    記憶手段に記憶させると共に、前記累積加算結果を出力
    して前記第2の記憶手段に記憶させる加算手段とを備
    え、 前記加算手段は、前記負の加算結果が前記ビット反転手
    段によりビット反転されると、その出力と前記第2の記
    憶手段の内容との和に論理“1"を加え、前記正の加算結
    果がそのまま前記ビット反転手段より出力されると、そ
    の出力と前記第2の記憶手段の内容との和を前記差分絶
    対値の累積値として前記第2の記憶手段に記憶させる構
    成にしたことを特徴とするプロセッサエレメント。
  2. 【請求項2】請求項1記載のプロセッサエレメントにお
    いて、 制御信号に基づき前記第1の入力データを所定ビットシ
    フトするシフタを、前記第1のセレクタの入力側に設
    け、前記シフタの出力を前記第1のセレクタに入力する
    構成にしたことを特徴とするプロセッサエレメント。
  3. 【請求項3】請求項1または2記載のプロセッサエレメ
    ントにおいて、 前記第1及び第2のセレクタは、前記第1及び第2の制
    御信号に基づき、該セレクタへの入力データの入力タイ
    ミングの1/2のタイミングで該セレクタ出力を切換える
    構成にしたプロセッサエレメント。
  4. 【請求項4】請求項1、2または3記載のプロセッサエ
    レメントを(n+1)個(但し、nは、正の整数)備
    え、 前記第1のプロセッサエレメントから第nのプロセッサ
    エレメントの各入力側を入力バス群に、各出力側を出力
    バス群にそれぞれ接続すると共に、前記第n+1のプロ
    セッサエレメントの入,出力側を前記出力バス群に接続
    し、 Boothアルゴリズムに従い、各2のべき乗項を前記第1
    から第nのプロセッサエレメントによってそれぞれ算出
    し、前記第n+1のプロセッサエレメントによりシフト
    加算することによって乗算または乗算累積処理を行い、
    かつn個並列の算術論理累積処理を行う構成にしたこと
    を特徴とするプロセッシングユニット。
  5. 【請求項5】請求項4記載のプロセッシングユニットを
    m個(但し、mは正の整数)備え、前記第1のプロセッ
    シングユニットから第mのプロセッシングユニットの各
    入力側を入力バス群に、各出力側を出力バス群にそれぞ
    れ接続し、m×mマトリクスの加減算、乗算、論理演算
    及びその累積処理を行う構成にしたことを特徴とするプ
    ロセッサ。
  6. 【請求項6】第1の入力データを所定ビットシフトする
    シフタと、前記シフタの出力または第1のレジスタの出
    力を選択出力する第1のセレクタと、第2の入力データ
    またはデータ出力用の第2のレジスタの出力を選択出力
    する第2のセレクタと、前記第1及び第2のセレクタ出
    力を入力して演算処理を行いその演算結果を前記第1及
    び第2のレジスタへ出力する演算手段とを用い、 モード信号により設定される第1の演算処理モードにお
    いて、 第1のステージでは、前記第1のセレクタが前記シフタ
    出力を選択出力し、前記第2のセレクタが前記第2の入
    力データを選択出力し、該第1及び第2のセレクタ出力
    を前記演算手段により演算してその演算結果を前記第1
    のレジスタに格納し、 第2のステージでは、第1及び第2のセレクタがそれぞ
    れ前記第1及び第2のレジスタ出力を選択出力し、その
    出力を前記演算手段で累積処理し、その処理結果を前記
    第2のレジスタに格納し、 前記第1及び第2のステージを1回または複数回繰返し
    実行し、 前記モード信号により設定される第2の演算処理モード
    において、 前記第1のセレクタが前記シフタ出力を選択出力するよ
    う固定し、前記第2のセレクタが前記第2のレジスタ出
    力を選択出力するよう固定し、前記演算手段によって前
    記シフタ出力を累積処理し、その処理結果を前記第2の
    レジスタに格納するステージを1回または複数回繰返し
    実行する演算処理方法であって、 前記第1の演算処理モードにおける前記第1のステージ
    から前記第2のステージへの前記第1,第2のセレクタの
    切換えを、前記第1,第2の入力データにおける入力タイ
    ミングの1/2のタイミングで行うことを特徴とする演算
    処理方法。
JP25073390A 1990-09-20 1990-09-20 プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法 Expired - Fee Related JP3228927B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP25073390A JP3228927B2 (ja) 1990-09-20 1990-09-20 プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法
DE69129723T DE69129723T2 (de) 1990-09-20 1991-09-19 Prozessorelement für Datenakkumulationsrechnungen, Verarbeitungseinheit und Prozessor
EP91308550A EP0477011B1 (en) 1990-09-20 1991-09-19 Processor element for calculating accumulation of data, processing unit, and processor
US07/762,348 US5235536A (en) 1990-09-20 1991-09-19 Absolute difference processor element processing unit, and processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25073390A JP3228927B2 (ja) 1990-09-20 1990-09-20 プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法

Publications (2)

Publication Number Publication Date
JPH04128982A JPH04128982A (ja) 1992-04-30
JP3228927B2 true JP3228927B2 (ja) 2001-11-12

Family

ID=17212232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25073390A Expired - Fee Related JP3228927B2 (ja) 1990-09-20 1990-09-20 プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法

Country Status (4)

Country Link
US (1) US5235536A (ja)
EP (1) EP0477011B1 (ja)
JP (1) JP3228927B2 (ja)
DE (1) DE69129723T2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612229A (ja) * 1992-06-10 1994-01-21 Nec Corp 乗累算回路
JPH06141304A (ja) * 1992-10-28 1994-05-20 Sony Corp 演算回路
JPH07115646A (ja) * 1993-10-20 1995-05-02 Sony Corp 画像処理装置
JPH07146781A (ja) * 1993-11-19 1995-06-06 Sony Corp プロセツサ
US6219688B1 (en) 1993-11-30 2001-04-17 Texas Instruments Incorporated Method, apparatus and system for sum of plural absolute differences
KR970002394B1 (ko) * 1994-05-09 1997-03-05 삼성전자 주식회사 산술 논리 연산장치와 다중 가산기들 사이의 데이타 전송회로
JP3458518B2 (ja) * 1994-08-30 2003-10-20 ソニー株式会社 並列プロセッサ
JP3474663B2 (ja) * 1995-02-24 2003-12-08 三菱電機株式会社 乗算回路
US5747255A (en) * 1995-09-29 1998-05-05 Lynx Therapeutics, Inc. Polynucleotide detection by isothermal amplification using cleavable oligonucleotides
US5835389A (en) * 1996-04-22 1998-11-10 Samsung Electronics Company, Ltd. Calculating the absolute difference of two integer numbers in a single instruction cycle
US5948053A (en) * 1996-09-02 1999-09-07 Yamaha Corporation Digital signal processor architecture using signal paths to carry out arithmetic operations
US5893145A (en) * 1996-12-02 1999-04-06 Compaq Computer Corp. System and method for routing operands within partitions of a source register to partitions within a destination register
US5909572A (en) * 1996-12-02 1999-06-01 Compaq Computer Corp. System and method for conditionally moving an operand from a source register to a destination register
US6009505A (en) * 1996-12-02 1999-12-28 Compaq Computer Corp. System and method for routing one operand to arithmetic logic units from fixed register slots and another operand from any register slot
US5941938A (en) * 1996-12-02 1999-08-24 Compaq Computer Corp. System and method for performing an accumulate operation on one or more operands within a partitioned register
US6061521A (en) * 1996-12-02 2000-05-09 Compaq Computer Corp. Computer having multimedia operations executable as two distinct sets of operations within a single instruction cycle
TW361051B (en) * 1997-01-09 1999-06-11 Matsushita Electric Ind Co Ltd Motion vector detection apparatus
EP1122637A3 (de) * 2000-01-31 2005-10-12 Micronas GmbH Recheneinheit für eingeschränkte Signalverarbeitung
US7386580B2 (en) * 2004-03-18 2008-06-10 Arm Limited Data processing apparatus and method for computing an absolute difference between first and second data elements
US8615540B2 (en) * 2009-07-24 2013-12-24 Honeywell International Inc. Arithmetic logic unit for use within a flight control system
US8984043B2 (en) * 2009-12-23 2015-03-17 Intel Corporation Multiplying and adding matrices
US10318308B2 (en) * 2012-10-31 2019-06-11 Mobileye Vision Technologies Ltd. Arithmetic logic unit
US9411726B2 (en) * 2014-09-30 2016-08-09 Samsung Electronics Co., Ltd. Low power computation architecture
US9678716B2 (en) * 2014-12-22 2017-06-13 Arm Limited Apparatus and method for performing absolute difference operation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3340388A (en) * 1965-07-12 1967-09-05 Ibm Latched carry save adder circuit for multipliers
JPS58132861A (ja) * 1982-02-03 1983-08-08 Toshiba Corp 演算回路
JPS59132070A (ja) * 1983-01-18 1984-07-30 Mitsubishi Electric Corp アレイ演算用デ−タ処理装置
US4692888A (en) * 1984-10-03 1987-09-08 Advanced Micro Devices, Inc. Method and apparatus for generating and summing the products of pairs of numbers
US4910701A (en) * 1987-09-24 1990-03-20 Advanced Micro Devices Split array binary multiplication
US4982352A (en) * 1988-06-17 1991-01-01 Bipolar Integrated Technology, Inc. Methods and apparatus for determining the absolute value of the difference between binary operands
JP3304971B2 (ja) * 1990-07-23 2002-07-22 沖電気工業株式会社 絶対値演算回路

Also Published As

Publication number Publication date
EP0477011B1 (en) 1998-07-08
DE69129723D1 (de) 1998-08-13
EP0477011A3 (en) 1993-05-19
JPH04128982A (ja) 1992-04-30
DE69129723T2 (de) 1999-03-25
US5235536A (en) 1993-08-10
EP0477011A2 (en) 1992-03-25

Similar Documents

Publication Publication Date Title
JP3228927B2 (ja) プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法
JP7074363B2 (ja) 準同型暗号下での安全な計算を加速するための準同型処理ユニット(hpu)
US10698657B2 (en) Hardware accelerator for compressed RNN on FPGA
CN107229967B (zh) 一种基于fpga实现稀疏化gru神经网络的硬件加速器及方法
US10810484B2 (en) Hardware accelerator for compressed GRU on FPGA
US7536430B2 (en) Method and system for performing calculation operations and a device
CN107704916B (zh) 一种基于fpga实现rnn神经网络的硬件加速器及方法
US7774400B2 (en) Method and system for performing calculation operations and a device
JP3546437B2 (ja) 適応形ビデオ信号演算処理装置
US6820102B2 (en) DSP unit for multi-level global accumulation
CN110851779A (zh) 用于稀疏矩阵运算的脉动阵列架构
JP2001331474A (ja) 単一命令複数データ指示を備えた逆離散コサイン変換の実行方法、圧縮データの伸張方法、圧縮データ信号の伸張装置、並びに、コンピュータ・プログラム製品
CN114003198A (zh) 内积处理部件、任意精度计算设备、方法及可读存储介质
CN107368459B (zh) 基于任意维数矩阵乘法的可重构计算结构的调度方法
CN116888591A (zh) 一种矩阵乘法器、矩阵计算方法及相关设备
CN111401533A (zh) 一种神经网络专用计算阵列及其计算方法
Cain et al. Convolution processing unit featuring adaptive precision using dynamic reconfiguration
KR100246033B1 (ko) 고속 실시간 처리 움직임 추정을 위한 연산방법 및 이를 위한 연산장치
Wang et al. An FPGA-based reconfigurable CNN training accelerator using decomposable Winograd
CN110892393B (zh) 用于在同态加密下加速安全计算的同态处理单元(hpu)
WO2008077803A1 (en) Simd processor with reduction unit
Chen An area/time-efficient motion estimation micro core
KR100202567B1 (ko) 고속 역이산 코사인변환 연산장치
Ismail High speed transform coding on chip for wireless video surveillance systems
CN118152330A (zh) 一种可重构计算装置、卷积计算方法和电子设备

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070907

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080907

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees