JPH0444287B2 - - Google Patents

Info

Publication number
JPH0444287B2
JPH0444287B2 JP61301940A JP30194086A JPH0444287B2 JP H0444287 B2 JPH0444287 B2 JP H0444287B2 JP 61301940 A JP61301940 A JP 61301940A JP 30194086 A JP30194086 A JP 30194086A JP H0444287 B2 JPH0444287 B2 JP H0444287B2
Authority
JP
Japan
Prior art keywords
cell
bit
bits
accumulator
fractional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP61301940A
Other languages
English (en)
Other versions
JPS62202232A (ja
Inventor
Aaru Katsupero Piitaa
Eru Mirankaa Uiraado
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS62202232A publication Critical patent/JPS62202232A/ja
Publication of JPH0444287B2 publication Critical patent/JPH0444287B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/485Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • G06F7/5095Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators word-serial, i.e. with an accumulator-register
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/388Skewing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining
    • G06F2207/3892Systolic array
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49936Normalisation mentioned as feature only
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 本発明を以下の順序で説明する。 A 産業上の利用分野 B 従来技術およびその問題点 C 問題点を解決するための手段 D 実施例 D−1 実施例の概要 D−2 実施例の説明 ビツトスキユア シーブ Aパイプライン 正規化領域 送 出 符号つき加算 指定丸め 保持累算モード E 発明の効果 A 産業上の利用分野 本発明は、浮動小数点数の和を高スループツ
ト、かつ高精度で反復して演算するための加算装
置に関するものである。 B 従来技術およびその問題点 浮動小数点演算は、科学計算にとつて必須であ
る。4種の基本的な浮動小数点演算□+、□−、□×お
よび□/は長い間デイジタル・コンピユータの演算
装置の一部であつた。今日、科学技術用のプロセ
ツサは、それがどんな形態であれ(純粋なハード
ウエア、副プロセツサ・ハードウエア、マイクロ
コード化された装置等)浮動小数点演算を高速に
実施できる。 実数の対について行なわれる正確な算術演算
+、−、×および/に対する近似として、浮動小数
点数の対について浮動小数点演算、□+、□−、□×お
よび□/を、行なうと、コンピユータの精度の最後
の桁まで正確な結果が出る。もちろん、これは、
コンピユータ上で丸め演算子□および浮動小数点
演算装置が適正に実現されていることが前提にな
つている。しかし、浮動小数点演算を組み合わせ
る場合、a□+b□+cといつた初歩的な計算の場合
でさえ、結果の相対誤差が、コンピユータで表現
可能な最大の浮動小数点数と同じ位大きくなる場
合がある。科学計算では、実数の他に複素数、ベ
クトル実数と複素数の行列などの、いわゆる高次
データ形式の計算を行なう。そのようなデータ形
式の基本演算は、a□+b□+cのような式を含む。
実際、これらの基本演算はn個の浮動小数点数の
内積□・を含む。したがつて、浮動小数点演算□+、
□−、□×および□/が可能な最良の実現形態による場
合でも、科学計算のこれらの基本演算で十分な結
果が得られないことがある。 1981年アカデミツク・プレス(Academic
Press)社発行の「コンピユータ演算の理論と実
際(Computer Arithmetic in Theory and
Practice)」で、U.W.クリシユ(Kulisch)とW.
L.ミランカー(Miranker)が記載している、新
しい浮動小数点演算理論は、科学計算の精度に対
するこの限界から脱け出す1つの方法を示してい
る。基本的には、従来の4つの浮動小数点演算
に、内積と呼ばれる5番目の浮動小数点演算を追
加することにより、あらゆる高次データ形式の科
学計算における全ての浮動小数点演算において実
数の対に関する浮動小数点演算で可能な最高度の
コンピユータ精度を実現することができる。この
意味で、そのような演算の結果は、理想的な最高
精度の結果に最も近いデータ形式である。 浮動小数点数の2つのベクトル、x=(xi、…
…、xN)およびy=(yI、……yN)が与えられて
いるとして、演算□・は次のように定義される。 x□・y=(Ni=1 xiyi) すなわち、x□・yは、まずNi=1 xiyiを正確に計算
し、次にその和を一度丸めて得られる、浮動小数
点数である。x□・yは、1回の丸め操作で表わさ
れる情報の喪失と等価な精度で、正確な内積Ni=1 xi
yiを表わす浮動小数点数であると言うことができ
る。 このような演算は、上記に引用したクリシユお
よびミランカーの刊行物に記載されている反復ア
ルゴリズムによつてシミユレートすることができ
る。これらのアルゴリズムの並列形のものも研究
されている。これは、1982年発行の「コンピユー
テイング(computing)」誌第28号、H.リユープ
レヒト(Leuprecht)等の「浮動小数点数の正確
な加算を丸めるための並列アルゴリズム
(Paraller Argorithm for the Rounding Exact
Summation of Floating Point Numbers)」に
記載されている。一層高い性能を実現するための
ハードウエア装置も考案された。これは、1983年
アカデミツク・プレス社発行の、U.W.クリシユ
およびW.L.ミランカー編(科学計算のための新
手法(A New Approach to Scientific
Computation)」、G.ボーレンダー(Bohlender)
等の「最適演算のハードウエア装置の特徴
(Features of a Hardwave Implementation
of an Optimal Arthmetic)」に記載されてい
る。このハードウエア装置は、いわゆるロング・
アキユムレータを備える。この後者の手法は、5
番目の浮動小数点演算□・ができる市販のプロセツ
サ(たとえばIBM4361)において、マイクロコ
ード化された補助手段を使つてほぼ実現されてい
る。 正規化された浮動小数点数x(符号−絶対値表
示)は、次の形の実数である。 x=σmbe ただし、σε{+、−}は、数(符号(x)の符
号、mは小数部(mant(x))であり、bは使用
する数体系の基数、eは指数(exp(x))であ
る。bは1よりも大きい整数である。指数は2つ
の固定整数限界e1、e2間の整数であり、通常e1≦
0<e2である。小数部mは次の形式をとる。 m=ei=1 d〔i〕b-i d〔i〕は降順に番号をつけた小数部の桁であ
る。これは、次の特性を有する。全てのi=1(1)
lについて、d〔i〕ε{0、1、……b−1}、
かつd〔1〕≠0。条件d〔1〕≠0がない場合、こ
れは非正規化浮動小数点数と呼ばれる。正規化浮
動小数点数の集合は、ゼロを含まない。ゼロを一
義的に表現するため、符号(0)=+、mant(0)
=0.00……0(基数点の後にゼロがl個)、および
exp(0)=e1と仮定する。浮動小数点系は、定数
b、l、e1、e2によつて決まり、以後R=R(b、
l、e1、e2)で表わすことにする。 正規化浮動小数点数のベクトルをx=(xi、…
…xN)およびy=(y1、……yN)とする。 (l zeros after the radix point)and exp
(0)=e1.A floating−point system depends
on the constantsb l、e1、and e2、and will
be hereinafter denoted by R=R(b、l、e1、
e2). Let x=(x1、……xN)and y=(y1、……、yN
be vectors of normalized floating−point
numbers.Let xi=σximxibexi、yi=σyimyibeyi、 i=1、……、N. Let zi=σzimzibezi、 where σzi=σxiσyi、mzi=mximyi、 ezi=exieyi、i=1、……N. Then ziεR(b、2l、2e1、2e2). Moreover x□・y could be computed if FLIP=□Ni=1 zi could be determined.Here,it is noted that
□ is needed to map R(b、2l、2e1、2e2)
→R(b、l、e、1、e2). xi=∂ximxibexi、 yi=∂yimyibeyi(i=1、……、N) と置く。 Zi=∂zimzibezi と置く。 ただし、 ∂zi=∂xiyi、mzi=mximyi、 ezi=exieyi、(i=1、……N) である。 したがつて、ZiεR(b、2l、2e1、2e2)。 さらに、 FLIP=□Ni=1 Zi が決定できれば、×□・yが計算できる。ここで、
R(b、2l、2e1、2e2)→R(b、l、e1、e2)の
写像を行なうために□が必要なことに留意された
い。 以上の如く、従来の浮動小数点演算装置は、ス
ループツトおよび精度の点でまだ問題がある。 C 問題点を解決するための手段 したがつて本発明の目的は高スループツト、高
精度で浮動小数点数の和を計算するための加算装
置を提供することにある。 この目的を達成するため、各々指数部および小
数部を有する浮動小数点被加数についての和を計
算するための本発明の加算装置は、(a)被加数の指
数部の値を決定する指数部デコード手段と、決定
された指数部の値に応答して該被加数を固定小数
点に対応する出力位置に振り分ける手段と、その
出力の前に異なる被加数の小数部を組合せる組合
せ手段と、を有する振り分け手段と、(b)該振り分
け手段から出力を受け取つてこれを累算し、該累
算された和を浮動小数点形式に変換する累算手段
と、を有することを特徴としている。 以下、本発明の作用を実施例と共に説明する。 D 実施例 D−1 実施例の概要 したがつて、本実施例の一目的は、高スループ
ツト、高精度で浮動小数点数の和を計算するため
の加算装置を提供することにある。 本実施例の他の目的は、ハードウエアの複雑さ
を最小限にしたコンパクトな設計で、そのような
加算装置を提供することにある。 要約すれば、本実施例のこれらの目的およびそ
の他の目的は、「シーブ(sieve)」とアキユムレ
ータ・パイプラインを組み合わせて達成される。
アキユムレータ・パイプラインは、第1レベルの
アキユムレータα0、たとえば、固定小数点形式
で、少なくとも被加数入力の全範囲の値を収容で
きる長さの、スーパー(ロング)アキユムレータ
を備える。シーブとは、被加数をそれらの指数部
の値に応じて分類し、各被加数の小数部をアキユ
ムレータの適当な位置に振り分ける論理ネツトワ
ークのことである。すなわち、シーブとは各被加
数の小数部を構成する各ビツトをアキユムレータ
の適当な位置に振り分けるふるいのようなもので
ある。したがつて本明細書においてこの「シー
ブ」のことを、「ふるい」又は「振り分け部」の
ようにいうこともある。累算された和は、次に和
を正規化するためシフトされ、同時に浮動小数点
表示に符号化される。次に、所望の丸め技法に従
つて丸めが実行される。 装置全体はパイプライン式で、かつセル式であ
り、被加数は直並列の順序で到着し、各指数部の
各ビツトが順次検査される。これは、それぞれの
指数部の値に対応する被加数のレベルを有する指
数部復号領域で実行され、指数部復号領域の各レ
ベルは、複数のビツト比較機構を備えている。各
指数部復号レベルの各ビツト比較機構は、スキユ
ーされた指数部群が指数部復号化領域を通過する
とき、そのそれぞれの各ビツトを同時に検査す
る。何れかのレベルが完全な指数部について連続
した一致を検出したとき、「適合」信号が出る。 シーブはさらに、「落下」領域および「傾斜」
領域を含むセルの行列を含んでいる。小数部ビツ
トは、直並列にスキユーされており、指数部が復
合されるまで、落下領域を上から下へと通過す
る。被加数の指数部が復号されるとすぐに、対応
する小数部のアキユムレータ内での適正な位置が
知られ、小数部は、アキユムレータ内のその位置
に到達するように、傾斜領域を通つて斜め方向に
移動し始める。 ある時点で、小数部のなかにシーブ中を垂直に
下降するものと、斜めに移動するものが必ずある
場合、小数部ビツト間の衝突がしばしば起きる。
各小数部のビツトを別々に処理するには、セル構
造は、特にシーブの低いレベルでかなり複雑にな
らざるを得ない。この問題を克服するため、本実
施例で用いるシーブには、信号の組み合せすなわ
ち「合体」機能が設けられている。これは、衝突
する小数部を、ある場合には組み合わせることに
よつて、処理しなければならないビツト総数を減
少させるものである。たとえば、シーブ中でそれ
ぞれ垂直移動および斜め移動を続ける間に互いに
衝突したビツトは、アキユムレータ内の異なる位
置に向かうことになつているので、合体されずに
送られる。しかし、斜め経路をたどる1つのビツ
トと垂直経路をたどるもう1つのビツトが、2番
目のビツトが垂直移動から斜め移動に移る瞬間に
あるセル内で衝突すると、これら2つのビツト
は、アキユムレータ内の同じ位置に向かうことに
なり、精度を損なうことなく直ちに加算できる。
次に、和のビツトは同じ斜め経路上を動き続け、
一方、繰上りビツトはアキユムレータ内のより上
位のビツト位置に向かう並行経路をたどる。他の
小数部ビツトと衝突する和のビツトおよび繰上り
ビツトを合体させる手段をも設けることにより、
セルの構造を簡単にすることができる。 装置の容量を大幅に増大させるため、シーブお
よびアキユムレータは円筒状に構成され、円筒状
アキユムレータのそれぞれの部分の上方に、複数
の落下領域が設けられる。この落下領域は、それ
ぞれ、円筒の回りの落下領域の円周位置に対応す
る異なる順序で指数部を復号する、各指数部復号
領域を有する。シーブのセルは、垂直に移動する
「落下」小数部ビツトと斜めに移動する「ころが
り」小数部ビツトが同じセルを通過できるように
設計されている。 アキユムレータ内で、浮動小数点表示の和が装
置から出る前に、繰上げの清算、正規化、符号化
および丸めを終了するため、数クロツク・サイク
ルを要する場合もある。したがつて、アキユムレ
ータのスタツクを設けることにより、アキユムレ
ータは「パイプライン化」されている。浮動小数
点和が、その和の最後の被加数の最終ビツトの後
でアキユムレータに到着する和終端信号で示され
るように、第1のアキユムレータ内で完成する
と、第1のアキユムレータの内容は、繰上げの清
算、正規化および符号化を継続しながら、パイプ
ラインの次のアキユムレータ内へシフトされる。
サイクルごとに、アキユムレータ・パイプライン
を通過する移動が継続し、一方、パイプライン内
の第1のアキユムレータは再初期設定されて、次
の和の小数部を累算し始める。完成した和の浮動
小数点表示が装置を離れる準備ができると、アキ
ユムレータ・パイプラインを通つて垂直に和離脱
領域に送られる。和は装置に入るときとは異なる
順序で完成されることがあるので、タブが各和に
割り当てられ、その和に付随して装置内を通過す
る。 以下、図面を参照しながら実施例を詳細に説明
する。 D−2 実施例の説明 以下の説明では、FLIPをハードウエアで実現
するための設計を提示する。ここでは便宜上、2
進演算の場合のみを考える。すなわち、b=2で
ある。さらに、M=2l、C=〔2+log2|e1|+
log2e2〕であると仮定する。ただし、〔i〕はi
の整数部分を示す。すなわち、2進浮動小数点Zi
はM個の小数部ビツトを有し、またC個の指数部
(指数)ビツトを有するものと仮定する。 この設計を提示するに当つて、まず、数Ziは符
号が付いていないものと仮定すると好都合であ
る。数Ziの符号が付いていないということは、実
際の内積の被加数を2つの部分和(すなわち、正
の被加数に対する部分和と負の被加数に対する部
分和)に分離することに等しい。したがつて2つ
の対応する和を別々に決定し、それらの結果を組
み合わせる。最初に設計の概要、次に設計の詳細
を説明し、最後に、改良および拡張、すなわち、
符号つき加算、指示された丸め、および累算モー
ドについて論じる。 この説明で使用する計算モデルは、たとえば、
1979年4月発行の「計算理論に関する第11回年次
討論会議事録」に所載のC.D.トムソン
(Thomson)の“Area−Time Complexity for
VLSI”、1981年7月発行のJACM第28巻、第3号
所載のR.Pブレント(Brent)等の“The Area
−Time Complexity of Binary
Multiplication”、および、1981年にメリーラン
ド州、ロツクビルのコンピユータ・サイエンス・
プレス(Computer Science Press)社から発行
された、H.T.クング(Kung)等編、“VLSI
Systems and Computation”に所載のG.ビラル
デイ(Bilardi)等の“A Critique and an
Appraisal of VLSI Moddels of Computation”
に記載されているVLSIの同期モデルである。(後
段で明らかなように、本発明の最終段階の性能を
増大させるための手段は、実際は、このアーキテ
クチヤを非同期にする。しかし、この非同期性は
セル・レベルのものではない。)また、本実施例
では、ベクトルπ=(M、C)によつてパラメー
タ表示される一群の機能および回路を扱う。 先に進む前に、次の項目を定義する。 回路の機能的待ち時間とは、関数fの1回の計
算ごとに、あるポート上での最初の入力ビツトの
出現からあるポート上での最後の出力ビツトの出
現までの間の時間であり、Tfで表わす。これは、
「動作速度」という用語の通常の使用法と一致す
る。たとえば、「100ナノ秒」の乗算器は、被乗数
の最初の入力ビツトの出現から積の最後の出力ビ
ツトまでの間に100ナノ秒が経過することを意味
する。 2つのセルの空間的分離が0(1)であるとき、こ
の2つのセル間の直接的連絡はセル式である。設
計中の全てのセルがセル式連絡のみを使用する場
合、この設計はセル式である(1970年、イリノイ
州、ウルバナのイリノイ大学出版部発行の、A.
W.バークス(Burks)編、「セル式オートマトン
に関する論文集」に記載されているセル式オート
マトンの如きものである)。 本発明の装置は、待ち時間の改善よりも主とし
て高スループツトを達成することを意図してい
る。この目的には、2つの理由が関連している。
第1に、短い待ち時間でなく、高スループツト
が、この装置を使用するアプリケーシヨンの1つ
の要件であると考えられること、第2に、高スル
ープツト設計は一般に、VLSIおよびプリント基
板技術に十分適したセル式連絡を使つて達成でき
ることである。 このように高スループツトと実現化という問題
は、部分的には技術上の制約から生じるものなの
である。さらに、本発明の装置は、高度並列プロ
セツサ環境で使用されるものと予想される。多く
のプロセツサは、その内積が必要とされるベクト
ル対の大きな流れを演算装置が生成して、動作す
ることができる。それが決定のために本発明の装
置に送られる。本明細書で説明するように、本発
明の装置は、内積の重要な加算部分のみを実行す
る。もちろん、初歩的な積を実行する機能を付加
することもできる。本実施例の装置はセル式であ
り、極めて長い(すなわち、スーパー)アキユム
レータを使用するので、「短縮式スーパー加算装
置」ともいう。 次に、第1図を参照しながら、この設計の概要
を示す。被加数を表わす浮動小数点数のブロツク
R(2、M、e1、e2)が、並列したビツトの形で
短縮式スーパー加算装置10に到着するものと仮
定する。装置をご破算して初期設定するため、ゼ
ロ浮動小数点数がブロツクの終りに付加されてい
る。各ブロツクは、到着したときタグを受け取
る。タグは、加算過程と歩調を合わせて装置に沿
つたタグ・チヤネル12を流れ下だる。このよう
にして、R(2、l、e1、e2)で表わされる数で
ある完成した和は、それぞれ装置から出るときタ
グを付けられる。実際には、アナリスト小数部長
さを<Mという装置パラメータにすることがで
きる。したがつて、完成した和は、R(2、、
e1、e2)で表わされる数である。 被加数は、入力されると、ビツト・スキユア1
4を通つて流れ、そこから直並列に出て、シーブ
16でセル式動作を行なう。スキユーされた被加
数が、シーブ16に入る。シーブ16に入つた最
後の被加数の後に、ビツト18、すなわち和終端信
号が続く。以下では、この信号を∂ともいう。シ
ーブ16は、信号の組合せによる短縮式パケツト
交換網である。入つてくる被加数の小数部は、シ
ーブの最上部の入口から最下部の適切な位置に振
り分けられる。このような切換えの経路は、被加
数の指数(すなわち、指数部)によつて決まる。
適切に振り分けられた被加数小数部は、シーブか
ら出て、アキユムレータのAパイプライン20に
入る。このパイプライン内のアキユムレータは、
順にα0、α1、……、αp+1と表わす。これらのアキ
ユムレータは、各小数部をそれがあたかも固定小
数点数であるかのように、収容することができ
る。シーブは、いわば、α0中での被加数の加算に
ついての適切な固定小数点位置を決定するための
シフト装置である。α0は、長さM+2Cビツトの、
スーパー(ロング)アキユムレータである。実際
は、α0ならびにAパイプライン内の他の全てのア
キユムレータの左側(最高位端)に、数個、たと
えば、F個のあふれビツト位置が付加される。 和は、アキユムレータα0内で累算される。和終
端信号18が、アキユムレータα0の内容を、次の
アキユムレータα1に押し進める。したがつて、α0
は初期設定され、シーブから出てくる次の和を受
け入けられる状態となる。アキユムレータα1
で、必要ならば、加算の繰上げ清算過程が続行さ
れる。これが、和の符号化と組み合わされて、R
(2、、e1、e2)で表わされる浮動小数点数に
なる。すなわち、新しい和が到着して、前の和を
Aパイプラインの下方に押し進めるとき、前の和
はその繰上げ清算、先行ゼロのシフトアウト(正
規化)、指数の再符号化、さらに、最後に丸めを
終了している。これらは、すべて同時に行われ
る。 スーパー加算装置に入るときの順序と全く異な
る順序で和が完成することもあるので、Aパイプ
ライン20は、和終端検出能力を備えている。完
成した和が検出されるとすぐ、その和はAパイプ
ライン中を下降して、装置から送出される。完成
した和が、まだ進行中の他の和の中を通り過ぎて
いくことがある。この早期の和の送出機能により
この過程が非同期化される。和に対するタグづけ
が導入されるのは、このためである。識別ポイン
タ(タグ)は、各被加数ブロツクと共に装置に入
る。タグは、加算過程と歩調を合わせてタグ・チ
ヤネル12中を流れ、和が装置から送出されると
き、和に随伴する。 シーブ16への和の入口は、シーブのM+2C
ツト幅のうちMビツト分しかない。したがつて、
好ましい実施例の設計は、入口の容量が増加する
ように修正されている。シーブは、第2図に概略
的に示すいわゆる円筒形シーブに拡大される。幅
Mの各分離帯が、シーブ16への入力ポートにな
り、したがつてそのスループツトが増加する。そ
の結果得られるパケツト交換および信号組合せプ
ロトコルは、より複雑であり、その調整が本実施
例の再重要部分である。 以下、本実施例の各構成要素を順に説明する。 ビツト・スキユア 被加数は、c1、c2……cCm1m2……myで表わさ
れる。ただし、cIjCは指数部ビツトの値であ
り、mI≦jMは小数部ビツトの値である。従来
と同様、これらのビツトに降順に番号を付ける。
入力を単にビツト・ストリングw1、w2……wW
c1c2……cCm1m2……mMと考えると、便利なこと
がある。ただし、 W=C+M。 本明細書では異なる被加数を区別するために、
添字iを使用する。すなわち、wijはi番目の被
加数のj番目のビツトを表わす。cijおよびmij
表記も、同様の意味を表わすものとする。 第3図に示すように、被加数は、ビツト並列に
到着するものと仮定する。本実施例では、被加数
ビツトが直並列(ビツト並列であるが、時間的に
はスキユーされているもの)であることが必要と
される。この設計は、純粋にセル式の連絡という
目的に適合している。したがつて、最初のタスク
は、被加数ビツトを時間的にスキユーすることで
あり、その結果、シーブ16へのその入力は、第
4図に概略的に示すように、直並列である。(た
だし、本発明のスーパー加算装置を使用する過程
が、被加数を既に直並列形式で生成している過
程、たとえば、被加数がパイプライン式乗算器で
積を生成する内積計算における個々の積である場
合には、このビツト・スキユアを省略できる。) スキユア装置14を、第5図に概略的に示す。
スキユアの2種類の設計をここに開示する。第1
のものは同報通信を使用する。この設計は次に、
セル式連絡のみを使用する設計に変形される。第
1のスキユアのセル・ダイヤグラムを、第6図に
示す。ビツトwjはjサイクルだけ遅延される。
黒いセルは遅延を表わし、白いセルは、第7図に
示すように、その入力を遅延なしに出力する。一
般的なセル・アレイの色分けは、次の通りであ
る。 セルijは、1≦i≦j≦Wの場合に黒 セルijは、1≦j≦i≦Wの場合に白 ただし、iは第6図の行を表わし、jは列を表
わす。すなわち、セルの正方形アレイの上部三角
形は黒、主対角線の下側のセルは白である。黒い
セルは、次のように動作する。 w(t) out←w(t−1) in 白いセルは、次のように動作する。 w(t) out←w(t) in 〓で表わすこの設計では、セルi,i-1は、その値
を白いセルを経てセルi,wに同報通信し、したがつ
て、白いセルは単に線と考えることができる。j
列目のセル列を通るビツトwjの移動の空間−時
間図を、第8図に示す。 同報通信設計〓は、線形変換Tによりセル式設
計に変換される。j列目のセル列を通るビツト
wjの移動について、この変換の結果を第9図に
示す。第6図のセル・ダイヤグラムが、このスキ
ユアをも表わすことができる。ただし、黒い点は
2サイクルの遅延を表わし、白い点は1サイクル
の遅延を表わす。こうして、同報通信がセル式連
絡に変換される。このことは、第9図の空間−時
間図から明らかである。この場合、伝送線が決し
て時間に対して垂直にならないことが、この図か
らわかる。 シーブ ビツト・スキユーイングの後、次のタスクは、
小数部を、第1図のスーパー・アキユムレータα0
の適切な位置に振り分けることである。この位置
は、被加数の指数部によつて決定される。たとえ
ば、最小の指数部を有する被加数は、スーパー・
アキユムレータα0の最下位部分、すなわち、スー
パー・アキユムレータの一番右側のMビツトに入
力される。 小数部振分けの1つの方法は、第10図に示す
ように、樹木ネツトワークを用いたパケツト交換
によるものである。最下位の指数部ビツトが1の
場合、小数部は樹木の左側の枝を下方へ送られ、
そうでない場合は、右側の枝を進む。2段目は、
上位から2番目の指数部ビツトにもとづいて小数
部を送るため使用され、以下同様にして最下位の
指数部ビツトが検査され、スーパー・アキユムレ
ータ内の小数部の正確な位置が決定されるまで、
この過程が続行される。本発明の好ましい実施例
では、この体系はセル形ではないので、使用しな
い。樹木状分配には、O(1)でない線が必要であ
り、それは実際には数チツプにまたがることにな
る。 本実施例で使用する別の方法は、シーブのアナ
ログ計算である。被加数は、寸法と色が異なるビ
ーズとみなすことができる。ビーズの色が、被加
数の小数部に相当する。2M種の異なる色がある
(これについては後段で論じる)。ビーズの重量
が、被加数の指数部に相当する。シーブでビーズ
を分類し、同重量のものを同じバスケツト(スー
パー・アキユムレータにおける同じ位置)に入れ
る。これを実行する1つの方法を、第11図で
は、寸法が増大していく孔24を有する傾斜部2
2として概念的に示した。各ビーズは、それを収
容するのに十分な大きさの最初の孔に達するま
で、傾斜部をころがり下りる。その孔に達する
と、ビーズは、その寸法のビーズ用のバスケツト
にまつすぐ落下する。このシーブ設計は、全ての
ビーズが均質な材料の球形のかたまりであり、し
たがつて、ビーズ重量がその直径と共に増加する
という仮定にもとづいている。 ところで、ビーズの重量はその寸法によつて間
接的に測定するより直接測定した方が好都合であ
ることがわかつた。したがつて第12図に概略的
に示すこの方式に基づくシーブでは、移動の順序
が逆になつている。ビーズは、まずトラツプ・ド
ア26の列を通つてまつすぐ下降する。トラツ
プ・ドアは、開くのに要する力が順に大きくなつ
ている。最も重いビーズは、全てのドアを通つて
下降する。最も軽いビーズは、1番上のトラツ
プ・ドアを通つて下降するにも軽すぎる。こうし
て、このトラツプ・ドアの列によつて、ビーズの
重量が決定される。ビーズがトラツプ・ドアを通
つて落下するには軽すぎるときは、ビーズは右側
の傾斜部28の方へころがり、適切なバスケツト
(すなわち、スーパー・アキユムレータα0内の適
正な位置)に至る。 いずれにせよこの2種のシーブにとつて、ビー
ズの重量を決定する装置が是非とも必要である。
これが、指数部復号の目的である。すなわち、被
加数の絶対値を判定し、それによつて、適切な
「バスケツト」に至る「傾斜部」を決定すること
である。各トラツプ・ドアに対応するものが、指
数部の値である。C個の指数部ビツトがあるの
で、2C個の異なる「ビーズ重量」、「トラツプ・ド
ア」、「傾斜部」、および「バスケツト」がある。
さらに、本実施例によれば、ばねの張力が順次増
大していくトラツプ・ドアの列を通つてビーズが
落下し、そのばねの張力が大きすぎる最初のトラ
ツプ・ドアに出会うとそのビーズは停止する。そ
れに類似の形で、被加数は、その指数部を値が順
次増大していくトラツプ・ドア列を一致が見出さ
れるまで通過していく。この計算の様子を第13
図に示す。各指数部が、トラツプ・ドアのばね
張力に対応するビツト(以下では、分類ビツト
と呼ぶ)と比較される。全てのビツト比較が一致
した場合にのみ、指数部はトラツプ・ドア、すな
わち、対応する絶対値の序列に一致する。そのよ
うな体系を、第14図に示す。シーブの段に1番
上から順に、i=0、……、2C−1と番号を付け
ると、i番目の分類ビツトはdij、j=0、……、
C−1となる。dijは、iの2進展開のj番目の
ビツトである。第14図に示すC次のANDは、
個々の指数部ビツトの比較結果を同報通信するこ
とを暗示するので、避ける方が賢明である。実
際、被加数をスキユーする1つの理由は、セル式
の指数部を復号できるようにすることである。第
13図のトラツプ・ドア・パイプラインの最上部
に指数部ビツトが到着するのは、時間的にスキユ
ーされており、これを利用して、トラツプ・ドア
のセル・ダイヤグラムを、第15図のようにする
ことができる。指数部ビツトは、トラツプ・ド
ア・セル30を通つて垂直に流れ、各セル30は
受け取つた指数部ビツトをその分類ビツトと比較
し、それが一致し、かつ正確な適合標識をすぐ左
側のセル30から受け取つた場合に、正確な適合
標識を出す。したがつて、正確な適合標識(f)は水
平に累算される。個々のトラツプ・ドア・セルは
第16図のようにしてもよく、その動作は次の通
りである。 c(t) out←c(t−1) in f(t) out←f(t−1) in∧(c(t) in=d) セル1については、fio1 全ての出力変数の時間の指標は、入力変数の時
間の指標より1だけ多い。直並列体系では一般に
そうである。したがつて、ここでの入力−出力方
程式では、時間の指標は以後省略することにす
る。 セルCの適合標識fputは、全ての指数部ビツトが
それに対応する分類ビツトと一致する場合にの
み、“1”である。これは、指数部ごとにちよう
ど1つの絶対値の序列がある場合に生じる。この
時点で指数値が重量測定され、すなわち復号さ
れ、その「重量」、「傾斜部」、および「バスケツ
ト」が識別されている。この復号手順は、パケツ
ト交換プロトコルの一実現形態であり、パケツト
w1……wWがその交換アドレスc1……cCとその情
報m1……mMに分割される。 ビーズの重量決定すなわち指数部の復号につい
ての上記の考察で、第1図のシーブ16の指数部
復号領域32で行なわれる過程がうまく説明され
る。第1図の落下領域34は、指数部が復号され
て、適当な傾斜部が見つかるまで、小数部が通過
するシーブの部分に相当する。以上説明した実施
例では、落下領域34は、アキユムレータα0の一
番左側のMビツトの真上にある。指数部は、分類
がすんだので、次に、アキユムレータα0内のその
適切な位置に向かつて当該の傾斜部をころがり下
り始めなければならない。次に、この方向転換に
ついて詳細に説明する。 ビーズの2つの基本特性は、その寸法と色、す
なわち、被加数の指数部と小数部である。傾斜部
自体は以前に決定された指数部情報を考慮するの
で、小数部のみが傾斜部を「ころがり」下つて、
スーパー・アキユムレータα0に入る。 色、すなわち、小数部情報を伝達するセルは、
次のように動作する。 入つてきた小数部が傾斜部をころがり下りる場
合、(すなわち、斜めに下降する場合、)傾斜部を
下降し続ける。そうでない場合は、まつすぐに落
下する。適合標識がオンの場合、(このビーズが
軽すぎて通過できない最初の「トラツプ・ドア」
という意味)色はその傾斜移動を開始し、そうで
ない場合は、まつすぐ下降し続ける。 適合標識fは、ちようど「ころがる」時間であ
ることを示し、小数部がそのバスケツトに到達す
るまでころがり続ける。この挙動の変り目を決め
るのに必要な変数は、次の通りである。 fε{継続(0)、切換え(1)}:適合標識; mSε{0、1}:落下する小数部の小数部ビツ
ト変数; mrε{0、1}:ころがる小数部の小数部ビツ
ト変数。 上述の各プール変数には、それぞれ入力(in)
バージヨンと出力(out)バージヨンがある。シ
ーブのどのセルでも、mSとmrのうちの一方だけ
が小数部ビツトを有する。第17図は、上記基準
に従つて働くシーブ・セルの概略図である。第1
図の傾斜領域36はセルの行列38から構成され
る。 次に、挙動が変更される時間に注目する。C=
2およびM=3の場合について挙動の変更を表わ
す体系を、第18図に示す。第18図の指数部復
号領域32の各セル30は、第16図に示す通り
であり、第18図の傾斜領域36内の各セル38
は、第17図に示す通りである。第18図のセル
30、についてfio=1となるある時刻iから説明
を始める。時刻iでセル301が一致を示すこと
から、時刻rでのセル301からのfputが「1」に
なる。時刻i+1でセル302が一致を示すことから、
時刻i+1でのセル302からのfputが「1」になつ
て、指数部の一致を示す。これは、次のステツプ
から始まる挙動の変更を各小数部ビツトに知らせ
る。時刻i+2で、一番左側の小数部ビツトm1がセ
ル381のころがり出力mroutに供給され、「ころ
がり」信号が同じ行の次のセル382の入力fio
供給される。1つの被加数の全ての小数部ビツト
がころがるまでこの過程が継続し、全ての小数部
ビツトがころがるとき、それらは垂直方向に揃
い、斜めに移動して、方向転換は完了する。 「色」セル、すなわちシーブ領域のセルの挙動
は、そのブール変数を使つて正確に説明すること
ができる。 fput←fio 適合標識が「偽」の場合、msは下方に伝達さ
れる。 mr put←ms ioio 傾斜移動が既に始まつている場合は、それが継
続する。適合標識「真」の場合は、傾斜移動が始
まる。 mr put←mr io∧(ms io∧fio) 上記の考察では、小数部ビツトの挙動の変更
を、あたかも被加数が一度に1つずつシーブを通
つて移動するかのように扱つた。実際には、シー
ブはパイプライン化されており、第4図に示すよ
うに、被加数は次々にシーブ中を通つて進む。こ
れをあらわすため表記法を変更しておく。したが
つて、ここでwii番目の被加数全体を表わし、
wij(i=1、……、M+C)はその被加数のj
番目のビツトを表わすものとする。同様に、mi
はwiの小数部を表わし、mij(j=1、……、
M)はmiのj番目のビツトを表わすものとする。
被加数wi+1の指数部が被加数wiの指数部よりも小
さい場合は、wi+1はwiよりも小さい数である。し
たがつて、あるj以降は、wiの小数部ビツトj、
すなわち、mijは、スーパー・アキユムレータα0
内のmi+1,jの右側に向う経路をとる。第19図に
示すように、wi+1がたどる傾斜部は、wiがたどる
傾斜部の上側にあるので、wi+1の小数部ビツトの
一部は、wiの小数部ビツトが占めるのと同じ傾斜
部のセルに同時に入り、したがつて、「衝突」が
起こる。この一例を第20図に示す。ただし、被
加数wiの小数部ビツトは横線で表わし、被加数
wi+1の小数部ビツトは縦線で表わす。 mijで表わされる、復号されていない被加数wi
の小数部ビツトjが、復号された被加数i+1
(mi+1,j-1)の小数部ビツトj−1と衝突するもの
と仮定する。2つの場合を考える。 1 wi+1の小数部ビツトがwiの小数部ビツト中を
通過する間、wiは復号されないままである。こ
の場合、wiは下降し続けるが、wi+1はその傾斜
移動を続け、両者は衝突による影響を受けな
い。このシーケンスを第21図ないし第26図
に示す。これは、光の2つの波面が互いに干渉
するのによく似ている。接触点において、波面
は干渉する。しかし、それらの波面は全く影響
を受けずに、互いに通り抜ける。 2 wi+1の小数部ビツトがwiの小数部ビツト中を
通過する間に、wiが復号される。この場合、wi
の小数部ビツトは、傾斜移動を始める。このシ
ーケンスを第27図ないし第31図に示す。い
ずれにせよ被加数の小数部ビツトは、衝突によ
つて影響を受けずに互いに通り抜ける。 このような衝突を、伝達衝突と呼ぶ。すなわ
ち、小数部は、互いに通り過ぎて伝達される。 しかし、1つのサイクルで衝突する2つのビツ
トが、後続のサイクルで引き続き衝突することが
起り得る。そうなる場合、それらを「共存」シー
ブ・セルと呼ぶ。この現象の一例を、第32図な
いし第37図に示す。被加数wiの小数部ビツトj
は、j=k+hで、かつwiの指数部がwi+hの指数
部よりもちようどh単位だけ大きい場合に限つ
て、被加数wi+hの小数部ビツトkと共存する。 そのようなシーブ・セルは、最大限M個の小数
部ビツトと共存できる。この限界は達成可能であ
る。第38図ないし第41図に、M=4について
この最悪の場合を示す。wi+1の指数部はwi+2の指
数部よりも1単位だけ大きい。wi+2の指数部は
wi+3の指数部よりも1単位だけ大きい。wi+3の指
数部はwi+4の指数部よりも1単位だけ大きい。こ
の最悪の場合に、セルが1サイクル毎にM個の小
数部ビツトを伝送できることが必要なときは、そ
のようなシーブ・セルの面積はΩ(M)でなけれ
ばならない。 しかし、このM次の共存は排除することがで
き、次に説明するように、面積O(1)のシーブ・セ
ルが可能となる。共存する小数部ビツトは、それ
らの傾斜移動の間、同じセルを占有し続けるの
で、スーパー・アキユムレータの同じビツト位置
に向かい、そこで加算される。したがつて、小数
部ビツトが共存するときは、直ちに加算して、和
の小数部ビツトと繰上りの小数部ビツトを生成し
てもよい。この過程を、以下では「合体」と呼ぶ
が、これは信号組合せの1つの形態である。和の
小数部ビツトは、以前に衝突した小数部ビツトと
同じ傾斜部をころがり続け、繰上りの小数部ビツ
トは、より高位の小数部ビツト用の左隣の傾斜部
に入つて、そこをころがり下りる。生成された和
の小数部ビツトと繰上りの小数部ビツトは、他の
全てのころがり移動をする(すなわち、復号され
た)小数部ビツトと類似しており、それ自体が他
の小数部ビツトと衝突することもある。第42図
ないし第47図に、連続する被加数が同時に復号
されるM=4の場合について、復号された和ビツ
トおよび繰上りビツトの発生の様子を示す。共存
は合体によつて防止されることに留意されたい。
合体によつて生成された小数部ビツトを含めて、
シーブ・セルに同時に入る小数部ビツトの数は最
大限2個であることにも留意されたい。これは一
般的な現象であることが理解できる。 結果としてもたらされる、機能強化されたシー
ブ・セル38を第48図に示す。シーブ・セル3
8は、伝達および合体に対して適切に動作するよ
うに設計されている。セル38の行列は、指数部
の相対サイズの如何にかかわらず、小数部ビツト
のパイプラインを処理することができる。さら
に、これらのシーブ・セルの面積はO(1)である。
次に、シーブ・セルの対する入力−出力方程式を
示す。(指定演算子(←)の右側の変数は常に変
数の「in」バージヨンであり、左側の変数は
「out」バージヨンである。したがつて、これら添
字は、省略しても意味があいまいにはならない。) 適合標識は、全ての小数部ビツトを変更せず
に、伝達され続ける。 f←f 落下している小数部ビツトは、適合標識が次式
のように挙動変更を合図しない限り、落下し続け
る。 ms←∧ms 次の条件の1つに合致する場合、小数部傾斜ビ
ツトは1にセツトされる(2つの条件に合致する
場合は、mr←0およびC←1)。 1 被加数がこのサイクルで復号(適合)信号を
受け取り、msは1である。この場合、ms←0、
mr←1となり、ビツトはころがり始める。 2 ころがる小数部ビツトを受け取る(これは、
以前の衝突の和のビツトでもよい)。 3 以前のサイクルで上側のシーブ・セルで衝突
が起こつたために、1の繰上りビツトを受け取
る。(動作を分析すれば、全ての傾斜領域のセ
ルについて、同じサイクル中でmrとcが「1」
にセツトされることは決してないことが判明す
る。したがつて、条件1および3が同時に生じ
ることはない。) これらの条件の各々が、次の項で反映される。
次に、全てが2を法として加算される)。 mr←(f∧ms)mrc 繰上りビツトは、次の2つの条件のもとでセツ
トされる。 1 2つの復号された小数部のビツトの衝突があ
る(下記の最初の項)。 2 小数部ビツト(mr)(以前の衝突の和のビツ
トでもよい)と繰上りビツトの衝突がある。こ
の場合は、下記の2番目の項として表わされ
る。上述のように、復号されたばかりの小数部
ビツトと繰上りビツトが衝突する事態は起り得
ない。 c←(f∧ms∧mr)∨(mr∧c) スーパー・アキユムレータへの小数部ビツトの
到着時刻は、復号または衝突によつて影響されな
いことに留意されたい。小数部ビツトの移動は、
次の規則に従う。 速度×時間=距離 スーパー・アキユムレータまでの垂直距離は、
シーブ・セルの行で測定される。小数部ビツトの
到着時刻(到着場所ではない)は、復号および衝
突による影響を受けない。なぜならば、小数部ビ
ツトの垂直速度は、これらの現象によつて影響さ
れないからである。下降速度は、1サイクル当り
1行である。第1に、この速度は復号によつて影
響を受けず、傾斜移動に変更されても、小数部の
速度に1つの水平成分が付加されるだけである。
第2に、伝達衝突は、それに関与する小数部ビツ
トの速度が変わらないように設計されている。最
後に、合体が起こると、2つの小数部ビツトが発
生する。しかし、それぞれが衝突するビツトの垂
直速度に新しい垂直速度、すなわち、1サイクル
当り1行の速度を有する。したがつて、合体の結
果生じる小数部ビツトを含めて、スーパー・アキ
ユムレータへの小数部ビツトの到着時刻は、復号
および衝突によつて影響を受けない。 この特徴は、後で考察するように、スーパー・
アキユムレータのアンローデイングを同期化する
のに利用される。 以上、入力として符号なしの浮動小数点数を受
け取り、その小数部をスーパー・アキユムレータ
の当該の位置に伝達する、セル形アルゴリズムお
よびセル形アーキテクチヤについて説明してき
た。入力が処理される速度は、1サイクル当り1
つの浮動小数点数である。シーブのチツプ面積は
O((2C+M)2)である。したがつて、チツプ面積
と被加数の入力速度の比(A/U)はO((2C
M)2)である。セル式ではないが、同じ結果を達
成する樹木ネツトワークが、O((2C+M)log(2C
+M))の面積およびA/U比を有するので、こ
れは過大に思われる。したがつて、システムのア
ーキテクチヤ/アルゴリズムを機能強化してスル
ープツトを増大させることが望ましい。 好ましい実施例では、スループツトが1サイク
ル当り1つの数ではなく、1サイクル当りL(2C
+M)/M」個の数になるように、アーキテクチ
ヤ/アルゴリズムが機能強化される。しかし、面
積はO((2C+M)2)のままであるので、そのA/
U比はO(M(2C+M))である。樹木ネツトワー
クと異なり、このアーキテクチヤはセル式であ
る。 第49図に、第1図に示す基本的なシーブ装置
を拡大して示す。この装置は、指数部が一致し、
適切な傾斜が選択される指数部復号領域(参照
番号32)と、小数部ビツトがまつすぐに落下
し、傾斜移動への方向転換も生じるMビツト幅の
落下領域(参照番号34)と、小数部がその当
該の傾斜部をころがり下りる傾斜領域(参照番
号36)とを含んでいる。長さ2C+Mのスーパ
ー・アキユムレータα0が小数部の行きつく先であ
る。落下領域は、スーパー・アキユムレータM個
の高位セルの真上に位置する。これらのセルは左
から右に2C+M−1、2C+M−2、……、2Cの番
号が付いている。(2C+M−1、2C)で表わされ
るこの最高位スロツトに向かう小数部(最大許容
指数部2C−1を有する小数部)は、ただまつすぐ
に落下するだけで、どの傾斜部にもころがつてい
かない。 次に、この設計に対する機能強化について説明
する。まず、第50図の前面図と第51図の上面
図に示すように、シーブの領域とは、曲がつ
て円筒形になつているものと考える。また、指数
部復号領域は、円筒形に対して多少斜めに突き
出るように折れ曲がつていると考える。第2のシ
ーブ16aが第52図および第53図に示してあ
るが、その落下領域34aがスーパー・アキユム
レータのスロツト(2C−1、2C−M+1)の上方
にくるように、配置できる。以上のことから考え
て、第2のシーブ16aの落下領域34aは、第
50図および第51図に示すシーブ16の落下領
域34と比べてちようどM個の位置だけ反時計回
りの方向にある。シーブ16aでは、スーパー・
アキユムレータのスロツト(2C−1、2C−M)に
向かう小数部は、どの傾斜部も経ずに、完全にそ
の落下領域34a内での移動だけでそこに至る。
他の位置に到達するには、シーブ16aの傾斜領
域36a内で若干の傾斜移動が必要である。具体
的に言うと、たとえばスロツト(2C、2C−M)に
向かう小数部は、傾斜移動によつてそこに至る。
そのような小数部の移動を、第52図に概略的に
示す。第52図に示すように、小数部の移動は、
ふるいの左右の境界で反射されて、方向を変える
ように見える。実際には、その移動は螺旋状傾斜
部を反時計回りにころが下りる方向の変わらない
ものである。第54図に、シーブ16の指数部復
号領域32の連続した段に対応する、指数部の列
を示す。第55図に、第2のシーブ16aの指数
部復号領域32aの各段のそれに対応する列を示
す。 次に、2つの落下領域を有するシーブを考え
る。すなわち、2つの数が同時に入るシーブであ
る。第56図にそのようなシーブ40の前面図を
示し、第57図にシーブ40の上面図を示す。第
56図および第57図のシーブ40は、実質的に
はそれぞれ第50図および第52図のシーブ16
と16aを重ね合わせたものである。この重ね合
わせシーブ40では、落下領域と傾斜領域がオー
バーラツプして次の結果をもたらす。第1の指数
部復号領域の適合標識fは、落下移動をころがり
移動に変える働きをし、第1の落下領域でのみ意
味がある。同様に、第2の指数部復号領域の第2
の適合標識は、第2の落下領域でのみ意味があ
る。各適合標識の伝播は、それぞれの落下領域の
右側の境界で終了する。 このとき起こり得る衝突を考えてみる。前と同
じように、落下領域内のセルは、上からセルに入
つてくる落下小数部ビツトと、左右側から斜めに
セルに入つてくるころがり小数部ビツトを含むこ
とができる。しかし、シーブ16と違つて、落下
領域の一番左側の列のセルの幾つかには、ころが
り小数部ビツトが入ることができる。前述の合体
機構は、この新しい環境でも正しく機能する。第
58図に、落下領域34および34aの一番左側
の列のセルに入つてくるころがり小数部ビツトを
含むことができる部分を、斜めの線で示す。した
がつて、この新しいシーブ40では、小数部の2
本のパイプラインを同時に配置することができ
る。 最後に、円筒上に落下領域が存在するように、
円筒形シーブをさらに機能強化することを考え
る。各落下領域は幅Mビツトなので、この円筒形
シーブは、 S=(2C+M)/M) だけの数の、同時に動作する分離した小数部のパ
イプラインを含むことができる。円筒形シーブ
に、これらのパイプラインが供給され、これらの
分離したパイプライン(落下領域)がシーブを覆
うものと仮定する。すなわち、(2C+M)/Mは
整数であると仮定する。そのようなシーブを
MDSR(多重分離落下領域)シーブと呼ぶことに
する。そのようなシーブ42の前面図を第59図
に、上面図を第60図に示す。シーブ42は、そ
れぞれ対応する指数部復号領域32iを有する分
離した落下領域34i(i=1、……、S)を有
する。シーブ42はセル式であり、面積O((2C
M)2)である。 合体によつて生成する小数部ビツトを含めて、
同時にMDSRに入る小数部ビツトの数は最大限
2個なので、セル式合体機構は、MDSRシーブ
内でも正しく機能することがわかる。μijをi番目
の行でj番目の列のシーブ・セルを表わすものと
する。μiは、i番目の行のシーブ・セルを表わす
ものとする。シーブの形状は円筒形なので、
μi,j+2j+2C+M C+M=μi,jである。(以下では、
セルμijに対応するブール変数bの値を表わすため
表記μij・bを使用する。)最初の小数部の復号以
前には、全ての移動は垂直であり、衝突は起こり
得ない。2つのビツトの衝突は、方向転換または
合体であり、どちらの場合も、2つのビツトが生
じ、各々前述のどちらかの方式で移動する。した
がつて、これらの場合には、1つのセルが別のセ
ルに2つのビツトを供給することはできない。 その他の移動または衝突の可能性はない。この
ことを理解するため、3つの(またはそれ以上
の)ビツトが初めてセルμijに到着すると仮定す
る。それ以前の移動は全て説明済みなので、セル
μijに到達する3ビツトのうち、2ビツトがセル
μi-1,jから(すなわち上方から)くるか、または、
2ビツトがセルμi-1,j-1から(すなわち、左上方か
ら)くることがわかる。最初に仮定した三重衝突
以前には、どのセルも別のセルに2つのビツトを
供給することはできないので、これは予盾であ
る。 Aパイプライン ここまでの説明では、本発明に基づくプロセス
は、浮動小数点表示から固定小数点表示への変換
と考えることができるが、次の段階は累算であ
る。情報の喪失(すなわち、丸め誤差)を避ける
ため、累算は固定小数点方式で行なわれる。本実
施例のアキユムレータと一般のアキユムレータと
の相違は、本実施例のアキユムレータの方がはる
かに大きいことである。このアキユムレータは、
L=2C+Mビツトを有するので(普通FおよびC
は9、Mは48と予想され、したがつてL=569)、
非常に小さな数に非常に大きな数を加算しても、
情報は全く失なわれない。 基本的なスーパー・アキユムレータは、L個の
等しいセルの線形アレイから構成することが望ま
しい。第61図に、そのような体系を示す。この
体系で、mr、ms、およびCビツトはシーブ・セ
ル38からの出力であり、かつアキユムレータ・
セル50への入力である。任意のシーブ・セル3
8のmS出力とC出力のうちで最大限1個だけが、
任意のサイクル中に値「1」をとることに留意さ
れたい。これらの入力が与えられたものとして、
アキユムレータ・セル50は和のビツトおよび繰
上りビツトを生成しなければならない。和のビツ
トは次のサイクルでの同じアキユムレータ・セル
(すなわち項アキユムレータ)の入力である。繰
上りビツトは、隣接するより高位のアキユムレー
タ・セルの入力である。したがつて、「1」の値
をとる可能性のある入力は4つある。この場合は
2次繰上りビツト出力が必要である。この2次繰
上りビツトは、2つの位置だけ左側にあるアキユ
ムレータ・セルの入力である。 2次繰上りを避けるため、特別のセルの行をシ
ーブの最下部に付加して、この体系を修正しなけ
ればならない。第62図に、この修正された体系
を示す。最初に、最下行のシーブ・セル52はも
はやその他の部分とは異なり、最下行の各セル5
2は和のビツトSaおよび繰上りビツトCaを発生
する。和のビツトSaは修正されたアキユムレー
タ・セル54への入力であり、繰上りビツトCa
は隣接するより高位のシーブ・セルへの入力であ
る。これらの新しいシーブ・セル52は4個の入
力、すなわち、より高位の行のシーブ・セルから
のmr、ms、およびCと、隣接するより下位の
(すなわち、右側の)セルからのCaを有する。ms
およびCの内1つのみが「1」になり得るので、
多くても3個の入力が「1」になり得るにすぎな
い。したがつて、SaおよびCaビツトで、最下行
のシーブ・セル52を特徴づけるのに十分であ
る。各スーパー・アキユムレータ・セル54は、
このとき3個の入力Sa、SおよびCを有し、それ
ぞれ2個の出力SおよびCを生成する。 最下行の各シーブ・セルの入力−出力方程式は
次の通りである。 Sa←mrmscca ca←(mr∧ms)∨(mr∧c)∨(mr∧ca)∨(ms∧ca
)∨(c∧ca) 最低位の最下行のシーブ・セルについては、
ca io≡0である。 各スーパー・アキユムレータ・セルの入力−出
力方程式は、次の通りである。和のビツトSが生
成され、次のサイクルのために保存される。 S←SSaC 繰上げビツトCが生成され、隣接するより高位
のセルに送られる。 C←(S∧Sa)∨(S∧C)∨(Sa∧C) 最下位のアキユムレータ・セルについては、
Cio=0である。最下行のシーブ・セルは、繰上
りビツトCaを累算するので、それ自体アキユム
レータである。この事実は、以下に論じるよう
に、1つの和を完成して次の和を開始する際に効
果を示す。 被加数の最後の小数部がスキユアに入つた後の
サイクルで、初期設定ワードが各スキユアに入力
される。初期設定ワードは、ゼロ小数部と適当な
指数部からなる。その指数部は、スキユアに依存
し、各初期設定小数部ワードがその対応する落下
領域を下降し、復号されずにスーパー・アキユム
レータに到達するような形を有する。初期設定ワ
ードが入つた後のサイクルで、和終端信号δが、
一番左側のスキユアに入る。和終端信号δは、第
63図に概略的に示すように、最上位の小数部ビ
ツトが入るセルのあるスキユアに入る。「一番左
側の」スキユアは、その出力が円筒形シーブのセ
ルμi,j(j=1、……、M)に入るスキユアとして
任意に選ばれる。δは、初期設定ゼロ・ワードの
最終ビツトが入つた後のサイクルで「1」にセツ
トされ、その他の全てのサイクルで「0」にセツ
トされる。 一番左側のスキユアは、δ信号を複製して伝播
するので、初期設定のゼロ仮数の最終ビツトがシ
ーブに入つた後のサイクルで、信号δは、シー
ブ・セルμi,j(j=1、……、M)、ならびに一番
左側の指数部復号領域内の最上行のセルに同時に
入る。このδ伝播を実行するためのスキユア・セ
ルの設計の詳細については、シーブ内でのδ伝播
についての次の説明から自明となるはずである。 新しい和の被加数は、和終端信号と同じサイク
ルで、スキユアに入り始めることができる。和終
端信号δ=1が最下行のシーブ・セルに到達する
とき、mr、msおよびCビツトは、ゼロ小数部に
由来し、全てゼロである。したがつて、このサイ
クル中では、最下行の各シーブ・セルは値“1”
の入力を最大限1個、すなわち、入力Ca ioを有す
るだけであり、その“1”の値は、最下行に入つ
てくる最後の真の被加数の最終ビツトの付加によ
つて生じたものである。したがつて、そのような
各セルについては、Ca put≡0およびSa put≡Ca ioであ
る。このようにして、最下行のシーブ・セルがア
ンロードされ、再初期設定される。 Nが被加数の数を表わし、Tが、最初のSaビツ
トがスーパー・アキユムレータに入るサイクルを
表わすものとする。このとき、初期設定のゼロ小
数部が入ることを含めて、サイクルT+〓N/S
〓+M+1中に最後のSaビツトが累算される。た
だし、〓x〓はxより小さくない最小の整数を表
わす。しかし、この最後のサイクルを含めて、繰
上りビツトの伝播に、最悪の場合、L回の追加サ
イクルを要することがある。この最悪の場合の事
例を第64図に示す。 短縮式スーパー加算装置は、高度のパイプライ
ン化することが望ましい。一組の被加数がスーパ
ー・アキユムレータに供給された後、もう1つの
和の処理をただちに開始しなければならない。し
たがつて、L回の繰上げ清算サイクルが経過する
前でも、スーパー・アキユムレータをアンロード
し、リセツトする必要がある。二つの要件から、
和を完了させるタスクのうちでもとりわけ繰上げ
清算の完了を目的とするスーパー・アキユムレー
タのパイプラインが導かれる。このアキユムレー
タのパイプラインを以後Aパイプラインと呼ぶ。 Aパイプライン内のアキユムレータの数に対す
るこの最悪の場合の要件を決定するため、まず、
1つの和が2つ以上の被加数からなることがある
点に留意されたい。N=2かつS≧2とすれば、
この最小長の和がスーパー・アキユムレータに到
着し始めてからM+1サイクル後に、次の和の最
初のビツトがスーパー・アキユムレータに到着す
ることになる。(和の間のゼロ小数部をクリアす
るためのサイクルを含む。)したがつて、Mは、
任意の和が最初にスーパー・アキユムレータを占
有する最小サイクル数である。この最悪の場合の
(最短の)和を繰返すことにより、繰上りビツト
の伝播を清算するために必要な最悪の場合の(最
長の)アキユムレータ、すなわち〓(2C+M)/
M〓スーパー・アキユムレータのパイプラインが
得られる。この場合も、最初のアキユムレータに
加えて、これらのアキユムレータが必要である。 スーパー・アキユムレータの数をP=〓(2C
M)/M〓+1で表わすものとする。CおよびM
の一般的な値と予想される値の場合、P=〓(2a
+48)/48〓+1=13となる。この装置を、第6
5図に概略的に示す。 以下の考察では、i番目のスーパー・アキユム
レータをαi(i=0、……、P)で表わし、i番
目のスーパー・アキユムレータのj番目のセルを
αi,j(j=1、……、L)で表わすものとする。添
字jは、セルを右から左へ昇順に数えたものであ
る。 次に、Aパイプラインの同期化について論じ
る。O≦i≦P−1の場合、αiアキユムレータ全
体が1サイクルでαi+1に転送される。この転送
は、各アキユムレータのあふれビツト領域の内容
を含む。これは、和終端信号δを複製し、伝送し
て、和終端信号δが同じサイクル中に特定のアキ
ユムレータ内の全てのセルおよびそのあふれ領域
に到達させることによつて、実現される。具体的
に言うと、和終端信号δは、最後のSaビツトがそ
のα0セルに到達してからちようど1サイクル後
に、α0内の全てのセルに到達する。さらに、δは
同報通信することなく伝達しなければならない。
本実施例のシーブ装置はδをセル方式で複製し、
伝達するために使用される。第63図に、スキユ
アおよびシーブ・セル中でのδ複製および伝達を
示す。(上述のように、シーブは実際には円筒形
であるが、簡単にするため平面形で示す。)第6
3図から、シーブの下側の三角形内のすべてのセ
ルは単にδを斜め下方に伝達するだけなので、
「一番左側の」落下領域の小数部セル(セルμi,j
(i=1、……、2C、j=1、……、M))および
それに対応する一番左側の指数部復号領域のみが
δを複製すればよいことがわかる。落下領域のセ
ルμi,j(i=1、……、2C、j=1、……、M)な
らびに「一番左側の」指数部復号領域のセルは、
次の入力−出力方程式のδ状態ビツトを含むよう
に修正される。 δs←δs インターフエース・セルμi,M(i=1、……、
2C)、すなわち、一番左側の落下領域内の一番右
側の列のシーブ・セルは、次の入力−出力方程式
を有する追加のδ状態ビツトを有する。 δr←δs これらのインターフエース・セルは、第66図
に示す通りである。残りのシーブ・セルの下側の
三角形は、単にδを斜めに伝達するだけである。
これらの下側三角形のセルのセル・ダイアグラム
を第67図に示す。これらのセルは、次の新しい
伝達方程式を有する。 δr←δ シーブの上側の三角形内のセルは、第67図に
示すものと同じであり、δ入力およびδ出力は未
使用のまま残される。 シーブの最下部で、δはアキユムレータのパイ
プライン中を伝播する。αiのセルがサイクルTの
間にδのある値を受け取るとすると、αi+1のセル
はサイクルT+1の間にその値のδを受け取る。
αiのセルは、δ=1を受け取るとき、その内容を
αi+1に転送しなければならず、そうでない場合
は、前述の挙動を示す。αi累算セルのセル・ダイ
ヤグラムを第68図に示す。繰上げ清算パイプラ
インの概略図を第69図に示す。このとき、ブー
ル変数SおよびCは、それぞれ2つの変形、すな
わち、通常の動作用の変形と(δ=0のとき)、
レジスタ転送S〓およびC〓用のτ変形(δ=1のと
き)を有する。次に、一般的なセルαijの入力−
出力方程式について述べる。 転送信号δは、単に伝達されるだけである。 δ←δ レジスタ転送が起こつていないときは、和のビ
ツトが前記と同様に計算される。レジスタ転送が
起こつているときは、入力転送変数から和のビツ
トが計算される。α0の場合にのみ、Saビツトが存
在することに留意すべきである。 δ←(〓∧(SSaC))∨(δ∧(Sa C〓)) 転送が起こつていない限り、和のビツトの転送
バージヨンはゼロである。 S〓←δ∧(SSaC) レジスタ転送が起こつていないときは、繰上り
ビツトは前記と同様に計算される。レジスタ転送
が起こつているときは、入力転送変数から繰上り
ビツトが計算される。 C←(δ∧((S∧Sa)∨(S∧C)∨(
Sa∧C)))∨(δ∧S〓∧C〓). 転送が起こつていない限り、繰上りビツトの転
送バージヨンはゼロである。 C〓←δ∧((S∧Sa)∨(S∧C)∨(Sa∧C)) 次に、境界条件を示す。全てのi、jについ
て、ai,p・Cio≡αp,j・C〓io≡Dであり(ただし、
ai,j・Cはi番目のアキユムレータ内のj番目の
セルの繰上りビツトを表わす)、全てのjについ
て、ap,j・S〓io≡0である。これらの境界条件で、
添字「in」は変数の入力バージヨンを指す。 正規化領域…和の最終的符号化 和の最終的符号化は、幾つかのプロセスからな
る。これは、正規化(先行ゼロを除去するため左
へシフトすること)と指数部の符号化(それに対
応する和の指数の決定)である。和がα1まで押し
下げられたとき、この両方のプロセスを開始する
ことができる。一般には、これが起こるとき、繰
上りの伝播は完了する。したがつて、正規化と指
数部符号化は、繰上げの清算と組み合わされる。
最終的符号化の最終段階は丸めである。丸めは、
通常は他の3つのプロセスが終了してから、実施
される。しかし、本実施例の加算装置は、正式の
正規化と指数部符号化自体の完了前ではないが、
繰上げ清算の進行中に、丸めをも実施する。(前
述のように、もとの和は、正と負の項に対応する
2つの符号なしの部分和に分割することができ
る。2つの完成した部分和は、正式の正規化と指
数部符号化が完了したとき、丸めの前に、組み合
わされる。この修正は簡単な方法で実現される。
符号つきの被加数の加算については以下に論じ
る。)もちろん、この4つのプロセスは、性能向
上のため多重化される。 説明の簡単のため、まず、全ての繰上げが清算
されているという仮定のもとで、正規化および指
数部符号化のための非パイプライン構造の設計に
ついて説明する。次に、繰上げ清算が存在する場
合に、その適切な機能を確保するために必要な変
更を組み込む。次に、丸めを導入し、これら相互
に関連するすべてのプロセスが適切に機能するこ
とを確保するため、それに対応する変更を再度加
える。これによつて、非パイプライン構造の設計
は完了し、設計をセル化するために最後のステツ
プを行なう。この最後のステツプで、再度設計変
更が必要となる。装置出力はR(b、、e1、e2
で表わされる浮動小数点数であることに留意され
たい。 アキユムレータの長さに限りがあるため、実際
の和は、浮動小数点数となることもある。これ
は、R(b、、…、.)で表わされるその浮動小
数点表示の指数部が区間〔e1、e2〕の外側にくる
場合である。これは装置のあふれ条件の1つであ
り、この場合は、省略時出力がもたらされる。 さしあたつて、全ての繰上げが清算されている
ものと仮定する。先に進むため、容量Cの指数カ
ウンタと呼ばれるカウンタ 指数カウンタ〔1…C〕 と、個のセルを有する小数部レジスタと呼ばれ
るレジスタ 小数部レジスタ〔1…〕 を導入する。L=2C+M+Fであり、したがつて
α1、Lはスーパー・アキユムレーターα1内の一番
左側(すなわち、最高位の)セルを表わすことに
留意されたい。そうすると、正規化された小数部
を得るため、および指数部を符号化するための方
法は、以下の手順によつて記載する。 { 指数カウンタ〔1…C〕;/*実行されたとき指
数部を含む*/ 小数部レジスタ〔1…〕;/*実行されたとき
小数部を含む*/ i:整数 指数←2C−1; α1,L・S=0の間、以下を実行する。 { 指数←指数−1; アキユムレータを左にシフトする; }; i←1からの場合、以下を実行する。 { 小数部を左にシフトする; 小数部レジスタ〔1〕←α1,L・S; スーパー・アキユムレータを左にシフトする。 } } 第70図および第71図に、正規化/指数部符
号化手順を示す。第70図は正規化前の各レジス
タの内容を示し、第71図は正規化後のレジスタ
を示す。 次に、セル式ハードウエアでこの手順の実現化
について説明する。装置の概略を第72図に示
す。ハードウエアは、スーパー・アキユムレータ
の他に、正規化された小数部を保持する小数部レ
ジスタ60と、モード信号の発生のタイミングを
取るために使用される遅延要素62を備えてい
る。このモード信号pは、スーパー・アキユムレ
ータ・ビツトの小数部レジスタのシフトを終了さ
せる。このハードウエアはさらに、小数部を保持
する指数カウンタ(第73図に詳細を示す)を備
え、最後に、「正規化」変数用のレジスタ66
を備えている。この変数は、α1,LのSビツトが
“1”(以下では、α1,L・S=1と記す)のとき1
から0に変わる。すなわち、は、全ての先行ゼ
ロがスーパー・アキユムレータからシフト・アウ
トされたか否かを示す。 スーパー・アキユムレータの同期化および制御
を簡単にするため、シフトは無条件で実施され
る。すなわち、上記の手順中の“α1,L・S=0の
間”という条件は除外され、したがつてα1の内容
が各サイクル毎に左へシフトされる。制御をさら
に簡単にするため、スーパー・アキユムレータか
らシフト・アウトされるSビツトを小数部レジス
タ内にシフトさせる。これに対する計算された開
始信号はない。変数の初期設定については、設計
のパイプライン化について考察するとき説明す
る。当面は、正規化状態変数は、はじめは、
“1”であるものと仮定しておく。α1,L・S=0
の間、はその“1”の値を保持し、正規化され
いない状態を示す。α1,L・S=1のとき、n←
“0”である。 の値は、指数カウンタ64への減分信号とし
て使用され、最初は2C−1である。カウンタ64
内の各セルはeで表わされるビツトを含む。カウ
ンタ64は長さCの簡単なセル式(ダウン・)カ
ウンタであり、したがつて、1桁上からの借りの
伝播は、スーパー・アキユムレータ内で小数部が
正規借されてからCサイクル後に確実に完了す
る。カウンタ64内のセルの入力−出力方程式は
次の通りである。 e←eb b―∧b カウンタ64の最下位セルについては、bio
nである。 次に、小数部レジスタへの小数部のローデイン
グについて説明する。小数部レジスタ60は、線
形結合されたセル・アレイである。各セルは2つ
の動作モード、すなわち、「シフト」モードおよ
び「保持」モードを有し、これらのモードは、こ
の2つの値をとるモード信号によつて制御され
る。各セルは最初は「シフト」モードにある。し
たがつて、小数部セル・アレイは左シフト・レジ
スタとして働き、α1,L・Sは低位の小数部セル中
にシフトされる。正規化が始まると、α1の先行ゼ
ロがレジスタ60内にシフトされる。小数部がα1
中で正規化されると、小数部レジスタ60は正規
化された小数部ビツトの受け取りを開始する。言
い換えると、小数部レジスタは、スーパー・アキ
ユムレータ内で小数部が正規化されてからちよう
どサイクル後に、左方へのシフトを停止するは
ずである。なぜならば、ちようどそのとき、レジ
スタ60は正しい小数部を含んでいるからであ
る。次に、スーパー・アキユムレータが正規化さ
れてからちようどサイクル後に、すなわち、
が「正規化された」状態(n=0)に変更されて
からちようどサイクル後に、「保持」のモード
信号がレジスタ60の全てのセルに同報通信され
る。 次に、モード信号の発生について説明し、続い
て、厳密にセル式であるレジスタへの同報通信が
必要なレジスタからの小数部レジスタ動作の変換
について説明する。 最初は、n≡1である。正規化されたインジケ
ータは、一度正規化された状態に置かれると、
その状態に留まる。 すなわち、 n←n∧1,L・ レジスタ60内のセルのモードは、nが「正規
化された」状態に切換えられてから÷ようどサ
イクル後に、「保持」モードに切り換わる。これ
は、信号レジスタ66とモード信号線の間に
サイクル遅延要素62を挿入することにより簡単
に実現できる。 ここで説明しているように、小数部レジスタ6
0の動作は、モード信号の同報通信が必要であ
る。この設計のセル式設計への変換を理解するた
め、まず第74図に示す小数部レジスタ動作の空
間−時間図を参照する。モード信号の同報通信
は、第75図に示す空間−時間図の一次交換によ
つて排除される。第75図から理解できるように
モード信号はもはや小数部レジスタのセルを通つ
て同報通信されず、1サイクルにつき1セルの速
度で左に移動する。スーパーアキユムレータの出
力スケジユールを修正することは望ましくないの
で、小数部レジスタ60の最低位端への小数部ビ
ツトの到達スケジユールは、変換によつて変更さ
れない。しかし、一度小数部レジスタに入ると、
これらの小数部ビツトは、1サイクルにつき1セ
ルの速度で左に移動する。したがつて、同報通信
方式の場合の待ち時間サイクルに対して、セル
式設計の待ち時間は、2−1サイクルである。
小数部ビツト移動のこのより遅い速度は、小数部
レジスタ60の各セルに1サイクルの遅延要素を
余分に挿入することにより実現される。 第76図は、新しいブール変数dm、すなわち、
小数部レジスタ60内でのビツト移動を記述する
ために用いられる遅延ビツトを含む、小数部レジ
スタ60内のセルを示す。レジスタ60のセルの
入力−出力方程式は、次の通りである。当初、小
数部レジスタ60のセルは「シフト」モードであ
り、p≡1である。モード信号は1サイクルにつ
き1セルの速度で伝達される。 p←p 低位の小数部レジスタ・セルについては、p←
n・z-Mである。すなわち、小数部レジスタ60
の右端に入つて行くp信号は、単に信号の遅延
バージヨンにすぎない。 小数部ビツトは、セルがシフト・モードにある
ときに限つてシフトされ、2サイクルでシフトさ
れる。すなわち、p=1のとき、1つのサイクル
でdm←mio、次のサイクルでmput←dmが実行さ
れる。 dm←(p∧m)∨(∧dm)、 m←(p∧dm)∧(∧mput) p=0のとき、mput←mput、すなわち、小数部
ビツトのシフトは停止する。 最後に、無条件左方シフトを実行するため必要
とされるスーパー・アキユムレータに対する変更
について述べる。第77図は新しいα1スーパー・
アキユムレータを示す。この場合も、設計はパイ
プライン化されていない。ブール式は前と同じで
あるが、ただし、Sビツトは1サイクルにつき1
セルの速度で左に移動する。α1内での繰上げ清算
の同時処理を予想して、Cビツトはこのとき1サ
イクル当り2セルの速度で左に移動することも留
意されたい。 次に、正規化が始まる前に繰上げが、清算され
るという仮定を緩らげて、小数部が正規化され、
指数部が符号化されている間、繰上りは依然とし
てスーパー・アキユムレータ内を左の方に伝播す
ることができると仮定する。正規化中に繰上げを
清算するには、小数部レジスタを小数部アキユム
レータに変換しなければならない。すなわち、S
ビツトとCビツトが共に、小数部レジスタのセル
中にシフトされ、これらのセルは、スーパー・ア
キユムレータのセルと同様に、次に繰上げの清算
を続行する。 最上位のスーパー・アキユムレータ・セルと
は、非ゼロのSビツトまたは非ゼロのCビツトを
有する最も左側のアキユムレータ・セルを表わす
ものと仮定する。最上位のスーパー・アキユムレ
ータ・セルの内容を、以下では先行小数部セルま
たはmMと呼ぶことにする。その右側の小数部セ
ルはmM-1と呼び以下同様である。小数部セルM
…ではなく、最終的に小数部セルM、…に常駐す
ることになるスーパー・アキユムレータ・セルの
内容を言つていることに留意されたい。 このときα1のsビツトとcビツトが左にシフト
されているので、最終的には、最上位のスーパ
ー・アキユムレータ・セルはα1,Lになる。すなわ
ち、最上位のスーパー・アキユムレータ・セルは
最終的にはα1,L・sとα1,L・cの両方に依存する。
後者の依存関係には、正規化標識の再定義が必
要である、正規化標識は、次式に従つて、正規
化された状態に変換される。 n←n∧α1,L・s∨α1,L・c sビツトを含む小数部アキユムレータ中にシフ
トされるcビツトの清算について考察する。対応
する繰上りが先行小数部セルの左に1位置だけ伝
播することは可能だが、それ以上は不可能であ
る。これを、小数部あふれ、または単に「あふ
れ」と呼ぶ。たとえば、先行小数部セルが、スー
パー・アキユムレータ中で検出されたとき、非ゼ
ロsビツトと非ゼロcビツトの両方を有していた
ので、繰上げはその左に伝播するはずである。小
数部あふれが発生するか否かは、sビツトとcビ
ツトがα1から小数部アキユムレータにシフトされ
るとき計算することができることである。ここで
「あふれ」標識を導入する。この標識は“は
い”、“いいえ”および“中間”の3つの値をと
る。最初のの値は“中間”である。たとえば、
mMのSioビツトとcioビツトが共に「1」である場
合、は“yes”にセツトされる。sioビツトとcio
ビツトの一方だけが「1」である場合は、はそ
の値“中間”を保持する。この“中間”の場合に
は、mM内でsioビツトとcioビツトが共に「1」で
あれば小数部あふれが発生し、両方共「0」であ
れば小数部あふれは発生しない。厳密に一方だけ
が値「1」を有する場合は、小数部あふれは多分
発生し得る。“はい”および“いいえ”はあふれ
標識の最終状態であり、“中間”は過渡的状態で
ある。 個の小数部セルが定位置にシフトされた後、
すなわち、小数部アキユムレータがロードされた
後、が依存して“中間”の状態にあることがあ
り得る。小数部アキユムレータの完全なローデイ
ングが起こるサイクルデ、が“中間”の状態に
あるために必要な条件は、全ての小数部セルにつ
いて、sioビツトとcioビツトの厳密に一方だけが
「1」の値を有することであると断言できる。す
なわち、小数部アキユムレータの全てのセルの内
容が「1」である。その他のどんな場合にも、
は“はい”と“いいえ”のどちらかに決定され
る。それにもかかわらずを“はい”状態に変更
できる事象が2つある。1つはα1内でまだ清算中
の繰上げ伝播であり、2番目の事象は丸め操作で
ある。 丸 め この考察では、丸め操作を、「四捨五入」と考
えるものとする。指定丸めについては後述する。
ゼロに向う丸め、またはゼロから遠ざかる丸め等
のその他の丸めはここで論じる丸め操作の簡単な
変形であり、詳細に論じる必要はない。 丸めは、小数部レジスタ60内の最低位セル
m1の右側に付加されるべきセルであるm0
「1」を加算することによつて実行される。この
加算で繰上りが発生し、かつ=「中間」である
場合、←「はい」である。繰上りが発生しない
場合は、はその「中間」の値を保持する。 第78図は、丸めのために組み込んだアーキテ
クチヤ変更の概略を示す。小数部レジスタ60
が、個のセルから、+1個セル、-1
…、小数部0に拡張される。ただし、セル0は
「丸め」セルである。遅延要素62は、+1
遅延要素に拡張される。値「保持」のモード信号
が発生されるとき、+1個の小数部セルが小数
部アキユムレータ60を占有する。この時点で、
セル0に「1」が加算される。セル0に加算され
る値は、丸め信号と呼ばれ、1つの和につき一
度だけ「1」の値をとる。信号は、遅延・比較
回路68内の連続する保持値を比較することによ
つて発生される。最初は、r≡0である。モード
信号が値を変更すると、「1」の丸めが発生され
る、 r←p・z-1p これで丸めが実施され、それに応じて標識7
0が更新される。 がまだ最終状態になつていない場合にそれを
最終状態に移行させるもう一つの事象は、最低位
セルからの繰上げ伝播である。実際、一度小数部
アキユムレータ60がロードされると、これらの
低位スーパー・アキユムレータ・セルは、あふれ
問題を解決するため以外は、もはや必要でない。
小数部アキユムレータ60が「保持」モードのと
き、スーパー・アキユムレータはその残りの内容
を左シフトし、これらの内容はスーパー・アキユ
ムレータを左端から「落下する」。各スーパー・
アキユムレータ・セルがスーパー・アキユムレー
タの左端からシフト・アウトされるとき、各セル
は、あふれ問題を解決するかどうか検査される。 =「中間」の場合、 α1,L・s=α1,L・c=1であれば、 o←「はい」 そうではなくて、α1,L・s=α1,L・c=0であ
れば、 o←「いいえ」 そうでなければ、はその「中間」の値を保持
し、次のサイクルでシフト・アウトされる次のス
ーパー・アキユムレータ・セルが検査される。 スーパー・アキユムレータが左にシフトされる
とき、そのsビツトとcビツトの両方について、
「0」の値が右側のセルに供給されるので、上記
プロセスは終了することが保証されている。従つ
て、あふれ問題は、正規化が始まつてからLサイ
クル以内に解決される。 これまで説明してきた設計では、小数部のあふ
れが発生したとき、小数部と指数部を調節する必
要がある。次に、これらの調節を含むようにこの
設計を機能強化した実施例について説明する。こ
の機能強化の概略を第76図に示す。その目的
は、あふれが発生しない場合に小数部と指数部を
調節することである。まず、セルM+1で表される
もう1つのセルアキユムレータ・セルが付加され
る。これで、セルアキユムレータは、+1、
M、−1、…、0の+2個のセルから成る。
セル+1は、小数部あふれが発生した場合にそ
のあふれを保持するため使用される。小数部アキ
ユムレータ60中へのシフトは+1回だけ行な
われ、セル、セル−1、…、セル0を充てん
し、セル+1はセルからのあふれを受け取
る。 あふれがない場合は、小数部アキユムレータ6
0をもう一度シフトすることが望ましい。したが
つて、いずれの場合にも最終小数部が小数部セル
M+1、…、t2に常駐するようになる。すなわ
ち、あふれが発生しない場合は、最終モード信号
の値「シフト」を発生すべきである。 同様に、指数カウンタ64は、あふれが発生す
る場合、正しい値を有し、あふれが発生しない場
合は1つの最終減分信号を発生することが望まし
い。このことを達成するための1つの簡単な方法
は、指数カウンタ64を2Cから開始することであ
る(すなわち、指数カウンタはモジユロ2Cカウン
タなので、すべてゼロである)。k個の先行ゼロ
がある場合は、カウンタは2C−kはを含む。あふ
れが発生する場合、2C−kは正しい値、すなわ
ち、2C−1−(k−1)である。あふれが発生し
ない場合は、正しい値である2C−(k+1)=2C
1−kを得るため、最後にカウンタを1度だけ減
分する必要がある。 従つて、(1)あふれが発生する場合に限つて値
「1」をとり、(2)減分およびシフトを1回だけ余
分に行なうことが望ましいので、1つのサイクル
でのみこの値をとり、(3)シフトの減分も行なわれ
ないサイクルでこの値をとる、調節信号が求め
られている。 この追加のシフトが発生する可能性のある最初
のサイクルは、あふれが決定され、かつ小数部が
小数部アキユムレータ60内の場所にシフトされ
た後でなければならない。(この最終減分信号が
指数カウンタ64に送られた後に起こる。 従つて、調節信号は、次のようになるはずで
ある。 a←(o=“いいえ”)∧ ただし、は1つの和について1サイクルだけ
で1となる。これは、1つの和について一度だけ
丸め信号「1」を生成するために使用するのと同
じ方法で達成される。 a←((o=“いいえ”)∧・z-1 ((o=“いいえ”)∧)・ このとき、信号は1つの和について最大限1
サイクルの間、すなわち、((o=「no」)∧)
が「1」の値を取る最初のサイクルの間、「1」
の値をとる。この信号は、第79図の簡単な論
理回路72で生成することができる。 最後に、減分信号およびモード信号が信号が
前と同様に、または信号に基いて発生するよう
に、これらの信号を結合することが必要である。
a信号は、が「正規化された」状態に変わり、
さらにが「保持」に変つた後、「1」の値を取
ることに注意すること。従つて、実際には、その
「1」の値によつて引き起こされるシフトおよび
減分が、および信号によつて引き起こされる
シフトおよび減分に追加される。 このとき、新しい信号は次の通りである。ま
ず、簡単な減分論理74で生成される減分信号
があり、これはまたはがそれ自体「1」のと
き、「1」になる。 d←n∨a また、簡単なシフト信号論理76で生成される
左シフト信号lがあり、これはまたはかがそ
れ自体「1」のとき、「1」になる。 l←p∨a この装置は繰上げを清算し、小数部を正規化
し、丸めを行ない、指数部を符号化する。さら
に、これらのことを同時に実行する。 第79図の装置は明らかにセル式ではなく、次
にセル式のアーキテクチヤに変換しなければなら
ない。セル式バージヨンを第80図に示す。スー
パー・アキユムレータらシフト・アウトされたs
ビツトとcビツトは、「*」で示される経路に沿
つて、指数カウンタ78のセル、Dセル80、遅
延セル82およびLセル84を通つて、小数部ア
キユムレータ60にセル式に伝達される。 便宜上、指数カウンタ78の最低位セルおよび
高位セルは左から右に配列される。 非セル式のアーキテクチヤで生成される重要な
信号は、とlである。これらの信号はまた、セ
ル式アーキテクチヤも生成される。信号は、成
分信号を使つて書き直すことができる。 d≡n∨a=n∨(((o=“いいえ”)∧
)・z-1+((o=“いいえ”)∧)) 上式において、は、Dセル80中の状態ビツ
トであり、その値は、α1L・c∨α1,L・sまで
「1」である。すなわち、先行小数部ビツトが検
出されるまで、n=「1」である。このビツトが
遅延セル82に伝達される。はDセル80中の
第2の状態ビツトであり、その値は、α1,L・s、
α1,L・cおよびのうちの少なくとも2つが同じ
サイクル中で「1」である場合のみ、「1」であ
る。Dセル80は、sビツトとcビツトにアクセ
スし、≡p+p・z-1なので、それからおよ
状態ビツトを計算することができる。Dセル
80はまた、p:p・z-1のもとの値を保持する
ために第3の状態ビツト必要とする。 遅延セル82は信号を受け、+1サイクル
後に信号をフイードバツクする。遅延セル82
の概略を第80図に示す。信号はまた、遅延セ
ル82の左側からも生成される。セル82の左か
ら発生するsビツトとcビツトは+1サイクル
遅延される。しかし、信号は2+2サイクル
遅延される。従つて、信号はsビツトとcビツ
トに関係している。 最後に、Lセル84にsビツトとcビツトを伝
送し、所望のl信号を発生する。 l≡p∨a=p∨(((o=“いいえ”)∧
)・z-1((o=“いいえ”)∧))・ 従つて、Lセルは、p:p・z-1のもとのバー
ジヨンを保持するために状態ビツトを必要とす
る。Lセルは、また、状態を記録するために第
2のビツトを必要とする。Lセルは、Dセル80
と同様に、sビツトとcビツトを有し、従つて、
oを計算することができる。 ここで説明している装置は、繰上げの清算、小
数部の正規化、丸め、および指数部の符号化を同
時に行なうことができる。さらに、それはセル式
である。アーキテクチヤは次にパイプライン化す
るが、パイプライン化するための方法は、前述の
Aパイプラインを設計するための方法と同じであ
る。第80図の装置は、複製され、新しい和が始
まるたびに、符号化プロセスが装置の次の複製に
押し進められる。前と同様、転送を合図するため
にσを使用する。装置の「複製」の数、すなわ
ち、パイプラインの長さは、符号化プロセスの最
悪の場合の待ち時間を、最短の和が最初のアキユ
ムレータα0内で終了する時間で割つた商にすぎな
い。この最後のものは、M+1サイクルである。
最悪の場合、符号化計算の最後の部分は、正規化
が始まつてからLサイクル後の可能な最終の時点
で、小数部のあふれが検出された小数部セルM+
1中への繰上げである。このあふれは、小数部セ
ル+1内に伝播するのに、さらにC+1++
1+1++2=2+C+5を要する。従つ
て、第80図の装置の複製は「(2C+M+2+
C+5)/M」だけ必要である。C、Mおよび
の予想値について、次式が成立する。 「(2C+M+2+C+5)/M=13. 第80図に示すように、最終的コード化機構
は、アキユムレータの正式な拡張と考えるべきで
ある。この点に関して、Aパイプライン内のすべ
てのブール変数は、2つの変形、すなわち、標準
変形と転送変形(後者は添字τで識別される)で
存在しなければならないことを思い起こすべきで
ある。転送変形はσ信号に反応して使用され、αi
からαi+1への状態変数の移動を処理する。各段ご
とに少なくともM+1回のシフトが行なわれるの
で、スーパー・アキユムレータを各段でM+1個
のセルだけ短縮することができる。 送 出 次に、完成した和を装置から送出するプロセス
に説明を進める。どのサイクルでも、アキユムレ
ータα0、…、αpから成るAパイプラインは、様々
な完成段階にある和を含む。完成した和の間に
は、まだ清算中の和が散在することがある。これ
までの説明では、和終端信号σが到着して初め
て、和が1つのステツプでAパイプラインの次の
アキユムレータに移動する。原則として、完成し
た和であれ、未完成のものであれ、ある和をα0
らαpまでずつと移動させるには、p個の連続した
σ信号の到着が必要である。さらに、pという最
悪の場合を選択したため、(p+1)σ信号
が、αpを占有している和が完成する前に、到着す
ることはできない。従つて、Aパイプラインに、
完成した和だけを含むことができる長さM+Cの
レジスタαp+1が追加される。 次に、和が完成するとすぐに開始される手順に
より、和が装置から送出されるように、Aパイプ
ラインの設計を変更する。さらに、設計自体によ
つて制限が課されているものとして、の送出機構
は、パイプライン内の他の和の動作にはほとんど
拘束されずに、和が完成するとすぐに和が送出で
きるようにする。この機構によつて装置に入力さ
れた連続する和の順序が乱されるので、以下に説
明するように、和を識別するためタグ機構を使用
することが必要となる。 まず、最終的符号化プロセスに、送出信号
付加される。信号の目的は、加算プロセスが完
了し、結果として生じた小数部ビツトと指数部ビ
ツトのAパイプラインからの送出が始まることを
示すことである。この信号は、調節信号に全
く類似している。丸め信号が生成され、あふれ問
題が解決された後で、符号化プロセスは、小数部
アキユムレータおよび指数カウンタに対する最終
調節を「法として」完了する。この状態は、次の
ように表わすことができる。 =“中間”∧. この信号式は、今ではよく知られている次の方
法により、インパルス信号式(すなわち、1つの
サイクルでのみ高い値になる)に変換される。 xp←(=“中間”∧)・z-1
(=“中間”∧). この原出口信号xpは、最終調節が完了した後で
のみ有効な出口信号になる。このことを確実に
するため、xpは、最終調節をひき起こすaにもと
づく信号である、左シフト信号lおよび減分信号
dと並行して移動する。lおよび(およびxp
がそれぞれ小数部アキユムレータおよび指数カウ
ンタを通つて伝播したとき、符号化プロセスは本
当に終了する。この時点で、xp信号は小数部アキ
ユムレータおよび指数部からカウンタ内に反射さ
れ、出口信号になる。第82図に、付加された
最終コード化装置を通るxpおよび信号の移動を
示す。 信号は、小数部アキユムレータ60を横切つ
て左から右に、また指数カウンタ78を横切つて
右から左にセル式に移動する。この信号は、和
をAパイプラインを通つて下降させる。まず、基
本的な送出について説明し、次に直前の和との適
正な相互作用について説明し、最後に、送出信号
xと転送信号σの相互作用について説明する。 送出信号は時間の経過について水平に移動し、
最終形である小数部ビツトに伝わる。セルは、送
出信号を受け取ると、 1 送出信号をその水平方向の低位の隣接セルに
(すなわち、小数部アキユムレータ60では右
に、指数カウンタ78では左に)伝達し、 2 その小数部(または指数部)ビツトをその下
方に隣接セルに伝送する。これらの移動の結
果、それぞれ第83図および第84図に示すよ
うに、小数部および指数部はスキユーされる。 ある和が、その直前の和よりも前に完成するこ
とがある。完成した既存の和に、処理中の和が重
ね書きされることを避けるため、小数部ビツトと
小数部ビツトは、それぞれ2つの変形、すなわ
ち、標準変形(mおよびe)、および転送変形
(m〓およびe〓)として存在しなければならない。
完成した小数部がAパイプラインの残り部分を通
つて移動する機構は、次の通りである。 完成した小数部ビツトm〓が、送出信号を同時
に受け取らないセルに入る場合、 完成した小数部ビツトは、Aパイプラインのこ
とレベルを通つて下降する。 そうでない場合は、完成した小数部ビツトはそ
の下方への移動を1サイクルの間休止し、やはり
完成している直前の小数部ビツトを先に下降させ
る。 これらの送出移動を記述する入出力ブールは次
の通りである。 送出信号の値が「0」の場合、 mビツトは影響を受けない。 そうでない場合は、現在のmビツトが出て、こ
の記憶ビツトが入りm〓を記憶するのに使われる。 m←(∧m)∨(x∧m〓). 送出信号の値が「1」の場合、 現在のmビツトは、m〓に代入されて、送出が
始まる。 そうでない場合は、前のサイクルで、送出信号
の値が「1」であるば、mの現在の値は、このと
きその送出のための移動を再開しなければならな
いm〓の休止値を保持している。そうでない場合
は、m〓の値をこの小数部セルを通して単に伝達
するだけである。 最後の場合、和が装置から送出されるときの順
序は、そのそれぞれの被加数が装置に入つたとき
の順序とは異なる。 m〓←(x∧m)∨(∧x・z-1
m)∨(∧x・z-1 ∧m〓) ここで、通常のように、z-1は1サイクルの遅
延を表す。対応する指数部ビツト送出の方程式
は、これらの方程式に完全に類似する。この送出
のための移動は、他の点での前述と同じままであ
るAパイプライン内の他のすべてのビツト処理に
付加される。 最後に、σによつて合図されるアキユムレータ
転送を、によつて開始される送出のための移動
と整合させるために必要なこれらのセルの動作上
の変化に注目する。アキユムレータ・セルαij
転送信号σを受け取ると、その内容は、どのよう
な動作が行なわれているかに拘らず、1レベル以
下に転送されねばならない。送出機構はσの動作
によつて妨げられない。この手法はアキユムレー
タ転送の下での線上げ伝播の手法に全く類似して
おり、独立して進行する。Aパイプライン内のす
べての状態変数の場合と同様に、σの信号の到着
によつて引き起こされる動作に適応するには、
が転送変形x〓内に存在しなければならない。 σの信号が装置に入ると、タグ・チヤンネル1
2(第1図)に入り、そのσ信号と歩調をそろえ
てタグ・チヤンネル12を通つて下降する。この
タグはTタグと呼ばれ、σ信号の到着により制御
されて非同期的に移動する。Tタグは、(P+2)
を法として和をカウントする整数Tである。従つ
て、装置内のすべての和の一意的なTタグを有す
る。 送出信号が最初に生成され、生じた和の装置か
らの送出が始まるとき、Tタグが一緒に利用可能
である。このようにして、出力が伝達のために識
別される。 これで、ただ1回の丸め操作の精度で、浮動小
数点を反復して高速計算するためのセル式ハード
ウエア装置が完成する、この実施例の基本的装置
の説明は終わる。この加算装置の好ましい実施例
は、第16図に示すセルを有する指数部復号領域
を備えたシーブを含んでいる。シーブおよびアキ
ユムレータ・パイプラインは、円筒形に配置さ
れ、シーブは第58図および第59図に示す複数
の落下領域を有する。一番左側の落下領域内のセ
ルは、第66図に示す通りであり、残りのセルは
第67図に示す通りである。和終端信号の伝播が
不必要なシーブ領域の上部の三角形の部分では、
その信号を伝播するための入力端子および出力端
子は使用されない。シーブおよび落下領域内の最
下行のセルは、第62図に示すように、アキユム
レータ内での第2位の繰上げを避けるため、追加
のCa出力を有するように機能強加される。アキ
ユムレータ・パイプラインは、第69図に示すよ
う例の形に形成された、第68図に示す個々のセ
ルから成る。各アキユムレータαiに隣接して、実
質的にセル式構造を有するアキユムレータの拡張
部分である第80図に示すコード化および丸め回
路構成である。アキユムレータαiないしαi+1の内
容を転送する際に、小数部アキユレータ、遅延要
素82等内で処理中の対応する内容が同様に次の
段の小数部アキユムレータ、遅延要素等に転送さ
れる。実際には、上述したように、符号化および
丸め回路構成は、単にアキユムレータの拡張部分
であり、その一部であると考えられる。個々のセ
ルは、当業者にとつて簡単な幾つかの方法で構成
することができる。これらのセルの内部の詳細に
ついて様々な例を示すのではなく、セルを完全に
数学的に定義し、それらの機能を説明したので、
必要とされる機能を実行するための適切な論理回
路を実現するのは簡単なことである。 上記に開示した本発明は、浮動小数点和の高速
計算に効果がある。セル・レベルでは、この設計
は同期型のVLSIを使用する。Aパイプライン内
で動作は非同期的になるので、本発明の装置で和
全体を計算するために必要な時間は、被加数の値
に依存する。ハードウエアの単位面積当りのスル
ープツトは、樹木ネツトワークのスループツトに
近いが、樹木ネツトワークにつきものの長い線と
信号伝播が不要である。本発明の利点は、主とし
てシーブの配置によつて可能となるが、このシー
ブの構造が可能なのは、多数の小数部が垂直およ
び斜めに下降して、劣化せずに互いに衝突できる
方法を実現したためである。しかも、セルの構造
が過度に複雑になることは全くない。このこと
は、シーブ内で信号組合せ機能を設けることによ
つて達成され、この機能は、そうでなければ1つ
のセルを占有するはずのビツトの数の無制限の増
加を防止する。 もちろん、基本設計について幾つかの改良およ
び拡張を加えることもできる。その幾つかについ
て次に説明する。たとえば、符号つき被加数の加
算、区間演算に必要な指示丸めの処理、反復剰余
訂正の計算手法に必要な累算保持モードの導入で
ある。 符号つき加算 最初に、符号つきの数の加算を可能にする幾つ
かのアーキテクチヤ上の変更について説明する。
入力のフオーマツトは次の通りであると仮定す
る。 c1c2…cCs m1m2…mM′ ただし、数が負の場合のみS≡1となる。説明
している体系は、符号つきビツトの概念に基いて
いる。符号つきビツトは、3種の値、すなわに、
正(+)、負(−)およびゼロ(すなわち、中立)
(0)のうちの1つを有する。3種の値を取るの
で、符号つきビツトを表すには、2ビツトを用い
る。ここで考察する手法は、以下のことを含んで
いる。 1 符号なしの小数部ビツトを、符号つき小数部
ビツトに変換する。 2 これらのビツトをシーブを通して処理する。 3 符号つきビツトをスーパー・アキユムレータ
で累算する。 4 符号つき累算の後処理…符号検出、正規化、
指数部符号化、丸め、および繰上げ清算。 符号なしの各小数部ビツトmは、ビツト・スキ
ユア14でスキユーされている間に、符号つき小
数部ビツトに変換される。スキユア、たとえば、
第6図に示す形式のスキユアに入るとき、小数部
ビツトは次のように符号化される。 「0」の小数部ビツトは「0」として符号化さ
れる。 「1」の小数部ビツトは「+」として符号化さ
れる。 符号ビツトは、小数部ビツトをスキユーする
セルを通つて、下および右に伝播する。負の被加
数を示す「1」の符号ビツトが、「+」の小数部
ビツトを有するスキユー・セル内に伝播する場
合、「+」の小数部ビツトが「−」の小数部がビ
ツトに変換される。他のすべての場合には、符号
つき小数部ビツトは変換されないままである。ス
キユーが終了した後、被加数の非ゼロの小数部ビ
ツトは、符号ビツトの値に応じて、すべて
「+」または「−」になる。 符号つき小数部ビツトのふるい分けは、前と同
様に行なわれる。唯一の相違は、シフト中の小数
部ビツトがここでは符号つきビツトであることで
ある。この相違は、合体の性質に影響を及ぼす。
合体する2つのビツトが反対の符号を有していな
い場合は、合体論理は前と同じであり、符号は合
体されたビツトに持ち越される。一方、合体する
2つのビツトが反対の符号を有する場合は、それ
らは相殺され、発生されるm〓およびcビツトの
値は共に「0」である。符号つき小数部ビツトの
合体によつて、シーブ・プロセスの構造が複雑に
なつたり無効になつたりすることがないことは明
らかである。合体から生じる小数部ビツトを含め
て、アキユムレータへの小数部ビツトの到着時刻
は、依存して復号および衝突によつて影響を受け
ず、合体によつて生成した小数部ビツトを含め
て、依然として最大限2つの小数部ビツトが1つ
のジーブ・セルに同時に入る。 小数部ビツトは符号つきなので、スーパー・ア
キユムレータ論理を変更しなければならない。そ
うするための1つの方法は、スーパー・アキユム
レータ・セルの3つの入力すべてに符号を付ける
ことができる。累算論理は、符号検出、正規化等
の後処理用に使用される。このために、次の簡単
な事実を利用する。 −x=−2x+x. すなわち、「−」ビツトがアキユムレータ・セ
ル内に置かれているときは、それを「+」ビツト
で置き換え、「−」の繰上げビツトを左に送る。
このようにして、「−」ビツトは、等しい重みの
「+」ビツトによつて相殺されるまで、左に伝播
する。和が負の場合は、一部の「+」ビツトは、
どの「+」ビツトにも相殺されずに、左に伝播す
る。この事実を、後続の符号検出プロセスで利用
する。 従つて、アキユムレータ論理は次のように要約
することができる。アキユムレータ・セルの3つ
の符号つき入力の間で、「+」および「−」ビツ
トがカウントされる。このカウントは〔−3、+
3〕の範囲内にある。和ビツトsおよび繰上げビ
ツトcの符号つきの値が、次の表に従つて割当て
られる。 【表】 この場合も、−1のカウントから生じるcビツ
トの値は、「−」ビツトが相殺されるが、または
先行非ゼロ・ビツトになるまで、「−」ビツトを
左に「移動」させ続ける効果を有する。和が負の
場合、それは最終的に「−」の先行ビツトを有
し、それが伝播してスーパー・アキユムレータの
左端から離脱し、その右側に「+」ビツトの列を
残す。この論理の効果は、すべての「−」ビツト
が最終的に「+」ビツトに変換されことである。
その結果生じる「0」ビツトと「1」ビツトのみ
から成るスーパー・アキユムレータは、和の2つ
の補数によるコード化である。シーブ・セルの最
下行での論理の変更は前と同様に処理される。 前と同様に、繰上げの清算中に、正規化された
小数部を発見し、指数部を符号化し、丸めを行な
うことが必要である。和の符号も検出しなければ
ならない。一度和がα0に転送されると、1サイク
ル毎に1位置だけ左にシフトされる。符号検出
は、他の計算と同様に、α1の遂次検査により高位
セルから低位セルへと実行される。α1中には、符
号つきのsビツトとcビツトだけがあり、新しい
ビツトは累算されない。従つて、セルを、その入
つてくるsビツトとcビツトの値の和によつて特
徴づけることがきる。この和は〔−2、+2〕の
範囲内にある。符号検出は、アルフアベツトに対
する有限オートマトンとして記述することができ
る。 Σ={−2、−1、0、+1、+2}. 第85図は、スーパー・アキユムレータ・セル
を左から右に読み、次のような一組の状態を有す
るオートマトンを示す。 Q={−2、−1、0、+1、+2}. これらの状態は次のように説明できる。 +2:和が正である。 −2:和が負である。 +1:和は仮に正であると考えられる。 −1:和は仮に負であると考えられる。 0:和の符号についての情報が知られていない。
これはオートマトンの初期状態q0である。 +2および−2は、この状態になると、後続の
入力によつて変更されない状態であることに留意
されたい。すなわち、最終状態である。従つて、
このどちらかの状態になると、ただちに符号検出
が完了する。スーパー・アキユムレータ全体の検
査の後、オートマトンが最終状態(すなわち、q〓
{−1、0、+1})にない場合は、最終状態qfに
次のように最終値を割当てる。 q=+1の場合、qf←+2 q=−1の場合、qf←−2 それ以外の場合は、qf←+2であり、和はちよ
うどゼロである。この場合、出力される指数はc
=e1である。このアキユムレータ終端を検出する
問題は、α0がα1に転送されるときα1,0に供給さ
れ、他のセル情報と共に左にシフトする、アキユ
ムレータ終端フラツグを設けることによつて実施
される。 値ゼロを有する和は、符号検出でこの最悪の場
合を実現する。 符号つき加算の残りのタスクは、既存の論理を
適当に変更することによつて簡単な方法で、達成
することができるので、これらについてのこれ以
上の説明は省略する。 指定丸め 浮動小数点演算の一部として実行される丸め
は、その演算によつて指定されることになつてい
る。もちろん、四捨五入のような基本的マシン丸
めは、省略時指定によつて指定することができ
る。良好なコンピユータ演算には区間演算が含ま
れ、それを実現するには、2種の指定丸め、すな
わち、▽(切捨て)と△(切上げ)を実施すれば
十分である。任意の実数x(最大および最小浮動
小数点数を間の区間にある)について ▽x=R(2、、e1、e2)≦xにおける最大数 △x=R(2、、e1、e2)≧xにおける最小数 したがつて、 ▽x=−△(−x) (1) 装置への和終端信号σの入力は、実行すべき丸
め演算子の指定の入力と一致しなければならな
い。通常、これは基本的マシン丸め□、または指
定丸め▽および△であると予想される。装置の入
口から、丸めが実行されるAパイプラインへのこ
の丸め選択の伝播は、簡単な方法で達成すること
ができ、ここで詳細に論じる必要はないので、A
パイプライン内での▽および△の実行について説
明する。四捨五入について上記で詳細に説明した
ので、四捨五入の際に必要な変更を単に指摘する
ことによつて指定丸めを説明することができる。 短縮式スーパー加算装置は、この3種類の丸め
のすべてを実行できるように拡張することができ
る。一般に、3種類の丸めは、それぞれ異なる機
構で進行する。従つて、アーキテクチヤを簡単に
するため、3種類の丸めプロセスは、第86図に
示すようにそれぞれスーパー・アキユムレータか
ら供給されるそれ自体の装置を有する。計算をパ
イプライン化し、早期の離脱を実行するための前
記の方法を、概念的に簡単なやり方でこの複数丸
め環境に転用することができる。従つて、この考
察では丸めプロセス自体に焦点を当てる。 上記の関係(1)から、正の数だけに注意すればよ
いことがわかる。△xはR(2、、e1、e2)≦x
の中で最大の数なので、正規化された小数部は単
純な切捨てによつて丸められる。新しいプロセス
は必要ではない。切上げについては、正規化がち
ようど完了したとき、正規化された小数部はアキ
ユムレータ60内にあり(小数部セル0は「丸
め」セル)、又スーパー・アキユムレータは和の
低位部分を保持する。 丸めは、以下によつて実行される。 A 和の低位部分の符号が正の場合、丸めセルに
+1を加算する。 B そうでない場合は、0(すなわち、切捨て)
を加算する。 従つて、丸め信号の値を計算するため、第85
図に示す有限オートマトンを使用することができ
る。この有限オートマトンは、その最終状態が
「+2」の場合のみ(すなわち、和の低位部分が
正の場合に限つて)、「+1」の値を発生するよう
になつている。 保持累算モード 反復剰余訂正の方法では、1群の和、たとえ
ば、数Qの正確な累算が必要である。 sj=sj-1+Rj、 RjNii=1 s(j)、j=1、…Q. ここで、S0≡0である。Si(j)εR(2、、2el、
2e2)(i=1、…、Njj=1…、Q)は、累算
中のj番目の和Rjのi番目の被加数を表わす。
Njはi番目の和Rjの被加数の数である。このプ
ロセスは保持累算と呼ばれる。この装置でもたら
される量は、次の通りである。 OSQεR(2、、e1、e2)、Oε{□、△、▽}. 次に、保持累算に対してσHと呼ばれる第2の形
式の和終端信号が導入される。σHは、σ信号と同
様に、スキユアおよびシーブを通つて伝播する。
σHは、各成分和Rj(j=1、…、Q)の終端を合
図するため、σの代りに用いられる。各Rjは、
通常の形でσ0内に累算される。しかし、σHは、α1
内へではなく、保持アキユムレータまた容器β0
にRjを押し下げる。この容器β0内でβ0はS0で(す
なわち、ゼロで)初期設定される。 繰上げ清算は、β0内で続行され、従つてRjの到
着によりβ0の各セルについて4つの入力が生成さ
れる。この状況は、上記の最初の累算に類似して
おり、β0のセル内での第2位の繰上げビツト出力
を避けるため、同じ解決機構を採用する。すなわ
ち、β0に、ジーブ自体の最下行のセルと同一の、
先駆アキユムレータpβ0が付加される。以後、容
器というとき、β0pβ0、またはその両方を意味す
ることがあるが、そのどれを指しているかは、文
脈から明らかになるはずである。RQの終端、す
なわち、あるクラス内の最後の和は、σとσHの両
方によつて合図される。σおよびσHがα0に到着す
ると、通常通りRQpβ0内に押し下げられるが、
RQpβ0からβ0にRQ移動してから2サイル後に、
β0の内容がα1内に押し下げられる。この最後の
押下げは、σ信号によるα0の内容のα1への押下げ
に完全に類似するプロセスである。α0の代りにβ0
を使う点だけが変わつている。考察中のσ信号が
β0に到着するのと同じサイクルにもう1つのσ信
号のσ0に到着すると、α1で衝突を起すことは、原
理的には可能である。これは、M>2の場合には
除外できるので、以下ではそう仮定する。 上記の考察から、Tタグは、σ信号によつてト
リガされて、被加数ブロツクに与えられることを
思い起こすこと。σ信号は、保持累算全体に対し
て一度だけ、すなわち、ちようど最後の被加数
SNQ(Q)が到着した後にオンになる。従つて、各
保持累算は、その保持累算の出力を識別する働き
をするTダク1つだけ受け取る。 幾つかの異なる保持累算を同時に処理すること
を装置に要求できるものと仮定する。これらの異
なる累算に対応するため、異なるH個の保持ビン
βj(j=0、1、…、H−1)が設けられる。H
より多い保持容器が必要となれば、装置は飽和す
る。H個の保持容器は、小面つきの円筒すなわ
ち、L×H個のセルから成る「B円筒」の表面に
実現されるものとして描くことができる。B円筒
は、第87図に示すように、長さはL個のセル、
周囲はH個のセル分だけである。ビンは円筒の小
面に対応し、容器とその内容は、円筒の周囲を同
期的に循環し、2サイクル毎に1個のセルを移動
させる。装置のセル式構造を保持するため、α0
ら容器へのデータの移動は、その容器が予め選択
された位相まで回転したときしか、行なうことが
できない。それに対応して、データは、予め選択
された位相、ふつうは、第88図に示すように、
円筒上でのビンの循環方向で読取位相から1小面
だけ現れた位相からのみ、容器から取り出してα1
へ伝達することができる。 M+1サイクルに一度だけ、α0の内容を受け取
るためにビンが必要となることがある。後で円筒
上の保持容器に送られるα0の内容を保持するた
め、待機容器w0が設けられる。条件 H〓(M+1)/2〓 によつて、w0の別の使用が表明される前に、円
筒がw0の内容を受諾することが保証される。別
の待機容器w1、w2、…を追加することにより、
より大きな値のHな簡単に対処することができ
る。 保持累算は、非同期的に発生するので、タグづ
け機構が必要である。和の各クラスターは、B円
筒上のその一意的な位置によつてクラスターを識
別する、容器・タグBたは「Bタグ」を与えられ
る。BはHを法とする整数であり、B円筒上の容
器を循環的に識別する。信号σHはBタグ発行機構
を活動化する。保持累算の最初のブロツク内の最
後の被加数であるSN1(1)の到着の後に、σHが到着
し、規約により、Bタグ機構はBTI=0である。
特定の保持累算に対応するσH信号が続いて到着す
ると、BTI値はIになる。BTI=0によつて装置
によるBタグの発生がトリガされる。最初はBタ
グ=0であり、Bタグの発生で次の状態が生じ
る。 Bタグ←(Bタグ+1)mod H 保持累算を行うプロセツサは、後続の累算が適
正な容器で行なわれるように、対応するBタグを
記憶しなければならない。この処理から次の関連
クラスタ、およびその終端信号σHが到着すると、
プロセツサは割当てられたBタグも供給する。値
BTI=1の信号は、割当てられたBタグの存在を
合図する。 Bタグは、σ信号と同様の形でスキユアおよび
シーブを通つて伝播される。もちろん、それには
1セル当り〓log2H〓ビツトが必要である。σH
Bタグがα0に到着すると、累算のためα0の内容が
ビンβBタグに押し下げられる。 B円筒機構は、装置を通るTタグの伝播に対し
て遅延効果を有する。具体的に言うと、Tタグ
は、α0沿いからα1沿いに移るのに3ないし3+H
サイクルの間待たなけばならない。それは、α0
内容がB円筒を経てα1に移動するのにこれだけの
サイルが必要なためである。 本発明を特にその好ましい実施例に関して図示
し、説明してきたが、本発明の精神および範囲か
ら逸脱することなく、外形および細部に上述およ
びその他の変更を加えることができることを、当
業者なら理解できるであろう。 E 発明の効果 以上説明したように、本発明によれば高スルー
プツトかつ高精度の加算装置が提供される。
【図面の簡単な説明】
第1図は、本発明に基づく加算装置の実施例の
概略図、第2図は、円筒形配置にした加算装置の
概略的外観図、第3図は、被加数ビツトのビツト
並行到着の説明図、第4図は、i番目の入力ワー
ドwiを構成する各ビツトを破線で囲んだ、ビツト
並行被加数が時間的にずらされた後の被加数の直
並到着後の説明図、第5図は、ビツト並列被加数
を受け取り、直並列被加数出力を供給する第1図
のビツト・スキユワーを示す概略図、第6図は、
w=C+M=8の場合の第1図のスキユワー14
の動作の説明図、第7図は、第6図の個々のセル
の入力−出力特性の説明図、第8図は、期間o(1)
および待ち時間o(j)で、セル列jを通るビツト
wjの移動に対する空間−時間図、第9図は、セ
ル状動作に対して第6図の個々のセルの遅延が延
長された、セル列jを通るビツトwjの移動に対
するもう一つの空間−時間図、第10図は、小数
部をその指数部の値に基いて送るための樹木ネツ
トワークの概略図、第11図は、ビーズの分類に
類似した小数部の分類の説明図、第12図は、小
数部をその「重量」に基いて分類するための別の
装置の概略図、第13図は、被加数の指数部をそ
れぞれのトラツプ・ドアに対応する「分類」値に
対して連続的に比較する操作の説明図、第14図
は、第13図の個々の比較段階の同時通報を実現
するための論理図、第15図は、第13図の個々
の比較レベルを実現するセル配置の論理図、第1
6図は、第15図の個々のセルの概略図、第17
図は、個々のシーブ・セルの動作の説明図、第1
8図は、C=2およびM=3の場合の、セル行列
から形成されたシーブを通る被加数の移動の説明
図、第19図は、wi+1がwiより前に復号され、従
つてwi中を通過する場合の2つの異なる小数部wi
およびwi+1の傾斜移動の説明図、第20図は、被
加数wi+1が復号され、未だ復号されていない被加
数wiと衝突する場合のビツトの衝突の説明図、第
21図ないし第26図は、被加数wi+1が復号さ
れ、その傾斜移動を開始し、被加数wiは2つの被
加数の小数部が衝突している間は復号されないま
まであり、その結果、各小数部が互いの中を通過
する場合の、ビツトの衝突の説明図、第27図な
いし第31図は、被加数wiが被加数wi+1の1サイ
クル後に復号され、これらの被加数が互いの中を
通過する場合の説明図、第32図ないし第37図
は、被加数wiとwi+2が同じ時点で復号され、wi+2
の指数部がwiの指数部よりもちようど2単位だけ
小さく、それにより、wiの小数部ビツト1−3が
それぞれwi+2の小数部ビツト3−5と共存する場
合の説明図、第38図ないし第41図は、M=4
で連続する被加数の指数部が同時に復号され、1
つのセルに4つの小数部が共存する場合の説明
図、第42図ないし第47図は、本発明に基づく
合体方法の一連の説明図、第48図は、繰上りビ
ツトCを付加された、第17図のセルの機能強化
バージヨンの説明図、第49図は、第1図の加算
装置の一部分の拡大概略図、第50図および第5
1図はそれぞれ、第51図に示すセルが第49図
のスーパー・アキユムレータのセルである、第4
9図のシーブの円筒形バージヨンの前面図および
上面図、第52図および第53図はそれぞれ、第
50図ないし第51図のシーブに対して偏位した
第2の円筒形シーブの前面図および上面図、第5
4図および第55図はそれぞれ、第50図および
第52図のシーの指数部復号領域で用いられる指
数部の値の順序を示す説明図、第56図および第
57図はそれぞれ、第50図および第52図のシ
ーブの重ね合わせによつて得られる2つの落下領
域を備えたシーブの前面図および上面図、第58
図は、2つの落下領域の左側の境界に沿つた斜め
の破線が、それらの領域の左側の境界の左側に入
つてくるころがり小数部を受け取ることができる
部分を示す、第56図に類似した前面図、第59
図および第60図はそれぞれ、(2C+M)/M=
8個の落下領域を有する円筒形シーブの前面図お
よび上面図、第61図は、スーパー・アキユムレ
ータ内の3個の低位セルと、それらを供給する3
個のシーブ・セルの概略図、第62図は、アキユ
ムレータ内の第2位の繰上りを避けるため最下行
のシーブ・セルが強化されている、スーパー・ア
キユムレータ内の3個の低位セルとそれらを供給
する最下行の3個のシーブ・セルの改良バージヨ
ンの概略図、第63図は、和終端信号の複製およ
び伝達の説明図、第64図は、スーパー・アキユ
ムレータの全長を通る繰上りビツトの伝播の説明
図、第65図は、Aパイプラインの説明図、第6
6図は、最下行のシーブ・セル(図示せず)に入
力および出力Caが設けられている。一番左側の
落下領域のインターフエース列内のセルのセル・
ダイヤグラム、第67図は、最下行のシーブ・セ
ル(図示せず)にも入力および出力Caビツトが
存在する、第63図のシーブ領域の下側の三角形
内の残りのセルのセル・ダイヤグラム、第68図
は、アキユムレータα1についてS〓ioがSaである、
累算セルのセル・ダイヤグラム、第69図は繰上
げ清算パイプラインの説明図、第70図および第
71図は、第70図が7個の先行ゼロの場合の正
規化前の構成要素を示し、第71図が正規化後の
構成要素を示す、M=5およびC=4の場合の正
規化および指数部符号化の実行に必要な要素を示
す説明図、第72図は、正規化および指数部符号
化ハードウエアを説明するための概略図、第73
図は、が1桁上からの借りを示す、第72図の
カウンタ64のさらに詳細な説明図、第74図
は、第72図の小数部アキユムレータ60の同時
通報動作を示す空間−時間図、第75図は、第7
2図の小数部アキユムレータ60のセル式動作を
示す補正空間−時間図、第76図は、小数部アキ
ユムレータ60の修正型セルのセル・ダイヤグラ
ム、第77図は、スーパー・アキユムレータ内で
の左シフトの説明図、第78図は、正規化、指数
部符号化および丸めを実行するための機能強化ア
ーキテクチヤの概略図、第79図は、小数部およ
び指数部に対する最終調節を含めて、正規化、指
数部符号化および丸めを実行するためのハードウ
エアの概略図、第80図は、「*」がα1p・sと
α1p・cの伝達を表す、第79図を符号化装置
のセル式バージヨンの概略図、第81図は、第8
0図の遅延セル82の概略図、第82図は、原送
出信号Xpおよび送出信号の移動を示す、最終
符号化を実行するためのアーキテクチヤの概略
図、第83図および第84図は、小数部アキユム
レータ60および指数カウンタの内容に対する送
出信号のスキユー効果の説明図、第85図は、
符号検出有限オートマトンの説明図、第86図
は、各種類の丸めに対して1台ずつ3台の異なる
後処理装置内へ左シフトするスーパー・アキユム
レータαi70の概略図、第87図は、保持容器βj(j
=0、…、H−1)を収容する小面を出すB円筒
の概略図、第88図は待機容器w0を介するAパ
イプラインとB円筒間の相互作用、および書込み
段階と読取り段階に示す説明図である。

Claims (1)

  1. 【特許請求の範囲】 1 各々が指数部および小数部を有する浮動小数
    点被加数の和を計算するための加算装置におい
    て、 各被加数の指数部の値を決定する指数部デコー
    ド部、前記決定された被加数の指数部の値に応じ
    て前記被加数の固定小数点表示に対応する出力で
    適当な位置の方に前記被加数の経路を決める振り
    分け部、その出力以前に異なる被加数の小数部を
    結合する結合部、を有する振り分け手段と、 この振り分け手段からの出力を受取り、累算
    し、この累算された和を浮動小数点形式に変換す
    る累算手段とを備え、 前記振り分け部は、第1および第2のパスセグ
    メントに沿つて適当な振り分け出力位置の方へ第
    1の小数部を通過させ、第3のパスセグメントお
    よび前記第2のパスセグメントに沿つて適当な振
    り分け出力位置の方へ第2の小数部を通過させ、 前記結合部は、前記第2のパスセグメントで前
    記第1および第2の小数部を結合することを特徴
    とする加算装置。
JP61301940A 1986-02-24 1986-12-19 加算装置 Granted JPS62202232A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/832,282 US4751665A (en) 1986-02-24 1986-02-24 Systolic super summation device
US832282 1986-02-24

Publications (2)

Publication Number Publication Date
JPS62202232A JPS62202232A (ja) 1987-09-05
JPH0444287B2 true JPH0444287B2 (ja) 1992-07-21

Family

ID=25261217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61301940A Granted JPS62202232A (ja) 1986-02-24 1986-12-19 加算装置

Country Status (4)

Country Link
US (1) US4751665A (ja)
EP (1) EP0239737B1 (ja)
JP (1) JPS62202232A (ja)
DE (1) DE3786474T2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965825A (en) 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US7831204B1 (en) 1981-11-03 2010-11-09 Personalized Media Communications, Llc Signal processing apparatus and methods
USRE47642E1 (en) 1981-11-03 2019-10-08 Personalized Media Communications LLC Signal processing apparatus and methods
US4872133A (en) * 1988-02-18 1989-10-03 Motorola, Inc. Floating-point systolic array including serial processors
JP2540366B2 (ja) * 1989-06-27 1996-10-02 セイコー電子工業株式会社 光書込液晶ライトバルブ
WO1992000560A1 (en) * 1990-06-29 1992-01-09 Luminis Pty. Ltd. A generalised systolic array serial floating point adder and accumulator
JP2684003B2 (ja) * 1993-10-06 1997-12-03 株式会社エイ・ティ・アール人間情報通信研究所 ニューロン型セルラオートマトンおよびこれを用いた最適化装置
JP6410637B2 (ja) 2015-02-25 2018-10-24 ルネサスエレクトロニクス株式会社 浮動小数点加算器、半導体装置及び浮動小数点加算器の制御方法
DE102019202532B4 (de) * 2019-02-25 2023-01-26 Volkswagen Aktiengesellschaft Ablage- und/oder Servicefach sowie Fahrzeug mit einem derartigen Ablage- und/oder Servicefach

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3144015A1 (de) * 1981-11-05 1983-05-26 Ulrich Prof. Dr. 7500 Karlsruhe Kulisch "schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit"
JPS59188740A (ja) * 1983-04-11 1984-10-26 Hitachi Ltd フロ−テイング加算器

Also Published As

Publication number Publication date
EP0239737B1 (en) 1993-07-14
EP0239737A2 (en) 1987-10-07
DE3786474T2 (de) 1994-02-17
EP0239737A3 (en) 1990-04-25
US4751665A (en) 1988-06-14
DE3786474D1 (de) 1993-08-19
JPS62202232A (ja) 1987-09-05

Similar Documents

Publication Publication Date Title
CN110955861A (zh) 用于高带宽、低延迟机器学习的电路
JP3729881B2 (ja) 並列加算および平均演算を行うための回路およびその方法
KR920008280B1 (ko) 집적 프로세서
EP0040279B1 (en) Binary divider
JPH02138620A (ja) 数値量を計算する方法および数値データ処理装置
US5272662A (en) Carry multiplexed adder
JPH0444287B2 (ja)
US4825400A (en) Floating point accumulator circuit
WO2022271244A1 (en) Fpga processing block for machine learning or digital signal processing operations
GB2186105A (en) Multifunction arithmetic logic unit circuit
JP2789577B2 (ja) 加算オーバフロ検出回路
US5010511A (en) Digit-serial linear combining apparatus useful in dividers
US12079590B2 (en) Efficient dual-path floating-point arithmetic operators
Capello et al. Systolic super summation
US6728745B1 (en) Semiconductor circuit for arithmetic operation and method of arithmetic operation
US6073155A (en) Floating-point accumulator
US5235539A (en) Method and apparatus for generating carry out signals
US7668892B2 (en) Data processing apparatus and method for normalizing a data value
US5084834A (en) Digit-serial linear combining apparatus
US4901317A (en) Efficient maximum-likelihood decoder for the golay (24,12) code
US10241959B1 (en) Coding wave-pipelined circuits with buffering function in HDL
EP0590914B1 (en) Microprocessor branch decision circuit
US6615228B1 (en) Selection based rounding system and method for floating point operations
US20040225699A1 (en) Method for early evaluation in micropipeline processors
US6954773B2 (en) Providing an adder with a conversion circuit in a slack propagation path