WO1991010186A1 - Systeme d'operations haute vitesse - Google Patents

Systeme d'operations haute vitesse Download PDF

Info

Publication number
WO1991010186A1
WO1991010186A1 PCT/JP1990/001686 JP9001686W WO9110186A1 WO 1991010186 A1 WO1991010186 A1 WO 1991010186A1 JP 9001686 W JP9001686 W JP 9001686W WO 9110186 A1 WO9110186 A1 WO 9110186A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
operations
arithmetic
old
new
Prior art date
Application number
PCT/JP1990/001686
Other languages
English (en)
French (fr)
Inventor
Syuzi Watari
Masao Watari
Original Assignee
Syuzi Watari
Masao Watari
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 Syuzi Watari, Masao Watari filed Critical Syuzi Watari
Publication of WO1991010186A1 publication Critical patent/WO1991010186A1/ja

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

Definitions

  • the present invention relates to a high-speed operation method, and more particularly, to a high-speed operation method capable of performing operations such as floating-point operations at a high speed based on an entirely new encoding principle.
  • Landscape technology a high-speed operation method capable of performing operations such as floating-point operations at a high speed based on an entirely new encoding principle.
  • FIG. 22 is a conceptual diagram showing the configuration of a conventional operation method.
  • the memory 3 and the arithmetic unit 45 are connected to the bus 2 connected to the CPU 1.
  • the first computing unit 4 performs a binary operation on the data X and Y read from the memory 3 under the control of the CP IJ 1, and stores the result Z in the memory 3 again.
  • the second computing unit 5 performs a unary operation on the data X read from the memory 3, and stores the result Y in the memory 3. That is, in many cases, the conventional operation method directly performs an operation on the data read from the memory 3.
  • the number of gate stages of the critical path is 0 (10 gn) and the number of elements is n in the order of a polynomial even when performing optimal logic design.
  • ⁇ (log n) indicates that it is of the order of log n (the same applies hereinafter).
  • a multiplier using redundant binary representation (Naofumi Takagi “High-speed multiplier for VLSI using redundant binary adder” IEICE Trans. (D), J66-D, 6, p p. 683 — 69 0 (Showa 58—06)) and parallel counter type multipliers with 0 (10 gn) gate stages and 0 (n 2 ) elements have already been devised.
  • the fixed-point multiplier using the redundant binary representation is incorporated as a mantissa multiplier of a floating-point multiplier and implemented as an LSI (H. E damatsueta 1 .: "A33 MF LOPSF loating—Point Processor U sing R edundant Binary R epresentation ”ISSCC 88, pp. 15 2—15 3).
  • Such an approach to the optimal logic design of the arithmetic unit is not limited to the multiplier, but also to the adder / subtractor, etc. It is not expected.
  • the issue of the logic design of a computing unit is that the given computing unit has already been determined for a given number expression (for example, a binary number in 2's complement notation).
  • the problem is how to implement the input / output relationship (truth table) using logic circuits.
  • a fixed-point multiplier using redundant binary representation, etc. realizes an efficient circuit by using redundant binary representation for the internal representation of a logic circuit. Are also considered to have reached the limit.
  • redundant binary multiplication is performed through a binary representation-redundant binary representation converter, and the results of the redundant binary representation are accumulated by accumulating a plurality of multiplication results in the redundant binary number.
  • Redundant binary one 2 A signal processor has also been developed that allows the final product-sum operation result to be calculated at high speed by passing it through a base number converter (T. E nomoto, eta 1 .: "200 MHz z 16 bit B iCMO SS ignal Processor "ISSCC '89 D iestof TH PM 12.8, F eb., 1989).
  • fixed-point data is encoded in a set of remainders or redundant binary representation, a series of operations is performed on the encoded data, and the result is decoded into fixed-point data.
  • a series of operations is performed on the encoded data, and the result is decoded into fixed-point data.
  • the operation is limited to addition / subtraction multiplication, and it cannot be applied to floating point data other than fixed point data.
  • encoding is effective for high-speed operations, and in particular, redundant encoding is also effective for high-speed design of arithmetic units.
  • Some studies have been conducted on the conversion of data to data (for example, Yasuura, Takagi, Yajima, "High-speed parallel algorithms using redundant coding", IEICE (D), J70-D, 3, p. 5 2 5-5 3 3 (Showa 2-0 3) ).
  • redundant coding and local computability are defined in a general form. According to it, the definition part is as follows. Redundant coding
  • be a finite set.
  • be a finite set of symbols used for encoding. "Represents a set of all sequences of the upper length ⁇ .
  • the elements are encoded with the sequence of ⁇ " as ⁇ .
  • only isometric codes are considered. Also assume that ⁇ ⁇
  • mapping ⁇ is called ⁇ for ⁇ : upper-length encoding if the following two conditions are satisfied.
  • mapping of coding Since we define the mapping of coding as a mapping from the code space ⁇ : "to the union of the original set and ⁇ , we can create redundant coding. One or more of ⁇ Encoding is said to be redundant when an element has more than one code Figure 23 shows the mapping from the code space ⁇ : "onto the union of the original set ⁇ and ⁇ FIG.
  • F (fx, ⁇ 2, ' ⁇ , ⁇ be a mapping from “to ⁇ :», and let ⁇ i be a partial function for each element of the output of F.
  • one or more arbitrary operations are defined, and data corresponding to an arbitrary finite set that is operationally closed with respect to these operations (hereinafter referred to as data of the old operation system)
  • data of the old operation system For a calculation system such as a computer that computes (the computation system of this system is hereinafter referred to as the old computation system), it is difficult to perform the computation as it is in the old computation system.
  • the data is once converted to data of a new operation system that satisfies certain conditions by an encoder, a series of operations is executed by an operation unit of the new operation system, and the obtained result is converted to an old operation system by a decoder.
  • the data on the collection base ⁇ is once converted to data on the finite set ⁇ 'by the encoder ⁇ : ⁇ ⁇ ⁇ ', and the operations Ap and B A'p: ⁇ 'X ⁇ ' ⁇ ⁇ ', B'q : Execute ⁇ ' ⁇ ⁇ ', and the calculation result obtained as data on ⁇ ' ⁇ : By converting from ⁇ 'to ⁇ , a configuration is obtained in which the calculation result on ⁇ originally calculated is obtained.
  • the new operation system the combination of the finite set ⁇ 'and the operations ⁇ ' ⁇ , B ', and the encoder ⁇ and decoder ( ⁇ ', ⁇ ' ⁇ , B' Q , ⁇ , ⁇ ) is called the new operation system.
  • the new operation system ⁇ ', ⁇ ' ⁇ , ⁇ ', ⁇ , ⁇
  • the old operation system ⁇ , Ap, BJ
  • ⁇ ([X]) ⁇ ⁇ (3) For all X, X that is, and for all ⁇ ⁇ that is ⁇ ⁇ 1, 2,.
  • Equation (2) above shows the relationship at the time of encoding
  • Equation (3) shows the relationship at the time of decoding
  • Equation (4) shows the relationship between the new and old operations and the sign at the time of binomial operation
  • (5) The expressions show the relationship between the new and old operations and the sign at the time of unary operation, respectively.
  • [X] contains at least one element.
  • mapping in the present invention is a surjection to the data set ⁇ of the old arithmetic system, but the mapping in Reference 1 is not a surjection to ⁇ but a surjection to ⁇ ⁇ ⁇ .
  • the degree of freedom of selection described in the present invention is qualitatively different from the degree of freedom of selection described in the aforementioned reference 1, and has a remarkably large degree of freedom. This means that if encoding is redundant, F is not uniquely determined. That is, the equation (1) is satisfied. Since there are multiple candidates for, there is a degree of freedom in selecting F that defines *. We choose F that can be calculated at high speed using this degree of freedom.
  • the document 1 described above uses the degree of freedom in determining the arithmetic unit that is generated due to the redundant code for a given redundant code. It is clear from.
  • FIG. 1 is a block diagram showing the relationship between a preferred encoder, decoder, arithmetic unit, and GP ⁇ according to the present invention.
  • FIG. 2 is a diagram showing the mapping of the present invention and the domain ⁇ ′-C1 ⁇ .
  • (: And a diagram showing the relationship between the range 2 and FIGS. 3 to 5 are explanatory diagrams of the respective operation rules in the binary operation ⁇ , ⁇ and the unary operation C, which are specific examples of the old operation system.
  • 6 to 8 are diagrams showing respective circuit examples of the arithmetic units A, ⁇ , and C by the old arithmetic system
  • FIG. 9 is a diagram showing symbols of the new arithmetic system in the embodiment, and FIGS. Fig.
  • FIG. 12 is a diagram showing the operation rules of the binary operation A ', B' and the unary operation C 'of the new operation system in the embodiment corresponding to each of A, ⁇ , and C of the old operation system.
  • FIG. 14 is a diagram showing the correspondence between the decoders in the embodiment
  • FIGS. 15 to 19 are two terms of the new arithmetic system in the embodiment, respectively.
  • Circuit diagrams of arithmetic ⁇ , ⁇ ', unary operation C', encoder ⁇ and decoder, Fig. 20 shows the number of elements in each gate and the delay time, and Fig. 21 shows the specifics of the old arithmetic system.
  • Fig. 20 shows the number of elements in each gate and the delay time
  • Fig. 21 shows the specifics of the old arithmetic system.
  • FIG. 22 shows a comparison between the number of elements and the delay time between the example and the embodiment of the new operation system.
  • Fig. 22 shows the configuration of a typical conventional operation method.
  • FIG. 23 is a diagram showing a mapping from the code space “disclosed in Reference 1” to the union table of the original tables ⁇ and ⁇ .
  • FIG. 1 is a block diagram showing a relationship between a preferred encoder, a decoder, an arithmetic unit (new arithmetic system) and a CPU according to the present invention. It is described in a form corresponding to the operation method (old operation system). The same numbers, # 1 for binary operations and # 2 for unary operations, are used to indicate the correspondence between the new and old arithmetic systems. In the conventional calculation system of the old arithmetic system as shown in Fig. 22, the data in the memory was sent to the arithmetic unit under the control of CP IJ1 to obtain the operation result.
  • data of the old operation system on the memory for example, x,: r is first sent to the encoder ⁇ under the control of the CPU 1, and T, : Converted to a new operation system and stored in memory.
  • the data of the new operation system in the memory is sent from the memory to the operation unit of the new operation system under the control of the CPU 1, and the operation result of the new operation system coming out of the operation unit is stored in the memory.
  • a series of desired operations for example, product-sum operation, vector operation, matrix operation, etc.
  • the new result data of the new operation system is obtained in the memory.
  • This data is sent to the decoder under the control of CPU 1.
  • This is a method to obtain the desired result of the old arithmetic system.
  • the operation of the new operation system used for the iterative operation of FIG. 1 can generally achieve a much higher speed than the operation of the old operation system in FIG.
  • an example of the present invention will be described below.
  • ⁇ X 0 , Xi, X 2 , ', ⁇ ].
  • FIGS. 3 to 5 The rules of this operation are shown in FIGS. 3 to 5, respectively.
  • Figures 3 and 4 show the rules of operation for the binary operation ⁇ and ⁇
  • Figure 5 shows the rules of operation for the unary operation C.
  • is coded as follows with three sequences of Boolean values ⁇ 0, 1 ⁇ .
  • the binary operations ⁇ and ⁇ can be expressed by three Boolean functions of six variables, and the circuit can be realized by a combination circuit of 6 inputs and 3 outputs.
  • the unary operation C can be expressed by three Boolean functions of three variables, and the circuit can be realized by a combination circuit of three inputs and three outputs.
  • the operation system ( ⁇ , A, B, C) given by such a logical expression is defined as the old operation system.
  • Figures 6 to 8 show that the operations A, B, and C are grouped by the two-input AND, two-input EXOR, and NOT gates, respectively. This is realized as a five-way circuit, and both are circuits of the old arithmetic system.
  • Figure 9 is (2) to (5) New operation system of many satisfying the expression (in this case 2 3! Species) ( ⁇ ', ⁇ ', ⁇ ', C', ⁇ , ⁇ ) of,
  • this ⁇ ' It is assumed that, like ⁇ , is coded as follows with three sequences of Boolean values ⁇ 0, 1 ⁇ .
  • FIGS. 10 to 12 The operation rules are shown in FIGS. 10 to 12, respectively. Also, the corresponding diagram of encoder 0 (corresponding to a truth table if translated into a Boolean value) corresponding to the code shown in Fig. 9 is shown in Fig. 13 and the corresponding diagram of decoder is shown in Fig. 14 It will be something like
  • a 'and B' can be represented by six variables and C 'and three variables each by three Boolean functions.
  • Fig. 15 to Fig. 19 show the combination circuit of the operations A ', B', C 'and the encoder ⁇ , the decoder by the gates of 2-input AND, 2-input EXOR and NOT, respectively. It was realized as. Therefore, when the circuits of these new arithmetic systems ( ⁇ ', ⁇ ', ⁇ '. C', ⁇ , ⁇ ) are installed, the old arithmetic systems shown in Figs. 7, 8, and 9 In order to compare the differences when a circuit is mounted, the number of transistor elements (hereinafter simply referred to as the number of elements) and the delay time of the critical path (hereinafter simply referred to as the delay time) of each circuit are calculated using the AND, EXOR, and NOT elements. Based on number and delay time
  • Figure 20 shows the number of elements in each gate and the delay time, the number of NOT elements as ⁇ , and the delay time as ⁇ .
  • Figure 21 shows the number of elements and the delay time of each circuit in the old and new arithmetic systems based on Fig. 20 and each circuit diagram.
  • the arithmetic units ⁇ ', ⁇ ', and C 'in the new arithmetic system have greatly reduced both the number of elements and the delay time compared to the arithmetic units A, B, and C in the old arithmetic system. .
  • the total number of elements in the old arithmetic system is 101 b, whereas the total number of arithmetic units, encoders and decoders in the new arithmetic system is 44 4, which is less than half.
  • the cycle time ratio is the same as that of the Neumann type, but the effect of reducing the number of elements is It becomes more noticeable.
  • the ratio of the number of elements in the system base and the number of elements in the system is sufficiently large.
  • the ratio of the number of elements in the arithmetic unit approaches (101: 21). That is, the total number of elements is about 1Z5.
  • the code is selected according to a criterion that minimizes the variable dependency of each arithmetic unit of the new arithmetic system, but the same applies when this criterion is replaced with another criterion. .

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)

Description

明 細 書
高速演算方式
技術分野
本発明は、 高速演算方式に関し、 更に詳しくは全く新しい符号化 の原理に基づいて浮動小数点演算等の演算を高速に行えるようにし た高速演算方式に関する。 景技術
第 2 2図は従来の演算方式の構成概念図である。 C P U 1と接続 されたバス 2にメモリ 3と演算器 4 5が接続されている。 第 1の 演算器 4は、 C P IJ 1の制御下でメモリ 3から読み出されたデータ X , Yに関する 2項演算を行い、 その結果 Zを再度メモリ 3に格納 する。 一方、 第 2の演算器 5はメモリ 3から読み出したデータ Xに 単項演算を行い、 その結果 Yをメモリ 3に格納する。 つまり、 従来 の演算方式は、 メモリ 3から読み出したデータに直接演算を施すよ うになっている例が多い。
従来、 コンピュータの数値演算等の高速化を達成するため、 大き く分けて以下のような 5つのアプローチがなされてきた。
①スィツチング速度の速いデバイスの開発
②スィ ツチング速度の改善と高集積化のための微細加工技術の開発
③高速処理アーキテクチャの開発
④演算器の最適論理設計
⑤配線長の削減や冷却等の実装技術の改善
これら 5つのアプローチの内、 ①, ②は多大な研究開発投資を必 要とし、 又③, ⑤は最終品のコス トアップに繋がる可能性が大きい 等、 性能 価格比の高い高速コンピュータ等の実現に少なからず問 題がある。
これに対し、 ④のアプローチは純粋な論理的アプローチであるた め、 着想がよければ最も投資効率がよく、 コス トアップに繋がる心 配のないアプローチである。 しかしながら、 組合せ回路の複雑さの 理論等からこのアプローチも既にほぼ限界に達していることが指摘 されている。
例えば、 2つの nビッ トの 2進数の乗算器の場合、 最適論理設計 を行った時でも、 ク リティカルパスのゲ一ト段数は 0 ( 1 0 g n) 、 素子数は nの多項式オーダとなることが知られている (安浦寬人 「論理回路の複雑さの理論」 情報処理学会誌 V 0 1. 2 6 NO. 6 p p. 5 7 5 - 5 8 2 ( J u n e l 9 8 5 ) ) 。
ここで、 ◦ ( l o g n) は l o g nのオーダとなることを示す (以下同じ) 。
そして、 冗長 2進表現を利用した乗算器 (高木直史 「冗長 2進 加算器を用いた V L S I向き高速乗算器」 信学論 (D) , J 6 6 - D, 6 , p p. 6 8 3— 6 9 0 (昭 5 8— 0 6 ) ) や並列カウンタ 型乗算器等において、 ゲート段数が 0 ( 1 0 g n) , 素子数が 0 (n2 ) のものが既に考案されている。 また前記冗長 2進表現を 利用した固定小数点乗算器は、 浮動小数点乗算器の仮数部の乗算器 として盛込まれ、 L S I として実現されている (H. E d a m a t s u e t a 1. : "A 3 3 MF L O P S F l o a t i n g— P o i n t P r o c e s s o r U s i n g R e d u n d a n t B i n a r y R e p r e s e n t a t i o n" I S S C C 8 8 , p p. 1 5 2— 1 5 3 ) 。
このような演算器の最適論理設計のアプローチは、 乗算器に限ら ず加減算器等に於いても、 ゲート段数、 素子数共にオーダ的には最 適化がほぼ達成されており、 今後大きな改善は期待できないと考え られている。
演算器の論理設計の課題は、 そもそも与えられた数表現 (例えば 2の補数表示の 2進数等) に対して、 その演算器の既に確定してい る入出力関係 (真理値表) を如何に論理回路で実現するかという問 題である。 そして冗長 2進表現を利用した固定小数点乗算器等は、 論理回路の内部表現に冗長 2進表現を利用することにより、 効率の よい回路を実現しているが、 この演算器の内部表現の工夫もほぼ限 界まで達していると考えられている。
一方、 論理回路の内部表現ではなく、 数表現ぞのものを工夫する 方向として、 剰余演算法又は数論変換法と呼ばれる方法 (有本卓 「画像のデジタル信号処理」 産業図書出版) が知られている。
この剰余演算法を利甩したハー ドウエア (R e s i d u e N u mb e r S y s t e m :以後 RN Sと略す) は幾つかの試作が存 在する (木内淳他 「剰余演算法を用いた動画像処理用 F I Rデジタ ルフィ ルタ」 信学論 (D) , J - 6 7 D 4, p p. 5 3 6 - 5 4 3 (昭 5 9— 0 4 ) ) 。 これらのハー ドウェアは、 固定小数点の積 和演算等を実行する代わりに、 データや係数等の固定小数点 2進数 を一度 2進数表現一 RN S変換器 (B i n a r y t o N S e n c o d e r ) を通して複数の互いに素な法の組に関する剰余の 組に変換し、 積和演算等の実行は、 各剰余の組に対して独立に行い、 一連の演算結果の剰余の組を、 中国人の剰余定理 (C h i n e s e R e m a i n d e r T h e o r e m) による RN S— 2進数表現 変換器 (RN S t o b i n a r y d e c o r d e r ) を通し て求めようとした最終結果を得る構成である。
2進数表現のまま積和演算を実行するより も高速演算が達成でき る理由は、 2進数のビッ ト数に比較して、 各剰余を表現するのに必 要なビッ ト数が大幅に小さ くなるため、 各法に関する演算器をコン パク ト (少ない段数と少ない素子数) に実現できるからである。
また、 これと構成的に類似した方法として、 2進数表現一冗長 2 進数表現変換器を通して冗長 2進数乗算を行い、 冗長 2進数のまま 複数の乗算結果を累算し、 冗長 2進数表現の結果を冗長 2進数一 2 進数変換器を通すことにより、 最終的な積和演算結果を高速に計算 できるようにした信号処理プロセッサも開発されている (T. E n o m o t o , e t a 1. : " 2 0 0MH z 1 6 b i t B i C MO S S i g n a l P r o c e s s o r " I S S C C' 8 9 D i e s t o f TH P M 1 2. 8, F e b . , 1 9 8 9 ) 。 以上、 2つのアプローチに共通した考えは、 固定小数点データを 一度、 高速演算が可能な表現データに変換し、 積和演算等の一連の 処理はこの表現のまま実行し、 最終結果を固定小数点データに戻す というものである。 前者は整数に対して成立する中国人の剰余定理 が、 後者は 1 9 6 0年代の初頭にァリ ジヱニス (A r i z i e n i s ) によって提案された冗長 2進表現 (A. A r i z i e n i s : S i g n e d— d i g i t n umb e r r e p r e s e n t a t i o n f o r f a s t p a r a l l e l a r i t h m e t i c " , I RE T r n s . E l e c . C o mp. , E C— 1 0, 3, p p. 3 8 9 - 4 0 0 (S e p t . 1 9 6 1) ) が高速 演算と元のデータに対する相互変換を保証している。
このように、 固定小数点データに対しては、 剰余の組や冗長 2進 表現への符号化、 符号化されたデータに対する一連の演算、 結果の 固定小数点データへの復号化という構成の高速演算方式が考案され ている。 しかしながら、 演算は加減乗算に限られている点と、 何よ り も固定小数点データ以外の例えば浮動小数点データ等に対しては 適用できないという問題がある。
何れにしても、 固定小数点データに対しては、 符号化が高速演算 に対して有効であり、 特に冗長符号化が演算器の高速設計にも有効 であったこと等から、 固定小数点データ以外のデータに対する苻号 化も幾つか検討されている (例えば安浦、 高木、 矢島 「冗長符号化 を利用した高速並列アルゴリズムについて」 , 信学論 (D) , J 7 0 -D, 3 , p p. 5 2 5 - 5 3 3 (昭 6 2— 0 3 ) , 以下文献 1 という)。
この文献 1の中で、 冗長符号化と局所計算可能性が一般旳な形で 定義されている。 それによれば定義の部分は以下のとおりである。 冗長符号化
Ωを有限集合とする。 Ωの要素数を | Ω Iで表す。 ∑を符号化に用 いる記号の有限集合とする。 " で 上の長さ《の全ての系列 の集合を表す。 ここで Ωのまま要素を∑ " の系列で符号化する。 ここでは、 等長符号のみを考える。 また、 Ι Ω | > 1と仮定する。
[定義 1 ] 写像 Ψ は、 次の 2つの条件を満たすとき、 Ωに対す る∑: 上の長さ の符号化と呼ぶ。
( 1 ) Ψ Έ " -→Q U { Γ }, ここに ^ Ωとする。 記号 Uは和 集合を示す。
( 2 ) Ω中の任意の要素; Πこ対し、 Ψ (Χ') =Χとなる∑ " の要 素 X'が少なくとも 1つ存在する。 このとき、 Τを Xの符号 (c o d e ) と呼ぶ。
符号化の写像? を符号空間 ∑: " から原集台 と { Γ }の和集合 の上への写像として定義したので、 冗長な符号化を作ることができ る。 Ω中の 1つ以上の要素が 2個以上の符号を持つとき、 符号化は 冗長 ( r e d u n d a n t ) であるという。 第 2 3図は符号空間 ∑: " から原集合 Ωと { Γ }の和集合の上への写像を示す図である。
ここで、 符号化 の効率を、 ∑: 上での符号化に最低限必要な符 号長と? Fの符号長の比
[ 1 0 g I Ι Ι Ω I ] Z«によって定義する。
秦を Ω上の 2項演算とする。 Ωは、 演算秦に関して閉じているとす る。 演算翁に対する ∑ " 上の 2項演算 * を次のように定義する ことができる。
Ψ (Χ' * Υ') = Ψ (Χ') 參 Ψ (Υ') ( 1 ) 但し、 (Χ') , (y) Ε Ω、 即ち (Ω, 翁) は ( i X' ∑ " かつ Ψ (Χ') ΕΩ} , *) に準同型である。 *は関数 F :∑] 2"— " によって定義できる。 符号化 が冗長であれば、 関数は一義的には決まらない。 即ち、
(1) 式を満たす r *Υ'の候補は複数存在するので、 *を定義す る Fの選択に自由度がでる。 この自由度を利用して高速に計算でき る関数 Fを選ぶことにより、 *の計算、 即ち參の計算の高速化を図 ることができる。
F= ( f x, ί 2 , '···, ί を " から ∑: » への写像とし、 ' ί i " を Fの出力の各要素に対する部分関数とする。 各部分関数 i i ( i = 1. 2, ''·, m) がたかだかん個の入力変数 にしか依存しないとき、 Fは 一局所計算可能であるという。 この 局所計算可能性を用いて、 有限集台上の 2項演算の局所計算可能性 を定義する。
[定義 2] 參を有限集合 Ω上の 2項演算、 Ψを ∑: 上の長さ《の の符号化とする。 拳に対する符号空間上での 2項演算 *を定義する 関数 F : 2"→∑: " で —局所計算可能なものが存在するとき、 •は符号化? の下で k—局所計算可能であるという。
以上が文献 1に示された定義である。
文献 1に於いてはこの定義の下に、 冗長符号化と局所計算可能性が、 具体的に剰余類上の加算、 有限可換群上の演算に関して示され、 更 に整数の剰余類環に対しては加算と乗算の両方を同時に高速化する 例が示されてい 。
しかしこのような、 冗長符号化の定義に従つた具体的符号化例は、 全て数学的に簡明な代数構造を有した集合 (剰余類、 有限可換群、 整数の剰余類環等) に対してのものであり、 例えば浮動小数点デー 夕の集台のような、 演算が群や環等の数学上の代数と直接対応がつ かないような一般的な集合に対しては何ら方法が示されていない。 つまり実用上非常に重要な浮動小数点データ等の高速演算を、 新 しい符号化を用いて達成する方式は考案されていないと言える。 従って、 本発明はこのような課題に鑑みてなされたものであって、 単項演算及び 2項演算が 1つ又は複数定義され、 これらの演算に関 して閉じた任意の集合に対して、 高速演算を可能とする符号器 (En corder)、 復号器 (Decorder)及び新しい演算器の間の関係を明らか にし、 具体的に高速な計算機等を提供することを目的と している。 発明の開示
本発明は、 任意の演算 ( 2項演算及び単項演算) が 1つ又は複数 定義され、 これらの演算に関して演算的に閉じた任意の有限集合に 対応するデータ (以後これを旧演算系のデータと呼ぶ) を演算する コ ンピュ一タ等の計算システム (このシステムの演算系を以後旧演 算系と呼ぶ) に対し、 前記演算を旧演算系のように演算器でそのま ま実行するのではなく、 前記データを一度符号器により一定の条件 を満足する新演算系のデータに変換し、 新演算系の演算器により一 連の演算を実行し、 得られた結果を復号器により旧演算系のデータ に戻すことにより、 必要とする演算結果を得る演算方式であって、 旧演算系のデータと新演算系のデータの相互変換を保証し、 かつ旧 演算系による演算結果と同一の結果を得ることを保証するような符 号化法により規定される符号器、 復号器及び新演算系の演算器より 構成される。
以下本発明の符号化法の理論的な明確化を含め、 より具体的に本 発明の内容を示す。
先ず、 P個の 2項演算 Ap : Ω X Ω→Ω ( ρ = 1 , 2 , ····, Ρ) と Q個の単項演算 B q : →Ω (q = l, 2 , *··', Q) が定義さ れ、 これらの演算に関して閉じた有限集台 Ωを考え、 集台 Ωと演算 Ap, B を合わせたもの (Ω, Ap, B J を旧演算系と呼ぶことに する。 これは例えば浮動小数点データの集合と浮動小数点演算器の ようなものである。
そこで旧演算系の演算 Ap, B qを実行する代わりに、 集台 Ω上の データを一度符号器 Φ : Ω→Ω'により有限集合 Ω'上のデータに変 換し、 演算 Ap, B に対応した Ω'上の演算 A' p : Ω' X Ω'→Ω', B' q : Ω'→Ω'を実行し、 Ω'上のデータとして得られた演算結果 を、 復号器? ?■ : Ω'→Ωで変換することにより、 本来計算しようと した Ω上の演算結果を得る構成をなすようにする。
ここで、 有限集合 Ω'と演算 Α' ρ, B',及び符号器 Φ, 復号器 を合わせたもの (Ω', Α' Ρ, B ' Q, Φ, Ψ) を新演算系と呼ぶこ とにする。 このとき、 新演算系 (Ω', Α'ρ, Β' , Φ, Ψ) と旧 演算系 (Ω, Ap, B J との間に、 以下の ( 2 ) 〜 ( 5 ) の 4式に よる条件を課すことにより、 データの相互変換の保証及び演算結果 の同等性、 つまり前述した 0による符号化、 A' p, B、による演算、 による復号化という一連の流れによる結果と旧演算系による結果 がー致することを保証する。
Ω上の任意の要素 Xに対して、 Ω'上の部分集合で以下の 4式を 満足する [X] を対応させる。 このとき、 集合族 {[ ]} xsa を集合 Ωの集合 Ω'上の符号と呼ぶことにする。
この符号と新演算系 (Ω', A' p, Β' ,, , Ψ) の間に次の条 件を課す。
Ωである全ての Xに対して
Φ (X) ≡ [X] 匚 Ω' ( 2 )
Ωである全ての Xに対して
Ψ ( [X] ) =Χ≡ Ω ( 3 ) X, : である全ての X, Υ、 及び ρ≡ { 1 , 2, . , P: である全ての Ρに対して、 として
Ζ = ΑΡ (X, Υ) « [Ζ] コ A' p ( [X] , [Y ) ( 4)
である全ての X、 及び q E { 1 , 2 , ··'* , 0} である全ての qに対して、 として
Υ= Β , (X) [Yl コ B'q ( [X] ) ( 5 ) ここで Φ (X) ≡ [X] は、 Φ (X) が Ω'の部分集合 [X] の要 素であることを示す。 また は同値であることを示し、 ( [X] ) 等は、 集合 [X] の写像? Πこよる像を表す。 例えば ( 5 ) 式の《記 号の右辺の [ ] コ B'q ( [X] ) は " X' E [X] である全て の に対して、 Β' (Χ') ≡ [Yl " なる命題に等しい。
前記した ( 2 ) 式は符号化時の関係を、 ( 3 ) 式は復号化時の関 係を、 ( 4 ) 式は 2項演算時の新、 旧演算と符号の関係を、 ( 5 ) 式は単項演算時の新、 旧演算と符号の関係をそれぞれ表している。
( 3 ) 式から である全ての: 5Πこ対して
IX] ^0 ( 6 )
X, である全ての X, : Tに対して
χ^γ<^> [X] π [r] =ø ( 7 ) が成立する。 ここで、 0は空集台を意味する。
( 6 ) 式は、 若し [X] =0ならば、 ([X])= (0) = 0で ( 3 ) 式に矛盾する。 また、 ( 7 ) 式は若し [X] Π [Y ^0 ならば Z' E [X] かつ Ζ, [>] が存在するから、 ( 3 ) 式 より χ= Ψ ( は] ) コ Ψ (ζ') ciw ( [ ] ) =γ
つまり Χ= となり、 矛盾するという具合に証明される。
( 6 ) 、 ( 7 ) (つまり ( 3 ) 式) と ( 2 ) 式より明らかに
I Ω' I≥ I Ω Iでなければならない。 また [X] は少なく とも 1 つ要素を含むものである。
そこで、 全ての Xに対して [X] が唯 1つの要素からなる場台、 符号 { [X] } xsa を非冗長符号と呼び、 その他の場合符号
{ [X] } 。 を冗長符号と呼ぶことにする。
C = U xea [XI , Nc = Ω' - C ( 8 ) とすると、 Cは符号の全体集台であり、 Ncは非符号の集合である。 本発明における写像 の値域は Ωであり、 前記文献 1の写像 の 値域 Ω υ {Γ} とは異なる。 つまり本発明の写像 は旧演算系の データ集合 Ωへの全射であるが、 前記文献 1の写像? ?·は Ωへの全射 ではなく、 Ω υ {Γ} への全射である。
第 2図は本発明の写像 と定義域 Ω' = C U NCと値域 Ωの関係を 示す図である。 第 2 3図に示す従来の写像関係とは異なっている。 第 2図からも解るように、 本発明においては写像 は、 復号器に 完全に対応するものとなる。
また、 定義式 (2 ) 〜 ( 5 ) が符号 { [X] } Χ ΕΩ が冗長符号 であるか、 非冗長符号であるかに依存しない定義式であるため、 高 速化に有効な符号を、 必ずしも冗長符号に限定している訳ではなく、 非冗長符号も選択の対象となる。 つまり (2 ) 〜 ( 5 ) 式を満足す る Φ, Ψ, A B' q, { ίΧΐ } xsa は全て旧演算系と同じ 演算結果を導き得る演算方式となる。
これ等の新演算系や符号は、 一般的に超天文学的ともいえる莫大 な数が存在する。 これらの内、 高速化効率や符号化効率等の具体的 評価基準から望ましいものを選択することで、 実際の高速演算のた めの符号器、 復号器、 各演算器を決定し、 具体的システムを構成す るというのが本発明の骨子である。
本発明で述べた選択の自由度は、 例えば B = { 0 , 1} として、 Ω = B "、 且つ I Ω' I = I Ω I (符号は非冗長符号) の場合、 Φは 2"個の要素の置換、 は Φの逆置換と見なせることから、 選択の 対象の数は 2" ! という莫大な数となる。 また、 当然のこととして I Ω' I > I Ω I なる場合はさらに大きな自由度がある。
このように本発明で述べた選択の自由度は、 前記文献 1で述べら れている選択の自由度と質的にも違いがあり、 また飛躍的に大きな 自由度を持つ。 このことは前記文献 1に 「符号化 が冗長であれば、 Fはユニークには決まらない。 即ち、 ( 1 ) 式を満足する の候補は複数存在するので、 *を定義する Fの選択に自由度がでる < 我々は、 この自由度を利用して高速に計算できる Fを選ぶことによ り、 *の計算、 即ちきの計算の高速化を計る」 と記載されているこ とから、 前記文献 1では、 ある与えられた冗長符号に対して、 冗長 符号故に生ずる演算器の決定の自由度を利用するものであったこと からも明らかである。
また、 この選択の自由度の飛躍的増大の他、 前記文献 1の が Ω と不明解な集台 {厂} の和集合への写像であったことから、 は復 号器と直接対応づけができなかった。
その点、 本発明における? は常に復号器と対応しており、 具体的 に回路設計ができる利点がある。 図面の簡単な説明
第 1図は、 本発明にかかる好ましい符号器, 復号器, 演算器, と G P ϋとの関係を示すプロック図であり、 第 2図は本発明の写像 と定義域 Ω ' - Cリ1^ (:と値域2との関係を示す図、 第 3図乃至第 5 図は旧演算系の具体例である 2項演算 Α, Β及び単項演算 Cにおけ るそれぞれの演算規則の説明図、 第 6図乃至第 8図は旧演算系によ る演算器 A , Β , Cのそれぞれの回路例を示す図、 第 9図は実施例 における新演算系の符号を示す図、 第 1 0図乃至第 1 2図は旧演算 系の A , Β , Cのそれぞれに対応した実施例における新演算系の 2 項演算 A ', B '及び単項演算 C 'の演算規則を示す図、 第 1 3図は 実施例における符号器の対応を示す図、 第 1 4図は実施例における 復号器の対応を示す図、 第 1 5図乃至第 1 9図は実施例における新 演算系のそれぞれ 2項演算 Α ', Β ' , 単項演算 C ', 符号器 Φ及び 復号器 の回路図、 第 2 0図は各ゲー 卜の素子数と遅延時間を示す 図、 第 2 1図は旧演算系の具体例と新演算系の実施例の素子数と遅 延時間の比較を示す図、 第 2 2図は従来の代表的な演算方式の構成 概念図、 第 23図は文献 1に示されている符号空間 "から原集 台 Ωと {Γ} の和集台への写像? を示す図である。
第 1図において、
l','C PU、 2 ···-データバス、 3 ·'·メモリ、 10·',符号器、
11, 12 ···演算器、 13,··復号器。 発明を実施するための最良の形態
本発明をより詳細に説述するために、 添付の図面に従ってこれを 説明する。
第 1図は、 本発明にかかる好ましい符号器, 復号器, 演算器 (新 演算系) と C PUとの関係を示すブロック図であり、 これは第 22 図に示された従来の代表的な演算方式 (旧演算系) に対応する形で 記載されている。 新演算系、 旧演算系の演算の対応を示す意味で 2 項演算には # 1、 単項演算には # 2なる同一の番号が両方の演算系 に付されている。 第 22図のような従来の旧演算系の計算システム では、 メモリ上のデータを C P IJ 1の制御下で演算器に送り込み演 算結果を得る方式であつた。
一方、 第 1図に示される本発明にかかる好ましい演算方式では、 メモリ上の旧演算系のデータ、 例えば x、 : rは先ず C PU 1の制御 下で符号器 Φに送り込まれ、 それぞれ T、 : なる新演算系のデ一 夕に変換されメモリに格納される。 次にメモリ上の新演算系のデ一 タを C P U 1の制御下でメモリから新演算系の演算器に送り込み、 演算器から出て来る新演算系の演算結果をメモリに格納する。 目的 とする一連の演算 (例えば積和演算や、 べク トル演算、 マ ト リ ック ス演算等) は、 この新演算系の演算の繰り返しにより実行する。 所 定の演算が終了した時、 メモリ上には最終結果の新演算系のデータ が得られる。 このデータを C P U 1の制御下で復号器 こ送り込み. 所望の旧演算系の結果を得る方式である。 このとき第 1図の繰り返し演算に使用される新演算系の演算は、 第 2 2図における旧演算系に演算より、 一般に大幅な高速化が達成 できる。 このことをより具体的に説明するため、 以下本発明の実施 例について説明する b
Ωを 8個の要素からなる有限集合とし、
Ω = {X0, Xi, X2, ', Χι] とする。
この Ω上に 2つの 2項演算
A : Ω X Ω— Ω , B : Ω X Ω→Ω
と 1つの単項演算
C : Ω→Ω
が定義されている。 この演算の規則をそれぞぇ第 3図乃至第 5図に 示す。 第 3図, 第 4図は 2項演算 Α, Βの演算規則を、 第 5図は単 項演算 Cの演算規則をそれぞれ示す。 更に、 この Ωは、 ブール値 { 0 , 1 } の 3個の系列で次のように符号化されているものとする。
Χ0 = { 0 , 0, 0} , Χι = { 0, 0, 1 }
2 = { 0, 1, 0 } , Χζ = { 0 , 1 , 1 }
Figure imgf000015_0001
Xs = { 1 , 1 , 0 } , 7 = { 1 , 1 , 1 }
この時、 2項演算 Α及び Βは、 6変数の 3個のブール関数で表わせ、 回路は 6入力 3出力の組合わせ回路で実現することができる。 同様 に単項演算 Cは 3変数の 3個のブール関数で表わせ、 回路は 3入力 3出力の組合わせ回路で実現することができる。
演算 Αを表す 3個のブール関数を
a { 0, 1 } 3 X { 0 , 1 } 3-* { 0 , 1 } ( i = 0 , 1 , 2 ) と し、 入力の Ωの 2要素に対応する変数のブール値系列をそれぞれ ( 2 , x i , x。) , (y 2, y i , y。) で表せば
a 0 (x2, X i, Xo, Ύ 2 , Ύ l, Ύ o)
= l + xo + i + yo + y i + xo yo + o y i + 1 y 0 + 1 y 1 a i ( x 2 , x l , o , y 2 , y i , y。)
= o + xi + y o + y i + o y o + o y i + x i y o + i y i + 2 y + x2 y 0 y i + o i y 2 + x o X i y o i
a 2 ( X 2 , X l , 0 , Y 2 , Y l , Ύ o )
= l + 0 H- yo + o yo + x2 y2 + x 2 y o y i + o i y 2
+ 2 Υθ Υ2 + θ Χ2 Υ2 + 2 Υ ΐ Υ2 + Χ ΐ 2 Υ2 + θ Χ ^θ Υ ΐ
+ x0 2 y i y2 + t X 2 y o y 2 + i X2 y i y2 + o X 2 y o y i
+ x o x i y o y 2 + x l x 2 y o y i + x D x i y i y 2
同様に演算 Bを 3個のブール関数
b i : { 0 , 1 } 3 x { 0 , 1} 3→ {0, 1 } ( i = 0, 1, 2 ) また、 演算 Cを 3個のブール関数
c i : {0, 1} 3→ { 0, 1} ( i = 0, 1 2 )
とすると、
b o 2, 1 , X 0 , y 2 , y 1 , y 0 )
= l + x。 y。 + x:。 y i + X i y Q + X i y i
b 1 ( 2 , x 1 , 0 , y 2 , y 1 , y 0 )
= o y i + i y o + x i y i
b 2 ( x 2 , l , 0 , y 2 , y 1, y 0 )
= 2 + y 2 + o i + y o y l + o y o y i
+ Χ0 Χ ι Υο + Χο Χ ι Υο Υ ι
C o ( X 2 , 1 , o ) = X 2 + X o X i
C 1 ( 2 , 1 , X。 ) = X。 + X 2 + X。 X 1
C 2 ( X 2 , X I , X 0 ) = Χ θ + Χ ΐ + Χ 2 + Χ θ Χ 2
のようにブール環の論理式で表すことができる (勿論、 これ等はブ —ル朿でも表すことができる) 。
そこで、 このような論理式で与えられる演算系 (Ω, A, B, C) を旧演算系とする。 第 6図乃至第 8図はそれぞれ演算 A, B, Cを 2入力 AND, 2入力 E X OR及び NOTの各ゲ一トにより組台わ 5 せ回路と して実現したもので、 何れも旧演算系の回路である。
これ等旧演算系に対して、 ( 2 ) 式〜 ( 5 ) 式を満足する符号化 { [XI ) ; ^Ω と して、 ここでは非冗長符号の例を示す。
第 9図は ( 2 ) 式〜 ( 5 ) 式を満足する数多 (この場合 23 !種) の新演算系 (Ω', Α', Β', C', Φ, Ψ) の内、 演算 Α', Β', C'の論理式が、 極力少ない変数に依存するように、 コンピュータ を利用して符号を選んだ例の図である。 ここで Ω'も 8個の要素か らなる有限集台とし、 Ω' = {ΧΌ, Χ , Χ'2, ···'", Χ'Ί) であるものとする。 更に、 この Ω'も Ωと同様にブール値 { 0, 1 } の 3個の系列で次のように符号化されているものとする。
ΧΌ = 0 0, 0} ΧΊ = 0 0 1 }
Χ、= 0 1, 0} Χ'3 = 0 1 }
Χ = 1 0, 0} 0 1}
Χ、- 1' 0} ΧΊ = 1 1 1}
このとき、 Ω'上の演算
Α' : Ω' Χ Ω'-*Ω', Β ' Ω' X Ω'→ Ω', C ' : Ω'-→Ω
の演算規則は、 それぞれ第 1 0図乃至第 1 2図に示されたものにな る。 また、 第 9図で示されている符号に対応した符号器 0の対応図 (ブール値に翻訳すれば真理値表) は第 1 3図に、 復号器 の対応 図は第 1 4図に示すようなものとなる。
更に、 Α, Β, Cと同様に、 A', B'は 6変数, C', は 3変数のそれぞれ 3個のブール関数で表せる。 Ω'上のブール値 3 個の系列の変数を (χ'2, χΊ. χΌ) , ( y '2, y Ί, y Ό) 等 で表し、 Α', B'のブール関数を i = 0, 1 , 2に対し、 それぞれ a ' if b ' ·, : { 0 , 1 } 3 x { 0 , 1! 3→ { 0 , 1 }
C', , のブール関数を i = 0 , 1 , 2に対し、 それぞれ c ' φ i : { 0 , 1 } 3→ { 0 , 1 }
と表せば、 それぞれ以下のようなブール環の論理式で表せる。 6 a o ( X ' 2 , X x 0 , y 2 , y y Ό ) = x ' y Ί
a ' i ( ' 2. X X 0 , y ' 2 , y y ' o )
= ' 2 + y ' 2 + X 2 y
a ' 2 ( '2, X ' X y 2 , y y ' o ) = 1 + x ' 0 y b '0 ( x ' 2 , X X y ' 2 y yO) = x Ό + y Ό
b' x ( x ' 2 X X y ' 2 y y ' o ) = ' z y ' 2
b '2 ( ' 2 X X y '2 y yO)
= x Ί + Ύ + X y
C ' o ( ' 2 X ' X ' 0 ) = x ' 2
C ' i ( X ' 2 X X ' 0 ) = 1 + x Ό
C ' 2 ( ' 2 , X ' 0 ) = 1 + x Ί
Φ o ( X 2, X。 ) = 2 + X 0 X
Φ ( 2 , X I , X。 ) = 1 + X o
Φ ( X 2 , x。) = 0 + X
Ψ ( X '2 , x , x ' 0 ) = 1 + X ' i
Ψ ( X ' 2 x , X ' 0 ) = 1 + x Ί + x ' 2
^2 ( X ' 2 x 0 ) = 1 + X '。 + X ' i + X + X X
第 1 5図乃至第 1 9図は、 それぞれ演算 A', B', C'及び符号 器 Φ, 復号器 を 2入力 AND, 2入力 E X OR及び NO Tの各ゲ ―トにより組台わせ回路として実現したものである。 そこでこれら の新演算系 (Ω', Α', Β'. C', Φ, Ψ) の各回路を搭載した場 合と、 第 7図, 第 8図及び第 9図の旧演算系の各回路を搭載した場 合の違いを比較するため、 各回路のトランジスタ素子数 (以下単に 素子数という) とク リティカルパスの遅延時間 (以下単に遅延時間 という) を、 AND, E XOR及び NOTの素子数と遅延時間を基 に示す
第 2 0図は、 各ゲー卜の素子数と遅延時間を、 N OTの素子数を □, 遅延時間を△として示したものである。 この第 2 0図と各回路図から旧演算系, 新演算系の各回路の素子 数, 遅延時間を示したのが第 2 1図である。 この図から分かるよう に、 旧演算系の演算器 A, B, Cに比較して、 新演算系の演算器 Α', Β', C'は素子数, 遅延時間共に大幅に削減されている。
このことは、 例えば上記の 3種の演算器が 1台ずつ搭載され、 各 演算が同じクロックサイクルで実行されるようなノィマン型の計算 機システムの場合、 旧演算系のシステムと新演算系のシステムのク ロックのサイクルタイムの比は 4 : 1となり、 新演算系のシステム の演算処理能力が旧演算系のシステムの 4倍になることを意味する。
(但し、 サイクルタイムは最も遅い演算器により決定されることを 前提とした) 。 また、 旧演算系のシステムの総素子数が 1 0 1ロで あるのに対し新演算系のシステムの演算器, 符号器及び復号器の総 素子数は 4 4□と半分以下になる。
次に、 各演算器を N個搭載し、 演算を完全に並列実行するような 非ノイマン型の計算システムの場合、 サイクルタイムの比はノイマ ン型と同じであるが、 素子数の削減効果はより顕著となる。 つまり、 新演算系の並列システムにおいて、 符号器, 復号器は並列度 Nと無 関係に 1台ずつ搭載すれば十分と考えれば、 十分大きな並列度 Nの 場台、 システムの素子数の比は、 演算器の素子数の比 ( 1 0 1 : 2 1) に近づく。 つまり、 総素子数は約 1Z 5となる。
以上のように、 Ω上の演算的に閉じた 3つの演算 A, B, Cに対 して ( 2 ) 式〜 ( 5 ) 式の 4つの条件を満足する数多くの新演算系 の中には、 高速化や素子数の削減の目的に対して有効なものが存在 することを具体的に示すことができる。 本発明における符号の定義 式 ( 2 ) 式〜 ( 5 ) 式に現れる全ての写像 Αρ, Β 及び A' p. B' q , Φ, ? は全て直接回路と対応がとれたものであるため、 この実施 例の具体的回路も容易に導く ことができる。
以上説明したように、 本発明における符号の定義 ( 2 ) 式〜 ( 5 ) 式によれば、 新演算系 (Ω', A' p, B'q, Φ, Ψ) の Ω'を
I Ω' I ≥ I Ω I となるように選び (前記実施例では I ΩΊ = I Ω 1)、 符号 { [X] } χ^α を逐次選択し、 A'p, B' qが ( 4 ) , ( 5 ) 式を満足する条件の下に所望の条件を満足するものをコンピュータ 等を利用して選んでいく。
つまり、 Ω'の選択, 符号 { [ ] } xs a の選択及び A' P, B' qの選択という 3段階の選択の自由度があり、 その自由度の中か ら満足するものを選択することにより、 少なく とも旧演算系より も 素子数及び遅延時間の両面で改善ざれた新演算系を決定することが
It) 可能となる。 なお、 上述した実施例においては、 I Ω' 1 = I Ω I とし、 その結果として各 [X] である全ての Xに対して) が 1つの要素しか有しない非冗長系について述べたが、 i Ω' I > I Ω I の場合の冗長符号及び非冗長符号の何れに対しても上述した 実施例と同様またはそれ以上 (選択の自由度が更に拡大されるため)
15 の効果を得ることができることは容易に理解することができる。
また、 上述した実施例においては、 新演算系の各演算器の変数依 存度を可能な限り少なくなるような規準で符号を選択したが、 この 規準は他の規準に置き換えても同様である。
以上、 詳細に説明したように、 本発明によれば演算的に閉じた任
20 意の旧演算系に対して少なく とも旧演算系より も任意の規準に対し て優位なる新演算系を構成することができ、 本発明の定義における 写像が具体的回路と直接対応がとれているために、 具体的ハー ドウ エアを実現することができる。
25 産業上の利用可能性
コンピュータ等の演算の高速化及び素子数の削減による低価格化 等に非常に有効である。 特に並列演算型の計算システムにおいてよ り顕著な効果を発揮する。

Claims

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

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO1991010186A1 true WO1991010186A1 (fr) 1991-07-11

Family

ID=18366783

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1990/001686 WO1991010186A1 (fr) 1989-12-28 1990-12-25 Systeme d'operations haute vitesse

Country Status (4)

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

Families Citing this family (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 演算処理装置、演算処理装置設計方法および論理回路設計方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51105245A (ja) * 1975-03-13 1976-09-17 Nippon Musical Instruments Mfg
JPS53148234A (en) * 1977-05-30 1978-12-23 Fujitsu Ltd High-speed multiplication and division system between image data
JPS5469039A (en) * 1977-11-14 1979-06-02 Hitachi Denshi Ltd Multiplier/divider
JPS5547540A (en) * 1978-09-28 1980-04-04 Tech Res & Dev Inst Of Japan Def Agency Anti-logarithm adding circuit of logarithm

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4336468A (en) * 1979-11-15 1982-06-22 The Regents Of The University Of California Simplified combinational logic circuits and method of designing same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51105245A (ja) * 1975-03-13 1976-09-17 Nippon Musical Instruments Mfg
JPS53148234A (en) * 1977-05-30 1978-12-23 Fujitsu Ltd High-speed multiplication and division system between image data
JPS5469039A (en) * 1977-11-14 1979-06-02 Hitachi Denshi Ltd Multiplier/divider
JPS5547540A (en) * 1978-09-28 1980-04-04 Tech Res & Dev Inst Of Japan Def Agency Anti-logarithm adding circuit of logarithm

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0507946A4 *

Also Published As

Publication number Publication date
CA2072254A1 (en) 1991-06-29
EP0507946A1 (en) 1992-10-14
JPH03201114A (ja) 1991-09-03
EP0507946A4 (en) 1993-09-01

Similar Documents

Publication Publication Date Title
Kang et al. Digit-pipelined direct digital frequency synthesis based on differential CORDIC
Sasao et al. Numerical function generators using LUT cascades
Fabricius Modern digital design and switching theory
US5007009A (en) Non-recovery parallel divider circuit
Vinod et al. A MEMORYLESS REVERSE CONVERTER FOR THE 4-MODULI SUPERSET {2n-1, 2n, 2n+ 1, 2n+ 1-1}
Molahosseini et al. New arithmetic residue to binary converters
Meehan et al. An universal input and output RNS converter
Chandra A novel method for scalable VLSI implementation of hyperbolic tangent function
Villalba et al. Radix-2 multioperand and multiformat streaming online addition
WO1991010186A1 (fr) Systeme d&#39;operations haute vitesse
Valls et al. Efficient mapping of CORDIC algorithms on FPGA
Persson et al. Forward and reverse converters and moduli set selection in signed-digit residue number systems
Chren Jr Low delay-power product CMOS design using one-hot residue coding
Vinod et al. A Memoryless Reverse Converter for the 4-Moduli Superset {2 [sup n]-1, 2 [sup n], 2 [sup n]+ 1, 2 [sup n+ 1]-1}.
Daumas et al. Further reducing the redundancy of a notation over a minimally redundant digit set
Astola et al. New digit-serial implementations of stack filters
Alfredsson VLSI architectures and arithmetic operations with application to the Fermat number transform
Dawid et al. High speed bit-level pipelined architectures for redundant CORDIC implementation
Aoki et al. High-radix parallel VLSI dividers without using quotient digit selection tables
JPH063578B2 (ja) 演算処理装置
RU2751802C1 (ru) Умножитель по модулю
Arnold et al. Under-and overflow detection in the residue logarithmic number system
RU2739338C1 (ru) Вычислительное устройство
Conway et al. New one-hot RNS structures for high-speed signal processing
Bashagha et al. A new high radix non-restoring divider architecture

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE

WWE Wipo information: entry into national phase

Ref document number: 2072254

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1991900925

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1991900925

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1991900925

Country of ref document: EP