JPH03201114A - 高速演算方式 - Google Patents

高速演算方式

Info

Publication number
JPH03201114A
JPH03201114A JP34411989A JP34411989A JPH03201114A JP H03201114 A JPH03201114 A JP H03201114A JP 34411989 A JP34411989 A JP 34411989A JP 34411989 A JP34411989 A JP 34411989A JP H03201114 A JPH03201114 A JP H03201114A
Authority
JP
Japan
Prior art keywords
data
arithmetic
new
operations
calculation
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
JP34411989A
Other languages
English (en)
Inventor
Hideji Watari
渡 秀二
Masao Watari
雅男 渡
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP34411989A priority Critical patent/JPH03201114A/ja
Priority to EP19910900925 priority patent/EP0507946A4/en
Priority to CA 2072254 priority patent/CA2072254A1/en
Priority to PCT/JP1990/001686 priority patent/WO1991010186A1/ja
Publication of JPH03201114A publication Critical patent/JPH03201114A/ja
Pending 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
    • 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
    • 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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
[産業上の利用分野] 本発明は高速演算方式に関し、更に詳しくは全く新しい
符号化の原理に基づいて浮動中数点演算等の演算を高速
に行えるようにした高速演算方式〔従来の技術とその問
題点] 第22図は従来の演算方式の構成概念図である。 CPUIと接続されたバス2にメモリ3と演算器4.5
が接続されている。第1の演算器4は、CPUIの制御
下でメモリ3から読出されたデータX、Yに関する2項
演算を行い、その結果2を再度メモリ3に格納する。一
方、第2の演算器5はメモリ3から読出したデータXに
単項演算を行い、その結果Yをメモリ3に格納する。つ
まり、従来の演算方式は、メモリ3から読出したデータ
に直接演算を施すようになっている例が多い。 従来、コンピュータの数値演算等の高速化を達成するた
め、大きく分けて以下のような5つのアプローチがなさ
れてきた。 ■スイッチング速度の速いデバイスの開発■スイツチン
グ速度の改善と高集積化のための微細加工技術の開発 ■高速処理アーキテクチャの開発 ■演算器の最適論理設計 ■配線長の削減や冷却等の実装技術の改善これら5つの
アプローチのうち、■、■は多大な研究開発投資を必要
とし、又■、■は最終品のコストアップにつながる可能
性が大きい等、性能/価格比の高い高速コンピュータ等
の実現に少なからず問題がある。 これに対し、■のアプローチは純朴な論理的アプローチ
であるため、着想がよければ最も投資効率がよく、コス
トアップにつながる心配のないアプローチである。しか
しながら、組合せ回路の複雑さの理論等から既にほぼ限
界に達していることが指摘されている。 例えば、2つのnビットの2進数の乗算器の場合、最適
論理設計を行った時でも、クリティカルバスのゲート段
数はO(logn)、素子数はnの多項式オーダとなる
ことが知られている(安浦寛人「論理回路の複雑さの理
論」情報処理学界誌vo1.26  No、6  pp
、575−582 (June1985))−ここで、
O(logn)はlognのオーダとなることを示す(
以下同じ)。 そして、冗長2道表現を利用した乗算器(高木直史他「
冗長2道加算器を用いたVLSI向き高速乗算器」信学
論(D)、 J66−D、 6. pp。 683−690 (昭58−06))や並列カウンタ型
乗算器等において、ゲート段数が0(logn)、素子
数がO(n’ )のものが既に考案されている。また、
前記冗長2選表現を利用した固定少数点乗算器は、浮動
少数点乗算器の仮数部の乗算器として盛込まれ、LSI
として利用されている(H,Edamatsu  et
  al: −A33  MFLOPS  Float
ing  −Point  Processor  U
sing  Redundant  Binary  
Representation” l5SCC88,p
p、152−153)。 このような演算器の最適論理設計のアプローチは、乗算
器に限らず加減算演算等においても、ゲート段数、素子
数共にオーダ的には最適化がほぼ達成されており、今後
大きな改善は期待できないと考えられている。 演算器の論理設計の課題は、そもそも与えられた数表現
(例えば2の補数表示の2進数等)に対して、既に確定
している演算器の入出力関係(真理値表)を如何に論理
回路で実現するかという問題である。そして、冗長2進
表現を利用した固定少数点乗算器等は、論理回路の内部
表現に冗長2進表現を利用することにより、効率のよい
回路を実現しているが、この演算器の内部表現の工夫も
ほぼ限界まで達していると考えられる。 一方、論理回路の内部表現ではなく、数表現そのものを
工夫する方向として、剰余演算法又は数論変換法と呼ば
れる方法(有本卓「信号・画像のディジタル処理」産業
図書版)が知られている。 Ldue  Number  System:以後RN
Sと略す)は幾つかの試作が存在する(木内淳他「剰余
演算法を用いた動画像処理用FIRディジタルフィルタ
」信学論(D)、J−67D  4゜pp、536−5
43 (昭59−04))、これらのハードウェアは、
固定少数点の積和演算等を実行する代わりに、データや
係数等の2進数を一度2進数表現−RNS変換器(Bi
nary  to  RNS  encoder)を通
して複数の互いに素な法の組に関する剰余の組に変換し
、積和演算等の実行は、各剰余の組に対して独立に行い
、一連の演算結果の剰余の組を、中国人の剰余定理(C
hinese  Remainder  Theore
m)によるRNS→2進数表現変換器(RNS  to
  binary  decoder)を通して求めよ
うとした最終結果を得る構成である。 2進数表現のまま積和演算を実行するよりも高速演算が
達成できる理由は、2進数のビット数に対して、各剰余
を表現するのに必要なビット数が大幅に小さくなるため
、各法に関する演算器をコンパクト(少ない段数と少な
い素子数)に実現できるからである。 また、これと構成的に類似した方法として、2進数表現
→冗長2進数表現変換器を通して冗長2進数乗算を行い
、冗長2進数のまま複数の乗算結果を累算し、結果の冗
長2進数表現を2進数表現変換器を通すことにより、最
終的な積和演算結果を高速に計算できるようにした信号
処理プロセッサも開発されている(T、Enomoto
、etal、:  “200MHz  16bit  
BiCMO8Signal  Processor)。 l5SCC’ 89  Digest  of  TH
PM  12.8.Feb、、1989)。 以上、2つのアプローチに共通した考え方は、固定少数
点データを一度、高速演算が可能な表現データに変換し
、積和演算の一連の処理はこの表現のまま実行し、最終
結果を固定少数点データに戻すというものである。前者
は整数に対して成立する中国人の剰余定理が、後者は1
960年代の初頭にアリジエニス(Arizienis
)によって提案された冗長2道表現(A、Ar1zie
nLs:  “Signed−digit  numb
er  representation  forfa
st  parallel  arithmetic 
  IRE  Trans、Elec、Comp、、E
C−10,3,pp、389−400(Sept、19
61))が高速演算と元のデータに対する相互変換を保
証している。 このように、固定少数点データに対しては、剰余の組や
冗長2道表現への符号化、符号化されたデータに対する
一連の演算、結果の固定少数点データへの復号化という
槽底の高速演算方式が考案されている。しかしながら、
演算は加減乗算に限られている点と、何よりも固定少数
点データ以外の例えば浮動少数点データに対しては適用
できないという問題がある。 何れにしても、固定少数点データに対しては、符号化が
高速演算に対して有効であり、特に冗長符号化が前に述
べた演算器の高速設計にも有効であったこと等から、固
定少数点データ以外のデータに対する符号化も幾つか検
討されている(例えば安浦、高木、矢島「冗長符号化を
利用した高速並列アルゴリズムについて」、信学論(D
)、J70−D、3.pp、525−533 (昭62
−03)、以下文献1という)。 この文献の中で、冗長符号化と局所計算可能性が一般的
な形で定義されている。それによれば定義の部分は以下
のとおりである。 冗長符号化 Ωを有限集合とする。Ωの要素数を1Ω1で表す。Σを
符号化に用いる記号の有限集合とする。 Σ“でΣ上の長さnの全ての系列の集合を表す。 ここで、Ωの要素をΣ0の系列で符号化する。ここでは
、等長符号のみを考える。また、1Σl〉1と仮定する
。 [定義1]写像マは、次の2つの条件を満たすとき、Ω
に対するΣ上の長さnの符号化と呼ぶ。 (1)11’:Σ“−ΩU (r) 、ここにr佐Ωと
する。記号Uは和集合を示す。 (2)Ω中の任意の要素Xに対し、V (X’ ) −
XとなるΣ“の要素X′が少なくとも1つ存在する。こ
のとき、X′をXの符号(c o d e)と呼ぶ。 符号化の写像マを符号空間Σ1から原集合Ωと(r)の
和集合の上への写像として定義したので、冗長な符号化
を作ることができる。Ω中の1つ以上の要素が2個以上
の符号を持つとき、符号化は冗長(redundant
)であるという。第23図は符号空間Σ1から原集合Ω
と(r)の和集合の上への写像を示す図である。 ここで、符号化マの効率を、Σ上での符号化に最低限必
要な符号長とマの符号長の比 [1og lΣ11Ω1]/nによって定義する。 ・をΩ上の2項演算とする。Ωは、演算・に関して閉じ
ているとする。演算・に対応するΣ7上の2積演算*を
次のように定義することができる。 マ< x I * y I )−マ(X′)・マ(Y′
)(1) 但し、マ(X’ ) 、 IF (Y’ )こΩ、即ち
(Ω。 ・)は (lX’lX’εΣ1かっマ(X′)εΩ)、*〉に単
向型である。*は関数F:Σ2″→Σ0によって定義で
きる。 符号化すが冗長であれば、関数Fは一義的には決まらな
い。即ち、(1)式を満たすx’ *y’の候補は複数
存在するので、*を定義するFの選択に自由度がでる。 この自由度を利用して高速に計算できる関数Fを選ぶこ
とにより、*の計算。 即ち・の計算の高速化を図ることができる。 F−(f+ 、fz・・・、f、)をΣ“からΣ1への
写像とし、f、:Σ1→ΣをFの出力の各要素に対する
部分関数とする。各部分関数t+  (i=1.2.・
コm)がたかだかに個の入力変数にしか依存しないとき
、Fはに一局所計算可能であるという。この関数に対す
る局所計算可能性を用いて、有限集合上の2項演算の局
所計算可能性を定義する。 [定義2]・を有限集合Ω上の2項演算、マをΣ上の長
さnのΩの符号化とする。・に対する符号空間上での2
積演算*を定義する関数F:ΣバーΣ“でに−局所計算
可能なものが存在するとき、・は符号化マの下でに一局
所計算可能であるという。 以上の定義の下に、冗長符号化と局所計算可能性は具体
的に剰余類上の加算、有限可換群上の演算について示さ
れ、更に整数の剰余類環に対しては加算と乗算の両方を
同時に高速化する例が示されている。 このように、冗長符号化の定義に従った具体的符号化例
は、全て数学的に簡明な代数構造を有した集合に対して
のものであり、例えば浮動少数点データの集合のような
、演算が数学上の群や環等の代数と直接対応のつかない
一般的集合に対しては何ら方法が示されていない。この
ように、実用上非常に重要な浮動少数点データ等の高速
演算を新しい符号化を用いて達成する方式は考案されて
いないといえる。 本発明はこのような課題に鑑みてなされたものであって
、単項演算も含め、複数の演算が定義され、これらの演
算に関して閉じた任意の集合に対して、高速演算を可能
とする符号器、復号器及び新しい演算器の間の関係を明
らかにし、具体的に高速な計算機等を実現することを目
的としている。 [課題を解決するための手段] 第1図は本発明の一実施例を示すブロック図である。第
22図と同一のものは、同一の符号を付して示す。図は
、任意の演算(2項演算及び単項演算)が1つ又は複数
定義され、これらの演算に対し演算的に閉じた任意の有
限集合に対応するデータ(旧演算系のデータ)を演算す
るコンピュータ等の計算システムに対し、前記演算を旧
演算系のように演算器でそのまま実行するのではなく、
前記データを一度符号器により一定の条件を満足する新
演算系のデータに変換し、新演算系の演算器により一連
の演算を実行し、得られた結果を復号器により旧演算系
のデータに戻すことにより、必要、とする演算結果を得
る演算方式であって、旧演算系のデータと新演算系のデ
ータの相互変換を保証し、かつ旧演算系による演算結果
と同一の結果を得ることを保証するような符号化法によ
り規定される符号器、復号器及び新演算系の演算器より
構成される。 図の10がメモリ3から読出したデータを新演算系のデ
ータに変換する符号器、11は符号器10により変換さ
れた新演算系のデータx’ 、y’に対し、2項演算を
行う新演算系の第1の演算器、12は同じく符号器10
により変換された新演算系のデータX′に対し、単項演
算を行う新演算系の第2の演算器である。13は新演算
系の演算器11.12で演算した結果を元の演算系のデ
ータに戻す復号器である。
【作用] メモリ3より読出したデータを符号器10により新演算
系のデータに符号化する。この符号化された新演算系の
データは新演算系の演算器11゜12で高速に演算でき
る形式に変換される。従って、本発明によれば高速演算
を新演算系の演算器11.12で行い、得られた結果は
再び復号器13で元のデータに戻される。ここで、復号
器13により元のデータに変換されたものが旧演算系に
より演算した結果と同じになることが保証されるように
符号器10による符号化を行えば、極めて高速演算を行
うシステムを実現することができる。 【発明の概要] 以下、本発明の概要について理論的な説明を行う。 本発明は、p個の2積演算Aα:Ω×Ω→Ω(α−1,
2,・・・、p)と、q個の単項演算Bβ:Ω→Ω(β
−1,2,・・)q)が定義され、これらの演算に関し
て閉じた有限集合Ω(集合Ωと演算Aα、Bβを合わせ
たもの(Ω、Aα、Bβ)を旧演算系と呼ぶことにする
)において、演算Aα、Bβを実行する代わりに、符号
器Φ:Ω→Ω′によりΩ上のデータを一度有限集合Ω′
上のデータに変換し、Aα、Bβに対応したΩ′上の演
算Aα′ :Ω′×Ω′→Ω′ Bβ′ :Ω′→Ω′を実行し、Ω′上のデータとして
得られた演算結果を、復号器マ:Ω′→Ωで変換するこ
とにより、本来計算しようとしたΩ上の演算結果を得る
構成をなすようにする。 ここで、有限集合Ω′と演算Aa’、Bβ′及び符号器
Φ、復号器マを合わせたもの(Ω′、Aα7.13β′
、Φ、マ)を新演算系と呼ぶことにする。このとき、旧
演算系(Ω、Aα、Bβ)と新演算系(Ω’、Aa’、
Bβ′、Φ、 IF)との間に、以下の(2)〜(5)
の4式による条件を課すことにより、データの相互変換
の保証及び演算結果の同等性、つまり前述したΦによる
符号化。 Aa’、Bβ′による演算、マによる復号化という一連
の流れによる結果と旧演算系による結果が一致すること
を保証する。 Ω上の任意の要素Xに対して、Ω′上の部分集合で以下
の4式を満足する[Xlを対応させる。 このとき、集合族([Xl l xeoを集合ΩのΩ′
上の符号と呼ぶことにする。 XεΩである全てのXに対して Φ(X)εEX] CΩ′        (2)X(
Ωである全てのXに対して マ([Xl )−XEΩ         (3)Xε
Ω、YEΩである全てのx、Yに対し、aε(1,2゜ ・・・ p)である全てのαに対し、 2(Ωとして、 Z−Aα(X、 Y) − [Z]つAα’  ([Xl、[Y])    (4)
XεΩである全てのXに対し、βE (1,2,・・・
q)である全てのβに対し、Y(Ωとして、Y−Bβ(
X) −[Y]つBβ’([Xl)(5) ここで、Φ(X)E [Xlは、Φ(X)がΩ′の部分
集合[Xlの要素であることを示す。また、−は同値で
あることを示し、マ([Xl )等は、集合[Xlの写
像マによる像を表わす。例えば、(5)式の右辺は X′ε[Xlである全てのX′に対して、Bβ’(X’
)ε[Y] と同値である。 前記した(2)式は符号化時の関係を、(3)式は復号
化時の関係を、(4)式は2項演算時の関係を、(5)
式は単項演算時の関係をそれぞれ表わしている。 (3)式から、 X〔Ωである全てのXに対して、 [X]≠0(6) X、YεΩである全てのX、Yに対して、X#Y −[
Xl n [Y] −0(7)が成立する。ここで、0
は全集合を意味する。 (6)式は、若し[Xl−0ならば、マ([Xl )−
マ(0)−0で(3)式に矛盾する。また、(7)式は
若し[Xl n[Y] m0tiらばZ’ 〔[Xlか
つ2′ε[Y]なる2′が存在するから、(3)式より X−1([Xl ))M’ (Z’ )CIF ([Y
] )mY、つまりX−Yとなり、矛盾するという具合
に証明される。 (6)、  (7)(つまり(3)式)と(2)式より
明らかに !Ω′ 1≧1Ω1でなければならない。また、[Xl
は少なくとも1つ要素を含むものである。 そこで、全てのXに対して[Xlが唯1つの要素からな
る場合、 ([Xl ) xt、。を非冗長符号と呼び、その他の
場合([Xl l x・。を冗長符号と呼ぶことにする
。 C””Uxs。[Xl 、Nc−Ω’−C(8)とする
と、Cは符号の全体集合であり、Ncは非符号の集合で
ある。本発明における写像マの値域はΩであり、前記文
献の写像の値域ΩU (r)とは異なる。つまり、本発
明の写像マは種演算系のデータ集合Ωへの余財であるが
、前記文献の写像マはΩへの余財ではなく、ΩIJ (
r)への余財である。 第2図は本発明の写像Vと定義域Ω’ −CUNoと値
域Ωの関係を示す図である。第23図に示す従来の写像
関係とは異なっている。第2図からもわかるように、写
像マは本発明においては、復号器に完全に対応するもの
となる。また、定義式(2) 〜(5)が符号([Xl
 ) xsOが冗長符号であるか、非冗長符号であるか
に依存しない定義式であるため、高速化に有効な符号は
必ずしも冗長符号に限定せず、非冗長符号も選択の対象
となる。つまり(2)〜(5)式を満足するΦ、マ。 Aa’、Bβ’ 、  ([Xl ) xaoは全て種
演算系と同じ演算結果を導きうる演算方式となる。 これらの新演算系や符号は、一般的に美大な数存在する
。これらの内、高速化効率や符号化効率等の具体的評価
規準から望ましいものを選択することで、実際の高速演
算のための符号器、復号器。 各演算器を決定し、具体的システムを構成するというの
が本発明の骨子である。 本発明で述べた選択の自由度は、前記文献で述べられて
いる選択の自由度と質的にも違いがあり、また飛躍的に
大きな自由度を持つ。このことは、前記文献1に「符号
化マが冗長であれば、Fはユニークには決まらない。即
ち、(1)式を満足するX’ *Y’の候補は複数存在
するので、*を定義するFの選択に自由度がでる。我々
は、この自由度を利用して高速に計算できるFを選ぶこ
とにより、*の計算、即ち・の計算の高速化を計る」と
記載されていることから、前記文献では、ある与えられ
た冗長符号に対して、冗長符号故に生ずる演算器の決定
の自由度を利用するものであったことからも明らかであ
る。 また、この選択の自由度の飛躍的増大の他、前記文献の
甲がΩと不明解な集合(rlの和集合への写像であった
ことから、マは復号器と直接対応づけができなかった。 本発明におけるマは常に復号器と対応しており、具体的
に回路設計ができる利点がある。 【実施例] 以下、本発明の実施例について詳細に説明する。 Ωは、8個の要素からなる有限集合とし、Ω−(Xo 
、Xl、X2、−、Xt )  とする。 このΩ上に2つの2項演算 A:Ω×Ω→Ω B:Ω×Ω→Ω と1つの単項演算 C:Ω→Ω が定義されている。この演算の規則をそれぞれ第3図乃
至第5図に示す。第3図、第4図は2項演算の規則を、
第5図は単項演算の規則をそれぞれ示ス。更に、このΩ
は、プール値(0,1)の3個の系列で次のように符号
化されているとする。 Xo −(0,0,0)、XI −(0,0,1)X2
− (0,1,O) 、 Xs −(0,1,1)Xa
 −(1,O,O)、X5− (1,0,1)X6= 
(1,1,0)、X7− (1,1,1)この時、演算
A及びBは、6変数の3個のプール関数で表わせ、回路
は6人力3出力の組合わせ回路で実現することができる
。同様に演算Cは3変数の3個のプール関数で表わせ、
回路は3人力3出力の組合わせ回路で実現することがで
きる。演算Aを表わす3個のプール関数を al  :  to、1)’ X (0,1)’→(0
,1)(i−0,1,2) とし、プール値の3個の系列を変数 (X2+  X1+  Xo)+  (V2+  )’
In  Yo)で表わせば、 ao  (Xz+  Xt+ XO+  y21  )
’II  Yo)−1+xo +3(、+Yo−1−y
、+xo y。 十xo Y1+Xt Yo +xl Y+81    
(X2+   XI  +   XO*   V2* 
  Vl  l   )’o)mXo +xI+y、+
y、+Xo )’。 十Xo )’+ +X1 ’!o +X+ 3’t +
X2 y2十X2 Vo )’+ +x6 XI )’
2+Xo  XI  Yo  )’+ a2  (X2+  XI *  xo、)’2+  
yI  +  3’O)ml+xo +y6 +xO)
’o +X2 y2+X2  Vo  ”lI +Xo
  XI Vx  +X2  FOy2+xo  Xz
  y2  +X2  )’+  )’2  +XI 
 Xz  y2+xo x、”lo VI十xo Xz
 Vl y2+X、Xz)’Oy2+XlX2)’+y
2+XOXi  V’o  ys  +xOxt  ’
lo  V2十X、Xz Vo )’+ +xo x、
)’I y2同様に演算Bを3個のプール関数 bI  :  (0,1)’ X (0,1)’→(0
,1)(i−0,1,2)、演算Cを3個のプール関数
C+  :  lo、  1) ’→10. 1)  
(i −0,1゜2)とすると、 bo  (X2+  xl’、xo、  y2+  Y
r +  310)−1+xo ’io +Xo VI
+xl )’。 +x、  )’+ bI (Xz+  XI  +  XOI  Y2* 
 )’+  +  yo)mXo ”II+X1 ’j
o +x、!+t)2  (X21  XI *  X
OI  )’21  ’lI +  Vo)”Xz  
+V2  +XOXt  + ’In  )’++ X
o  )’o  ’II +Xo  XI  y。 +Xo  XI  ’to  YI ’0  (Xz *  xl l  X6 )  −X
z  + X6  XlCl (X21  Xt+  
Xo)  −Xo  +X2+XoX+ C2(Xz e  XI +  Xo )−X(1+X
。 +X2  +Xo  XI +xo Xz  +Xo 
 XIのようにプール環の論理式で表わすことができる
(勿論、プール束でも表わすことができる)。 そこで、このような論理式で与えられる演算系(Ω、A
、B、C)を旧演算系とする。第6図乃至第8図はそれ
ぞれ演算A、B、Cを2人力AND、2人力EXOR及
びNOTの各ゲートにより組合わせ回路として実現した
もので、いずれも旧演算系の回路である。 これら旧演算系に対して、(2)式〜(5)式を満足す
る符号化1 [X] ) x@oとして、ここでは非冗
長符号の例を示す。第9図は(2)式〜(5)式を満足
する数多くの新演算系(Ω′、AI B’ I C’ 
l Φ、マ)の内、演算A’ 、B’C′の論理式が、
極力少ない変数に依存するように、コンピュータを利用
して選んだ例を示す図である。ここで、Ω′も8個の要
素からなる有限集合とし、Ω’ = (Xo  、  
Xt  、・・・、X、Mであるものとする。更に、こ
れら集合は、プール値10. 1)の3個の系列で次の
ように符号化されているものとする。 Xo  −(0,0,0)、XI  −(0,0,1)
X2’ −(0,1,0)、Xv  −(0,1,1)
X4 ■(1,0,0)、l  −(1,0,1)X6
−(1,1,0)、X、  −(1,1,1)このとき
、Ω′上の演算 A′ :Ω′ ×Ω′→Ω′  B:Ω′ ×Ω′→Ω
′C′ =Ω′−Ω′の演算規則は、それぞれ第10図
乃至第12図に示されたものとなる。よた、第9図で示
されている符号に対応した符号器Φの対応図(プール値
に翻訳すれば真理値表)は第13図に、復号器マの対応
図は第14図に示すようなものとなる。 更に、A、B、Cと同様、A’ 、B’は6変数。 C′、Φ、マは3変数のそれぞれ3個のプール関数で表
わせる。Ω′上のプール値3個の系列の変数を (12XI     *   Xo  ’  )  會
   (y 2       )’1y0′)等で表わ
し、A’ 、B’のプール関数をal  、bl   
:(0,1)’X(0,11→(0,1) (1,Φ、マのプール関数を Ct  、φ・ 、φl:(0,11 →(0,1) (i−0,1,2) と表わせば、それぞれ以下のようなプール環の論理式で
表わすことができる。 Jlo   (Xz  XI   X。 72        Yr     +   Fo’)
−XI     3’+al      (X2   
  +   XI     +   X。 y2   +  YI  +  ’jo ’  )−X
2+y2 ’  +x2’  y2 a2   (x、    xl   +X0y2  ・
 VI  、)’o’)−1+x6’y6 b。 (xz 2 VI b。 (xz 2 VI 2 (x。 2 1 +X、’ (X2 (X2 (X2 (xz。 (xz。 (xz。 (X2 xl    +X0 Vo ’  )waxot xt    +X0 yO’  )mx2 XI    +X0 yO’  )m)(。 +y。 2 VI XI   l Xo’  )−X2 X+   *  Xo ’  )  −1+ X6)C
+   +  Xo ’  )  −1+ X1XI 
+  Xo )=X2  +Xo  X1X+ *  
Xo )−1+x。 )C+ +  Xo )  ■Xo  + X1xI+
  X o ’  )  −1+ x 1φI (X2
   、XI   +  xo’)−1+x1+X。 φ*  (X2   +  XI   *  xo’)
−1+x6+x、’  +x2 ’  +xl   x
2第15図乃至第19図は、それぞれ演算A′B’ 、
C’及び符号器Φ、復号器マを2人力AND、 2人力
EXOR及びNOTの各ゲートにより組合わせ回路とし
て実現したものである。そこで、これらの新演算系(Ω
I 、 fi、I 、 T31 、 CI、Φ。 マ)の各回路を搭載した場合と、第7図、第8図及び第
9図の旧演算系の各回路を搭載した場合の違いを比較す
るため、各回路のトランジスタ素子数〈以下単に素子数
という)とクリティカルパスの遅延時間(以下単に遅延
時間という)を、AND、EXOR及びNOTの素子数
と遅延時間を基に示す。 第20図は、各ゲートの素子数と遅延時間を、NOTの
素子数を口、遅延時間をΔとして示したものである。こ
の図と各回路図から旧演算系、新演算系の各回路の素子
数、遅延時間を示したのが第21図である。同図より分
かるように、旧演算系の演算A、 B、 Cに比較して
、新演算系の演算A’   B’ 、C’ は素子数、
遅延時間共に大幅に削減されている。 このことは、例えば3種の演算器が1台ずつ搭載され、
各演算が同じクロックサイクルで実行されるようなノイ
マン型の計算機システムの場合、旧演算系のシステムと
新演算系のシステムのクロックのサイクルタイムの比は
4:1となり、新演算系のシステムの演算処理能力が旧
演算系のシステムの4倍になることを意味する(但し、
サイクルタイムは最も遅い演算器により決定されること
を前提とした)。また、旧演算系のシステムの線素子数
が1010であるのに対し新演算系のシステムの演算器
、符号器及び復号器の線素子数は440と半分以下にな
る。 次に、各演算器をN個搭載し、演算を完全に並列実行す
るような非ノイマン型の計算システムの場合、サイクル
タイムの比はノイマン型と同じであるが、素子数の削減
効果はより顕著となる。つまり、新演算系の並列システ
ムにおいて、符号器。 復号器は並列度Nと無関係に1台ずつ搭載すれば十分と
考えれば、十分大きな並列度Nの場合、システムの素子
数の比は、演算器の素子数の比(101:21)に近づ
く。つまり、線素子数は約115となる。 以上のように、Ω上に閉じた3つの演算A、 B。 Cに対して(2・)式〜(5)式の4つの条件を満足す
る数多くの新演算系の中には、高速化や素子数削減の目
的に対して有効なものが存在することを具体的に示すこ
とができる。本発明における符号の定義式(2)弐〜(
5)式に現れる全ての写像Aα、Bβ及びAa’ 、B
β′、Φ、マは全て直接回路と対応がとれたものである
ため、この実施例の具体的回路も容易に導くことができ
る。 以上、説明したように、本発明における符号の定義(2
)式〜(5)式によれば、新演算系(Ω、Aa’ 、B
β′、Φ、マ)のΩ′を1Ω′ 1ミ1Ω1となるよう
に選び(前記実施例ではlΩ′ 1−IO2)、符号(
(X] ) xeoを逐次選択し、Aa’、Bβ′が(
4)、(5)式を満足する条件の下に所望の条件を満足
するものをコンピュータ等を利用して選んでいく。 つまり、Ω′の選択、([X])xε。の選択及びAa
’、Bβ′の選択という3段階の選択の自由度があり、
その自由度の中から満足するものを選択することにより
、少なくとも旧演算系よりも素子数及び遅延時間の両面
で改善された新演算系を決定することが可能となる。 なお、上述した実施例においては、 Ω1−1Ω′ 1かっ各[x]  (XεΩである全て
のXに対して)が1つの要素しか有しない非冗長系につ
い゛て述べたが、1Ω1く1Ω′ 1の場合の冗長符号
及び非冗長符号の何れに対しても上述した実施例と同様
またはそれ以上(選択の自由度が更に拡大されるため)
の効果を得ることができることは容易に理解することが
できる。 また、上述した実施例においては、新演算系の変数依存
度を可能な限りすくなくなるような規準で選択したが、
この規準は他の規準に置き換えても同様である。 【発明の効果】 以上、詳細に説明したように、本発明によれば演算的に
閉じた任意の旧演算系に対して少なくとも旧演算系より
も任意の規準に対して優位な新演算系を構成することが
でき、本発明の定義における写像が具体的回路と直接対
応がとれているために、具体的ハードウェアを実現する
ことができる。 特に、コンピュータ等の演算の高速化及び素子数の削減
による低価格化等に非常に有効である。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、112図
は本発明の写像マと定義域Ω’ −CUNcと値域Ωと
の関係を示す図、第3図乃至第5図は本発明における種
演算等の実施例における演算規則の説明図、第6図乃至
第8図は旧演算系による組合わせ回路例を示す図、第9
図は実施例における新演算系の符号を示す図、第10図
乃至第第12図は実施例における新演算系のそれぞれ2
積演算A’ 、 B’及び単項演算C′の演算規則を示
す図、第13図は符号器の対応を示す図、第14図は復
号器の対応を示す図、第15図乃至第19図は実施例に
おける新演算系のそれぞれ2積演算AB/、単項演算(
1,符号器Φ及び復号器マの回路図、第20図は各ゲー
トの素子数と遅延時間を示す図、第21図は旧演算系と
新演算系の素子数と遅延時間の比較を示す図、第22図
は従来の演算方式の構成概念図、第23図は符号空間Σ
0から原集合Ωと(r)の和集合への写像を示す図であ
る。 第1図において、 1・・・CPU、2・・・バス、3・・・メモリ、10
・・・符号器、11.12・・・演算器、13・・・復
号器。 第3図 第4図

Claims (1)

    【特許請求の範囲】
  1. 任意の演算(2項演算及び単項演算)が1つ又は複数定
    義され、これらの演算に対し演算的に閉じた任意の有限
    集合に対応するデータ(旧演算系のデータ)を演算する
    コンピュータ等の計算システムに対し、前記演算を旧演
    算系のように演算器でそのまま実行するのではなく、前
    記データを一度符号器により新演算系のデータに変換し
    、新演算系の演算器により一連の演算を実行し、得られ
    た結果を復号器により旧演算系のデータに戻すことによ
    り、必要とする演算結果を得る演算方式であって、旧演
    算系のデータと新演算系のデータの相互変換を保証し、
    かつ旧演算系による演算結果と同一の結果を得ることを
    保証するような符号化法により規定される符号器、復号
    器及び新演算系の演算器を具備し、前記手順の演算を実
    現するように構成した高速演算方式。
JP34411989A 1989-12-28 1989-12-28 高速演算方式 Pending JPH03201114A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP34411989A JPH03201114A (ja) 1989-12-28 1989-12-28 高速演算方式
EP19910900925 EP0507946A4 (en) 1989-12-28 1990-12-25 High speed operation system
CA 2072254 CA2072254A1 (en) 1989-12-28 1990-12-25 High speed operation system
PCT/JP1990/001686 WO1991010186A1 (fr) 1989-12-28 1990-12-25 Systeme d'operations haute vitesse

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34411989A JPH03201114A (ja) 1989-12-28 1989-12-28 高速演算方式

Publications (1)

Publication Number Publication Date
JPH03201114A true JPH03201114A (ja) 1991-09-03

Family

ID=18366783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34411989A Pending JPH03201114A (ja) 1989-12-28 1989-12-28 高速演算方式

Country Status (4)

Country Link
EP (1) EP0507946A4 (ja)
JP (1) JPH03201114A (ja)
CA (1) CA2072254A1 (ja)
WO (1) WO1991010186A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004068364A1 (ja) * 2003-01-27 2004-08-12 Mathematec Kabushiki Kaisha 演算処理装置、演算処理装置設計方法および論理回路設計方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5719807B2 (ja) * 1975-03-13 1982-04-24
JPS5841540B2 (ja) * 1977-05-30 1983-09-13 富士通株式会社 イメ−ジデ−タ間の高速乗除算方式
JPS5469039A (en) * 1977-11-14 1979-06-02 Hitachi Denshi Ltd Multiplier/divider
JPS5920140B2 (ja) * 1978-09-28 1984-05-11 防衛庁技術研究本部長 対数の真数加算回路
US4336468A (en) * 1979-11-15 1982-06-22 The Regents Of The University Of California Simplified combinational logic circuits and method of designing same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004068364A1 (ja) * 2003-01-27 2004-08-12 Mathematec Kabushiki Kaisha 演算処理装置、演算処理装置設計方法および論理回路設計方法

Also Published As

Publication number Publication date
EP0507946A4 (en) 1993-09-01
WO1991010186A1 (fr) 1991-07-11
EP0507946A1 (en) 1992-10-14
CA2072254A1 (en) 1991-06-29

Similar Documents

Publication Publication Date Title
Robertson A new class of digital division methods
US4626825A (en) Logarithmic conversion apparatus
US6116768A (en) Three input arithmetic logic unit with barrel rotator
US5680339A (en) Method for rounding using redundant coded multiply result
US5446651A (en) Split multiply operation
Hiasat et al. Residue-to-binary arithmetic converter for the moduli set (2/sup k/, 2/sup k/-1, 2/sup k-1/-1)
Fabricius Modern digital design and switching theory
US5493524A (en) Three input arithmetic logic unit employing carry propagate logic
US4857882A (en) Comparator array logic
Li et al. A stochastic reconfigurable architecture for fault-tolerant computation with sequential logic
US5109524A (en) Digital processor with a four part data register for storing data before and after data conversion and data calculations
JPS5922165A (ja) アドレス制御回路
Villalba et al. Radix-2 multioperand and multiformat streaming online addition
US4852038A (en) Logarithmic calculating apparatus
JPH03201114A (ja) 高速演算方式
Poppelbaum et al. Unary processing
Aoki et al. High-radix parallel VLSI dividers without using quotient digit selection tables
He et al. Stochastic circuit design based on exact synthesis
Dawid et al. High speed bit-level pipelined architectures for redundant CORDIC implementation
US3462589A (en) Parallel digital arithmetic unit utilizing a signed-digit format
Aoki et al. Beyond-binary arithmetic: Algorithms and VLSI implementations
US4862346A (en) Index for a register file with update of addresses using simultaneously received current, change, test, and reload addresses
JPH063578B2 (ja) 演算処理装置
Aoki et al. Redundant complex arithmetic and its application to complex multiplier design
Bashagha et al. A new digit-serial divider architecture