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
Links
- 238000004364 calculation method Methods 0.000 claims description 64
- 238000000034 method Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 19
- 238000013507 mapping Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000013459 approach Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 239000000047 product Substances 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012536 packaging technology Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite 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で演算した結果を元の演算系のデ
ータに戻す復号器である。
符号化の原理に基づいて浮動中数点演算等の演算を高速
に行えるようにした高速演算方式〔従来の技術とその問
題点] 第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の場合の冗長符号
及び非冗長符号の何れに対しても上述した実施例と同様
またはそれ以上(選択の自由度が更に拡大されるため)
の効果を得ることができることは容易に理解することが
できる。 また、上述した実施例においては、新演算系の変数依存
度を可能な限りすくなくなるような規準で選択したが、
この規準は他の規準に置き換えても同様である。 【発明の効果】 以上、詳細に説明したように、本発明によれば演算的に
閉じた任意の旧演算系に対して少なくとも旧演算系より
も任意の規準に対して優位な新演算系を構成することが
でき、本発明の定義における写像が具体的回路と直接対
応がとれているために、具体的ハードウェアを実現する
ことができる。 特に、コンピュータ等の演算の高速化及び素子数の削減
による低価格化等に非常に有効である。
系のデータに符号化する。この符号化された新演算系の
データは新演算系の演算器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図
は本発明の写像マと定義域Ω’ −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)
- 任意の演算(2項演算及び単項演算)が1つ又は複数定
義され、これらの演算に対し演算的に閉じた任意の有限
集合に対応するデータ(旧演算系のデータ)を演算する
コンピュータ等の計算システムに対し、前記演算を旧演
算系のように演算器でそのまま実行するのではなく、前
記データを一度符号器により新演算系のデータに変換し
、新演算系の演算器により一連の演算を実行し、得られ
た結果を復号器により旧演算系のデータに戻すことによ
り、必要とする演算結果を得る演算方式であって、旧演
算系のデータと新演算系のデータの相互変換を保証し、
かつ旧演算系による演算結果と同一の結果を得ることを
保証するような符号化法により規定される符号器、復号
器及び新演算系の演算器を具備し、前記手順の演算を実
現するように構成した高速演算方式。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004068364A1 (ja) * | 2003-01-27 | 2004-08-12 | Mathematec Kabushiki Kaisha | 演算処理装置、演算処理装置設計方法および論理回路設計方法 |
Family Cites Families (5)
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 |
-
1989
- 1989-12-28 JP JP34411989A patent/JPH03201114A/ja active Pending
-
1990
- 1990-12-25 EP EP19910900925 patent/EP0507946A4/en not_active Withdrawn
- 1990-12-25 CA CA 2072254 patent/CA2072254A1/en not_active Abandoned
- 1990-12-25 WO PCT/JP1990/001686 patent/WO1991010186A1/ja not_active Application Discontinuation
Cited By (1)
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 |