【発明の詳細な説明】算術処理、論理処理及び関連する処理を本発明は、数値エレメント上で算術処理、論理処理及び関連の処理を実行する方法、及びプロセッサ(こお(する算術演算装置(ALU)に関する。
発明の背景コンピュータにおける算術論理演算装置は、算術処理、論理処理、及び関連の処理を情報のエレメント上で実行する装置である。処理は、ALUに与えられた算術命令に従って提供される。通常的な大抵のALUは値を一時的に蓄積するためにアキュムレータ及び/又はt<7ソフア・レジスタ又は他の種類のレジスタと協働している。
発明の目的本発明の主な目的は、簡単な方法により数値表現を減少させる方法又はALUを提供することにある。
本発明の他の目的は、一時記憶装置の処理中に、一時記憶装置と協働することなく、機能するALUを提供することにある。
本発明の更に他の目的は、処理のために与えられた情報における演算命令を用いるALUを提供すること(こある。
本発明の更に他の目的は、オペランドが仮数と指数との間に制御可能な可変分割を備えることにより、浮動少数黒値を取り扱うことができるALUを提供することにある。
本発明の更に他の目的は、オペランドとして浮動少数黒値と、仮数と指数との間で分割についての情報を与える及びコード・フィールドとを存するバス上のビット情報を取り扱い得るALUを提供することにある。
本発明の更に他の目的は、命令を可変コード長のコード・フィールドにより供給するバスを介してそのオペランドに与えられる算術演算命令の取り扱いが可能なALUを提供することにある。
本発明の更なる目的は、浮動少数黒値としてと、整数としての解釈との間の共変動を有するALUを提供することにある。
発明の概要少なくとも前述の主目的を実現するために、本発明は、概要的に、以下のステップ、即ち:(a)処理されるべき数値エレメント、及び命令情報を含む入力リストを供給するステップと、(b)前記命令情報を用いて入力リスト上の前記数値エレメントについての処理を直接制御し、かつ実行するステップと、(C)各数値エレメントが所定のビット長を有するワードを供給するステップであって、ワードの最大数が前記入力リストにおける最大供給可能エレメント数と同一であるステップと、(d)前記処理装置が前記入力リストにおけるエレメ(e)前記処理装置から結果の出力リストを送出するステップとを含む数値エレメントに基づき、算術処理、論理処理、及び関連する演算処理を実行する方法を意図する。
好ましくは、前記入力リスト及び出力リストにおける最大エレメント数は4である。そのときに、1リスト・エレメントは命令ワード表示と共に供給されてもよく、2リスト・エレメントは2つの数値表示の各一つにより供給されてもよく、かつ前記入力エレメントの再書き込みを数回反復することにより行なう計算中に、中間の計算結果を供給するように用いてもよい。
リストは、好ましくは、そのエレメントのうちの一つか命令コードであり、残りか命令に対するアーギュメントである81能アプリケーシヨンを含む。命令は、最終的な結果に到達するまで、結果の出力リストから入力リストへ命令コードを再書き込みし、かつ反復することにより、実行される。各再書き込みの際に、このリストは、適当なときに数値ワードか続く実際の計算に適当な場合は、更新した命令コード・ワードを含むように再書き込みされてもよい。
実際の処理の前に、符号化された形式により供給される数値ワードを備えるのが適当である。数値ワードを表わすワードは、好ましくは、数値を緻密な表現に設定する符号化により供給される。即ち、ある値のあらゆる符号化表示は、唯一の解釈値に対応する。第1の符号化は、整数値を表わす二進ワードにより供給されてもよい。第2の符号化は、浮動少数黒値を表わす二進ワードにより供給されてもよい。符号化は、符号化後に、浮動少数黒値表示を整数値表示と同一順序により供給するのが好ましい。このようにして、いずれの表示も二進ディジット形式である必要はない。ハードウェアは、以下で与える規則により、即ちどのように解釈を行なったかを知ることなく、ただ無条件で変換されたビット・パターンについて計算を行なうように、備えられたものであってもよい。
可変指数幅を有する浮動少数黒値を達成する簡単な方法は、二進コード化された浮動少数黒値表示に、コード・フィールド、指数フィールド及び仮数フィールドを含めることであって、前記コード・フィールドは、前記指数フィールド及び前記仮数フィールドが変数長を有するように、前記指数フィールドと前記仮数フィールドとの間の除算位置についての表示を有する。緻密な表示は、浮動少数黒値表示の仮数部用のワード・フィールドの前に、仮想゛l”、即ち表示か物理的に供給されない“1“を含めて供給されてもよい。
以下はこの明細書において用いられている表現、及び限定したそれらの意味についてのリストである。
クロージャ 処理を定める階層構造のエンテイテ(closure) イ。全てのクロージャは、固有に定めるルートを有する。簡約化マシンにおける簡約化作業はクロージャ上で行なわれる。このマシンの全状態は簡約化により変換される。
ゴール 実行されるべき、即ち減少されるべ(goal) きクロージャ。
グループ 4二進数デイジツトからなるグルー(group) ブ。各ワードは多数のグループからなる。
スライス 1又はいくつかのワードの断片。2(slice) ビットを含むスライスは、例えば2ワードの最下位ビットからなるものでよい。
調整(align) 使用されるべきビットが正しくワード内に配置されることを確認することである。
リダンダンシー 誤り検出用に付加されたデータ又は(redundancy) 複数のビット。
正規化コード 仮数の最上位ビットか正の値のときに仮想“I”となり、負値のときに仮想″0′となるように表わされる浮動少数黒値。
二進数表示 任意の数値系又はコードにおける数を表わす“0″及び/又は“1″の組合わせ。
二進数ディジッ 2基底とする数値系。
ト形式Hコード 数を表わすために、本発明にょるALUに用いられている特定コード。
整数H値 整数値を表わす特定コード。
浮動少数点H値 浮動少数黒値を表わす特定値。
緻密な表示 あらゆる二進数の組合わせ(ビット・パターン)が一つの固有な数値に対応している。
図面の簡単な説明本発明のより完全な理解のために、かつ他の目的及びその効果のために、ここで添付する図面に関連して以下の説明を参照する。
第1A図は本発明によるALUの概要図、第1B図は第1A図に示すALU用のクロック信号及びいくつかの基本的な制御信号の図、第2図は本発明によるALUの一実施例の概要ブロック図、第3図は算術表示によるビット・フィールド分割の概要図、第4A図は整数用のコードのグラフ表示図、第4B図は浮動少数黒値用のコードのグラフ表示図、第4C図は7ビツト・バスに供給さ゛れる算術表示の設定を説明する概要図、第5A図〜第5D図は第4図に従って供給されるデータ・リストを示す図、第6図は本発明によるALUの一実施例の回路図、第7A図〜第7C図は異なるクロッキング・シーケンスにおいての本発明による数値ALUの人出力バッファの一実施例を示す図、第8図は異なる出力組合わせを供給するためのオペランド・ユニットに含まれるエレメントの制御用のニューモニックと共に、第6図に示す回路に含まれるオペランド・ユニットからの出力組合わせ例を示す図、第9図は例えば第6図に示す、与えられた入力バスのうちの一つを介するワード用の回路に含まれる精密デコーダの出力を示す図、第10[は−例として与えられた二進仮数ビットの組合わせについて異なる解釈例を示す図、第11図及び第12図は2つの浮動少数黒値の加算例の説明を補強する図、第13図は第6図に示す回路に含まれる精密デコーダの一実施例の回路図、第14A図は第6図に示す回路における全ワード加算器の一実施例のブロック図、第14B図は第14A図の加算器における精密スライスのブロック図、第14c図は第14B1gの精密スライスにおけるビット・スライスのブロック図、第15図は第6図に示す回路の増分器における精密スライスの一実施例を示す図、第16図は第6図に示す回路のオペランド回路におけるセレクタに含まれる基本的なセレクタのビット・スライスの一実施例を示す回路図である。
第1A図に概要的に示す数値算術論理演算装置ALUは、制御駆動装置1a、及びそれぞれがMビット値を伝送する多重(M)伝送ラインを存する一本のバスである特定の入出力V O、V l及びV、について算術演算を実行する算術演算装置アレー2aを備えており、Mは例えば32である。ALUは、好ましくは、中央処理装置(CPU)の一部分てあり、制御装置(CU)により外部的に制御されている。ALUは以下の信号:クロック信号人力CALUs ビジー出力A 5usys制御入力A CNTL、ステート出力AatAtg、及びデコードされた命令出力A INBにより外部の制御装置1cUと通信をする。
バス入出力V o 、V + 、vt及びvsは、簡約型式の命令を処理し、以下でコア・プロセッサと呼ぶ構造算術演算装置(図示なし)内のゴール・レジスタ又はGレジスタと呼ぶ特定のレジスタに供給可能にされている。しかし、バス入出力信号も、好ましくは、簡約型式の計算装置と協働する他の種類の手段により供給されてもよいが、他の型式の計算装置も勿論可能である。更に、第1A図では入出力バスV◇N v+ 、vt及びvsの数を4本として示したが、この数は任意に選択可能である。しかし、ALUの複雑さは、はぼ入出力バスV O、V l、V 1 、V *の数と共に増大する。
入出力バスv、 、Vl 、vs 、VZはワードのリストを転送する。一つのワードは一つの数値又は一つの命令からなる。全てのバスは常時使用状態にあるわけではない。使用中でないバス上のワードについては、無視してもよい。入力リスト及び出力リストは最大長、即ち最大ワード数を有し、例えば4、即ち1入出力バス当りlリスト・エレメントを含む。一つの数値は一つのワードであり、このワードはいくつかのワイヤを介して転送される。更に、一つのバス上の一つの命令も一つのワードである。計算を制御し、かつ実行するために用いられるのは、入出力v、 、Vl s Vl 、v、を介する入力リストである。即ち、入力リストは供給されるべき計算の種類、及び計算されるべき値の特徴に関する情報を含む。制御駆動装置1aはこの情報を入力リストから取り出す間に、算術演算装置アレー2aにおける異なる構成部分を制御している。計算は、1ビツト、又はビット・グループ形式で、即ち、別個的に一つのワードにおいて同一位置を有する複数のビットのために、又は一つのワードにおいて「スライス形式」で供給される複数のグループのビットのために、入力リストの内容を再書き込みすることにより、行なわれ、かつその結果を出力リストとして供給する。内部回路を介して値を、最終的な出力リストをその出力に送出する前に、数回反復させることが可能なことに注意すべきである。反復中は、一時的な出力リストが出力に送出されるが、一時的な入力リストとして挿入されるだけである。
リストには、例えば少な(とも一つの整数値、又は浮動少数黒値を含むだけのリストのような、処理されるべき値又は他の型式のリストと共に、機能アプリケーションを含めてもよい。入出力v0を介して供給される第1のリスト・エレメントは、機能アプリケーションを含むときは、命令コード、即ち実行すべき処理の種類の情報を含み、残りのリスト・エレメントは、以下て更に詳細に説明するように、命令に対するアーギュメントである。
一つの命令は、最終的な結果を得るためにその命令を1又はい(つかのステップに再書き込みすることにより、実行される。ALU内ではマイクロ命令及びステート信号が用いられている。これらは、算術演算装置アレー2aを制御するためにALU内で別個の制御駆動装置t1 aにより用いられる。再書き込みが直接、結果に至るときは、出力リストにその値が設定される。段階的に再書き込みを行なうときは、リストは、同一命令コードを保持するように、又は新しい若しくは少し変更した命令コードを存するように、かつ多くの場合で一つの値又は複数の値が続く命令コードを有するように、再書き込みされる。数サイクルで再書き込み処理を行なう最良の形態は、処理全体を通じて命令コードを保持することである、ということに注意すべきである。なぜならば、このように場合に制御装置がより簡単となるからである。しかし、更に、多数サイクル処理の開始時に1種類の命令コードを有すること、及び残りのサイクル中に少し変更された当該命令コードを有することなども好都合であろう。
図IAに戻ると、クロック信号CALIIを用いて算術演算装置ALUにクロック・パルスを供給しており、ALUが何時クロック・パルスの受け取り準備完了となるのかを出力A BLISY上のレディー信号によって表わしている。
命令又は数値内容を有する入出力バスV Os V l、V 2 、V 2は、ゴール・レジスタにおける主レジスタ・セルに接続されている。その数値内容は、好ましくは、それか表わしているのは浮動少数黒値か、又は整数かによって異なる符号化形式によりALUに供給される。各ゴール・レジスタ・セルは、数値の各入出力と同一のビット(即ち、図示の例では32ビツト)だけでなく、タグかセットされているいくつかのビット、例えば6ビツトも含む。本発明の最良の態様とみなされる実施例では、これらのタグは入出力バスに供給される情報に含まれていない。その代わりに、タグ情報は外部のfilJ御装置1cUに供給され、続いてこの制御装置CUはALUの制御駆動装置1aを制御している。
しかし、タグ情報か直接、制御駆動装置即ちALU制御に供給されるように、入出力を介して供給される情報にタグを含めることは、本発明の範囲内である。これも、ALUが通常型式のプロセッサと協働する装置として用いられるときは、本発明によりALUを駆動する最良の方法であろう。
制御入力A cNtはALUの数値処理を制御するために用いられる。この数値処理は数サイクルを要するものとなろう。
出力A I?A?Eは各処理の後に制御装置CUに戻される。
出力Aオ、上の命令コードは、入出力バスV、が接続されているゴール・コア・セルにおいて命令コードを圧縮したものである。
第1B図第1B図を参照すると、プロセッサ用の制御装置CUにより供給される基本的なりロックは、C1゜であり、例えばI Onsの周期を存する。ALU処理はこのような1又は数クロック・サイクルにおいて実行される。ALUに接続されているコア・プロセッサは、ALU用の周期より長い例えば2倍周期である周期により、即ちC+。
か1Onse存するときは、周期20nsを存するクロック信号C3゜により、制御され得る。しかし、その代りに、コア・プロセッサは、より短い周期により制御されたクロック信号を備えることも可能である。従って、短い周期を有する装置(即ち、図示の実施例におけるALUか、又はコア・プロセッサ)用の基本的な制御信号CA L 11は、長い周期を有するクロック信号C1゜と同期させるために命令の終わりで引き伸ばされる。ALUは、命令を実行するために更に多くのC,、U式のクロック・サイクルか必要な限り、ハイの信号A11USYを返送する。
第1B図から明らかなように、信号A BLISYがローとなった後に、引き伸ばしが行なわれる。
第2図第2図に示す本発明の実施例は、中央エレメントとしてA L tJ制御回路10を備えており、その入力で回路に適当な信号の変換及び組合わせを行なって出力リストのエレメントを供給する。ALU制御回路10は1種のプール代数ゲート・アレーを備えている。第2図は第1A図の右手側に対応する。
入出力バスvo、■2、■2、■、は、それぞれが例えば32ワイヤを有する多数本ワイヤのバスであって、入力バッファ回路11の入力に接続されている。入力バッファ回路11はそのクロック入力を介するクロック信号によりクロッキングされてその入力信号を入力バスVol、Vll、Vll、■、1に送出する。
出力バッファ16はそのクロック入力を介する反転クロック信号によりクロッキングされて出力バスV 0011?、V 1out、V !QLIT、■、。、アの情報を入出力バスVo、Vl、Vx、Vsに送出する。第2図において独立した2つのバッファを含むようにバッファ構成11及び16を示しているが、バッファ構成11及び16は、好ましくは、組合わせ人出力バッファ回路である。
多数の計算回路12A−12N(Nは回路の数である。)は少なくとも2つの内部入力バスVo、、Vll、VZ+、■、、に接続され、それぞれは接続されている内部入力バスV。l、Vll、Vll、VS+を介する異なった情報構成により、簡単な一種類の計算、例えば加算又は引算を行なう。計算回路12A−12Nは、本発明によりALUが一部分を構成しているアプリケーションに必要とされた、想定されるあらゆる簡単な計算を直ちに待機させることができるように、設定されているので、時間が非常に節約される。そのとき、ALU制御回路lOは、他の処理目的のためにそれぞれ特定種類の処理のための計算回路のうちの適当な一つから出力を直接取り出すように選択することもできる。各計算回路の規模は小さく、特に電力を消費することはない。従って、並列に計算を行なうい(つかの回路を備えて、その時点でそのうちの一つのみの出力を用いるものであっても問題とならない。
計算回路の出力は以下で詳細に説明するオペランド装置OP、及びOP、に供給される。
更に、計算回路12A〜12Nからの信号は、いくつかの場合で、制御に用いられてもよい。各計算回路12A−12Nは第2の出力を育し、これを介してオバーフローを表わ子ために用いるキャリー信号を供給する。この第2の出力はALU制御回路10の個別的な入力に供給される。計算回路12A〜12Nは、ALU制園開園!Oと、ALUにおける他の回路とにより制御されており、その入力を介して表わされるワードの種類の情報、浮動少数点値か、また浮動少数点値であるならば、その数の特性に関する情報を発生する。
多数の監視回路13A−13M(Mは回路の数である。)は、それぞれ個別的に入力バス■。5、Vll、Vtl、V)lのうちの少なくとも一つに接続されている。これらの監視回路は、例えば入力バスの情報の内容を監視、即ち入力バスの情報を比較している。監視回路のいくつかは、監視回路+3Aについてのみ示すように、計算回路12A−12Nと同一の制御情報か供給される。監視回路13A〜13Mの出力はALU制御回路10の入力に供給される。
3〜4つの特性付与回路14A−14Dか少なくとも入力バス、V l lSV 21及びVatに接続され、一部の入力バスから情報を取り出して入力バスの残りの情報の特性に関する情報を与える。入力バスV2iに接続されたALUlii1回路10は、以下で更に説明するように、乗算の場合に入力バスvII上の最下位二進ディジットを導き出す。更に、特性付与回路14Aは入力バスVOIにも接続されてALU制御駆動回路に対する外部制御バスEXT上の情報が入力バスV。l上の情報が数を表わすことを示す場合に、所定のいくつかの情報を導き出すこともできる。
例えば、バス上の情報が浮動少数点値であるときは、このバスに接続されている特性付与回路は、例えば最上位について、その値の符号、指数符号、及びいくつかの仮数ビットに関する情報を供給する。特性付与回路14Dが設けられたときに、Vtlから導き出されてALU制御回路10の1入力に供給する特性の種類は、入力バス、■、及びv21からの種類と同一である必要はなく、例えばより簡単されたものでよいことに注意すべきである。
同一の理由付けは入力バスVa+の特性付与回路14Aについても成立する。
ALU制御回路lOは、出力AITATI、本質的に計算回路12A−12N及び監視回路13A〜13Mからの入力を外部の開園装置CU(第1A図を参照すること)に供給する。
実行すべき処理に関する復号命令をALU制御回路lOに与えるために、入力バスv、1上の総情報を監視する命令回路15が備えられている。
第2図に示すように、入力バスV61上の情報は、出力バッファ16に接続された出力バスv0゜、に、好ましくは、前述のように、クロック信号により逆極性でクロッキングされている組合わせ人力バッファ回路11及び出力バッファ16においてバス接続の形式により、直接供給され得る。このバスに命令リスト・エレメントを持たせ、かつこの命令リスト・エレメントを変更させないことが便利である。更に、ALUからの他の出力バスV、。117% V xoutSV s。。アも出力バッファ16にも接続されている。また、全ての出力バス上の情報は、クロッキングにより同時に入出力バスVO1V’、V!、V2に出力される。ALU制御回路10はALUにおける他の回路に制御信号CI、C2、c3、c5を供給する。
しかし、ALUIIJi11回路IOに接続された入力バスvolの少なくとも一部を備え、これが多数サイクルの処理において実際のサイクルから独立していくつか変更を可能にさせること、及び変更した命令リスト・エレメントを出力バスV。uT (図示なし)に供給することを可能にする。
本質的に同一種類のオペランド装置OP、及びOP。
は、それぞれ出力バスV、。ut及びv2゜utを備えている。
しかし、第2図に示す実施例におけるように、2つのオペランド装置を実際に備える必要はない。本発明による異なったALUアプリケーションに、1つのみ〜複数の異なる数のオペランド装置を用いることができる。しかし、この種類の処理は計算回路12A〜12Nのうちの一つにより達成され、かつオペランド装置の入力のうちの一つに供給され、かつALU制御回路10からの制御により、そのオペランド装置の出力に送出可能にされるので、加算又は引算を行なうためにはオペランド装置が一つあればよい。同時に、異なるい(っかの種類の加算処理及び引算処理を行なうために、いくつかのオペランド装置を用いることもできる。各才へランド装置は出力バスV0..を備え(ただし、iは任意数を表わす。
)、従って、入出力バス、入力バス及び出力バスVの数はALUにおけるオペランド装置の数から独立していることに注意すべきである。
乗算処理又は除算処理に関連して用いるため、及びその出力を出力バス■3゜、に供給するために、他の種類のオペランド装置OP、が備えられている。乗算処理及び除算処理はいくつかのサイクルのステップにより実行される。オペランド装置tOP、の出力はV30.である。同様に、1以上の異なる数のオペランド装置OP、が存在し得ることに注意すべきである。
前述のように、かつ以下で更に詳細に説明するように、浮動少数点の演算に関連して、指数の長さは、本発明の少なくとも一実施例における少なくとも複数のステップで、選択可能である。従って、精度デコーダPDI及びPD2は、それぞれオペランド装置OP +及びOP、のうちの各一つに備えられている。この精度デコーダは、それが属するオペランド装置に指数部の長さに係わる複数の制御信号を供給する。この長さは、以下で更に説明する二進ワードにおける特定のコード・フィールドから導き出し得るものである。更に、この精度デコーダは、前述のように、ALU回路の他の部分に制御信号を供給することができる。
ALUに対する、値が整数か、又は浮動少数黒値であるかに関する情報は、好ましくは、外部の制御装置CU(第1A図を参照すること)によりALU制御回路10の制御人力EXTに供給されるが、その代りに、入力バスVOI〜VS+から導き出されてもよい。
以上から明らかなように、入力バスには異なるが、明確に定義された算術演算におけるタスクを供給するのが都合よい。従って、入力バスには前述した好ましいとされるゴール・レジスタのように、供給構造から直接、明確に定義されたタスクを有する情報が供給されるか、又はALUそのものが入力バス上の情報を、内部サイクルにより、かつ他のバス上の情報に関する入力バスv、I上の情報を用いて適当に変更する。入力バスv0.は、入出力バスVo 、V+ 、V2 、Vsを介して供給されるリストに情報の種類に関する情報を有するデータ・フィールドを備えることかできる。しかし、更に、この情報は外部の制御装置CUから供給されてもよい。
以上から明らかなように、本発明によるALUは内部メモリを備えていない。これは、各サイクルの乗算処理の結果か、前隅のサイクルの結果の出力によってのみ影響されるものにし、これが処理するように適応された入力となる。
前述のように、本発明によるALUに望ましい一目的は、浮動少数点表示系において指数と仮数との間で可変除算を可能にすることである。その場合は、第1に、小さな数について仮数に多数ビットを有することが可能であり、これが高精度にする利点をもたらす。他方で、非常に大きな数を取り扱うこともできる。
整数の乗算に関する例本発明によるALU処理の理解を簡単にするために、ここでは2つの整数の乗算について例を挙げる。更に、浮動少数黒値を計算する際に、ALU処理について1つの例を挙げることにする。
例えば、以下の方法により整数の乗算を行なうことができる。第1のサイクルにおいて、乗算されるべき2つの数の一方を入力バスV、に供給し、他方を入力バスV、に供給する。入力バスv1は情報“0″を有する。
第1の種類のオペランド装置のうちの一方、例えばオペランド装置OP、は、■、上の情報をその出力に直接転送するように制御される。他方のオペランド装置OP。
は、左へ1ステツプだけV、上の情報を遷移させるように制御され、遷移した結果をその出力に送出する。次のサイクルにおいて、オペランド装置のうちで最初に述べたオペランド装置OP +は、計算回路12A−12Nのうちの一つに接続されているその入力のうちの一つから情報を転送するように制御されて、入力バスV11及びV21上の数の加算を行なう。他方のオペランド装置OP2は、入力バスv21上の情報を取り込むように制御されて、左に1ステツプだけ情報を遷移させ、これをその出力に送出する。
その後、各サイクルにおいて、最初に述べたオペランド装ft0P、は、回路の出力を転送し、入力バスV31上の情報の二進数か“l”であるときは、入出力バスv1及びV、上の情報の加算を行ない、そうでないときは、入力バスVll上の情報を取り込むように制御される。ALU制御回路10用の情報は特性付与回路14Dの出力に供給される。オペランド装置OP、の入力に供給された入力バスv21上の数値情報は、右へ1ステツプ遷移して最下位の二進ビットを削除するように制御される。
少なくとも一つのオペランド装置OP、及びOP、は、ALU制御回路IOに返送するリターン信号(第2図に示されていない。)を供給して、内部のシフトがキャリーを発生させたことを示すことができる機能を備えてもうよい。各サイクルは2ステツプにより実行され、その一方のステップはクロック信号の最初の半周期において実行され、他方のステップの次の半周期において実行さ従って、第3図に概要的に示すように、数値を有するバス上の各ビット・パターンは、好ましくは、その値の符号、指数符号、及び数値の指数部と仮数部との間の除算位fit(第3図における右矢印を参照すること)に関するコードの情報を有するビット・ストリングの最上位ビットに短いビットフィールドを備えている。更に、ビットフィールドのコード部分の長さは変更可能なこと、及び第3図における左矢印により示すように、コード・フィールドと指数フィールドとの間の除算位置の配置がコード・フィールドにより決定されることに注意すべきである。
以下、十進数を表わす3つの方法を説明する。
I 二進数ディジット形式:2を基底に有する数値系。
II 整数H−値二 整数を表わす二進数コード。
III 浮動少数点H−値: 浮動少数黒値を表わす二進数コード。
本発明によるALUに望ましい他の目的は、同一数の整数解釈と同一順序にある数の浮動少数点表示を得ることにある。従って、同一ビット・パターンの浮動少数黒値及び整数値は完全に異なる。
しかし、この目的は、表示が浮動少数黒値として解釈されるべきときは、ビット・ストリング用の第1の解釈式を備え、また表示が整数として解釈されるべきときは、ビット・ストリング用の第2の解釈式を備えることにょリ、満足され得る。従って、表示か二進数ディジット形式である必要はなく、その代わりにそのうちの少なくとも一つ、好ましくは両方が符号形式にある。ビット・パターンの変換は自動的に行なわれ、当該装置におけるバー−トウエアは以下に示す規則により、即ちどのように解釈したかを知ることなく、変換されたビット・パターンについての計算を無条件に行なうのみである。
本発明の好ましい実施例によれば、緻密な浮動少数点値表示を得ることを意図している。即ち、同一数として解釈可能な2つのビット・パターンであってはならない。
用語「近い表示」とは、あらゆる十進数は固有の二進数組合わせに対応していることを意味する。
第4A図、整数表示第4A図は整数H値と呼ばれ、本発明による整数値用のコードのグラフ表示を示す。水平軸に二進数表示が示され、また垂直軸にH値か示されている。最上位ビットはその値の符号か負であるか、又は正であるかを表わす。
第4A図から明らかなように、H値は、二進数表示が全て“0“であるときはその最も大きな負値を有し、二進数表示の中央で即ち最上位ビットか“0″から“l“に変化するときはOを有し、二進数表示か全て“l”であるときはその最大の正の値を有する。従って、Hコードにおける二進数の組合わせ値は、二進数ディジット形式で増加するのと同様に、増加する。二進数ディジット形式にある二進数組合わせワードか“l“であるときは、これも最大値を有する。整数コードは一つの直線である。
第4B図、浮動少数点値表示第4B図は浮動少数H値と呼ばれ、本発明による整数値用コードのグラフ表示を示す。水平軸に二進数表示が、示され、また垂直軸にH値か示されている。ここで、垂直軸は、浮動少数点H値の符号が変化する点を通って引かれている。更に、この表示において、最上位ビットはその値の符号を表わす。浮動少数点値表示は汎用的となる仕様を満足させなければならない。ある精度の場合に、その値の大きさは任意に可変でなければならない。従って、極端に小さな値及び大きな値の表示か可能でなければならない。浮動少数点H値の目盛は対数である。対数のH値を、それぞれ2の係数の間の直線近似を用いて単純にすることができる。その結果は典型的な浮動少数点コードとなる。第4B図に示すように、−1と+1との間でH値を表わす二進数表示は、二進数表示フィールドの中央に設けられ、フィールドの半分を含む。
値の相対精度は全範囲の値で一定である。対数値は一定の精度及び範囲を存する。大きさが任意の大きさでなければならないときは、対数の範囲が調整可能なものでなければならない。
対数値は一回であっても、又は更に多くの回数であっても対数関数に適用可能とされる。従って、非常に大きな値を表わすことができる。その精度は大きな値で減少するが、小さなレベルての精度を確保すること、又はやや増加とすることも可能である。
2つの表示の2つのビット・パターンは同じようにして出現するので、浮動少数点値表示にも整数値の大きさ比較器を用いることができる。これは特定の浮動少数点値比較器を避けることかできることを意味する。また、これは、lサイクルのみで比較処理を行なう整数値比較器を浮動少数黒値に使用でき、これが大きな利点となることを意味する。通常要式の浮動少数点値比較器は、その処理のために多くのサイクルを使用しなければならない。
通常の算術論理演算装置では、いくつかのビット・パターンを同一数であると解釈することがあり、正規化は、これらのビット・パターンのうちの一つを選択するようにして行なわれる。本発明によれば、正規化を行なう必要はなく、少なくとも実際の計算では必要でない。正規化を計算処理の前後で行なうことができる。浮動少数点表示で同じような緻密な表示をすることにより、浮動少数黒値の計算、例えば比較は1サイクルのみで決定することかできる。更に、緻密な表示をもつことの利点は、浮動少数黒値の最大値も得られることである。即ち、連続的な値において排除される値及び使用できない値を供給されることかない。
通常のアプリケ−シコンて同一数と解釈され得るいくつかのビット・パターンが何故存在するのかの理由は、値を生成するために、値の指数部及び仮数部が互いに乗算されることにある。例えば、値1.0は2’*1/2、即ち指数ビット・パターンO1及び仮数ビット・パターン100を有するものか、又は2”*1/4、即ち指数ビット・パターンlO及び仮数ビット・パターンO1Oを有するものとすることができ、指数ビット・パターン及び仮数ビット・パターンが互いに続く。
本発明による一実施例によれば、緻密な表示は正の値には仮数ビット・パターンの前に、無条件に、即ち実際に存在することなく、“1“を与え、また負の値には無条件に“0”を与えることにより生成される。通常、仮数は−1と+1との間の値として指定される。本発明によれば、二進数化された仮数は符号に従って範囲(1,0〜2.0)又は(−2,0〜−1)にある値として指定される。
整数パターンは正確に決定され、浮動少数点表示は、整数解釈と同一の連続順序を有する必要があり、これを規制するのは非常に困難である。
第4C図に概要的にこの問題に対する効果的な解決を示す。第5A図〜第5D図は第4C図に示す原理に従って設けられたワードのデータ・リストを示す。第5A図〜第5D図において右端の欄は、左端の欄における二進数組合わせに対応する十進浮動少数黒値を示す。第4C図は浮動少数点コードの概要的なグラフ表示を示す。二進数表示は垂直分割線LINの左側に示され、浮動少数点H値は垂直分割線LINの右側に示されている。垂直分割線LINは高い値を指す軸として示されている。これは、二進数表示及びH値表示の両方に適応される。
二進数表示及びH値表示は、垂直分割線LINの両端の外側へ伝搬するように示されている。垂直分割線LINに対して最も近いのは、第4B図における図の軸の表示である。右へはH値軸、また左へは二進数表示軸である。
軸表示の外側、右の第1のフィールドsh、及び左の第1のフィールドSは、最上位ビットを表わす。負の値は“0″であり1、正の値は“1”である。
その外側の第2のフィールドseh及びseは、それぞれ次の最上位ビットを表わす。これは指数符号ビットである。負符号は“0“により表わされ、正の符号は1″より表わされている。
32ビツトを有する場合について以下で説明するように、少なくとも1ビツトが次の最上位ビットより低い位置を有する第3のフィールドは、7ビツトのみを有する図示の場合のように、二進数フィールドがローのときは1ビツト、二進数フィールドがハイのときは1ビツトより多い。
第4C図、第5A図〜第5D図に示す実施例ては、実際にはより頻繁に用いられると思われる32ビツト・ワードの代わりに、7ヒツト・ワード用の符号化が示されている。第4C図において中心線のすぐ左の二進数表示は、H値−1024〜+768を有するものと解釈される。H値−1及び+1は、値Oと極限値−1024及び値768との間の中間にそれぞれ配置されている。表示用及びH値用の第1の二進数ビットS及びshは、その値の符号が正の値であるか、又は負の値であるかの符号である。
第2の二進数ビットは指数符号、即ちその絶対値が数1より大であるか、又は小であるかの符号である。従って、H値の指数符号ビットsehは−1024と−1との間で正であり、−1と+1との間で負であり、+1と+768との間で正である。その代りに、第4C図の左側から明らかなように、二進数表示の指数符号ビットSeは二進数シーケンスの最初の1/4で負、第2の1/4で正、第3の1/4で負、かつ第4の1/4で正である。指数符号ビットsehは、例えばs=1ならば、5eh=seであり、そうでなければ5eh=1−seと説明することができる。
従って、二進数表示において、キャラクタの符号を表わす最上位ビットは、変化が最も遅く、指数符号を表わす次の最上位ビットの変化が次に遅い、即ちキャラクタ符号ビットのものの2倍である。次の桁のビットは指数ビットの2倍の変化があり、コード・ビットCである。
このコードは、第4C図、第5A図〜第5D図による実施例では、1ビツトのみを含む。他の実施例では、コード・フィールドは1ビツト以上を含む。このコードは指数の長さを制御し、前の符号ビットの観点から見るべきものである。
浮動少数点のH値、即ち達成されるべき浮動少数点記号は、より詳細な形式でコード・フィールドchを与える。指数H値を直接与える第4C図におけるセクションehから明らかなように、この値ehは、大きな正の値から値Oへ低下してH値が−1となり、そこから大きな負の値へ行ってH値か0となり、そこから値0に行って■(値が+1となり、か一つそこから大きな正の値に行き、H値が768となる。セクションehab*は絶対値の指数H値を示し、それぞれが両端で大きな正の値になり、その中央で0となる。H値ch用のコード・フィールドは、H値eh−b、を反映するように設計されており、従って点線により同一形式を有するように、かつコード・フィールドが1ビツトのみを含むときは、実線によりそれか有することになる形式を備えるように示されている。
従って、5e=1のときは、符号ch=cてあり、そうでないときに、符号chのみが1ビツトを含むときは、ch−ψI−cである。
ここまでは、第5A図〜第5D図に示すリストの説明を進めるのか容易であった。なぜならば、ビット・フィールドs、sh、se、seh、c及びchのうちのそれぞれが1ビツトのみを含み、従って第4図における表示と、第5A図〜第5D図における表示との間の比較は明らかとなる。第5A図〜第5D図における第1の欄はoooooooからlll’1lllまでの連続的な二進数のリストであり、十進数系において直接対応する値を第2の欄に示す。矢印側の右には、表示用に変換した数、及びH値が示されている。このリストは、第4C図の表示との比較を容易にするために、表示コード・フィールドの各切換用に連続的な水平線が設けられている。
chの右の欄は、表示の指数値eの十進表示、その次のH値の指数値ehの十進表示を設けている。次の2つの欄は値e及びehの二進数表示をそれぞれ示す。
その次の2つの欄は、表示用の仮数値mの十進表示及び二進数表示をそれぞれ示す。その次にH値の仮数値mhの十進表示を示す。仮数は、第5A図において値shを“0”とする−1と−2との間、及び第5C図、第5D図において値shを“1″とする+1と+2との間で変化することに注意すべきである。右端の欄は、変換されたときは、左端の欄における二進数組合わせにより得られる十進H値を示す。
第5B図の上部から明らかなように、最上位ビ・ノドとして“1″を存し、”θ″が続(表示は、特定の浮動少数黒値“0”を表わす。
第4C図において中心線から左隣の連続的な二進数から明らかなように、符号ビット及びコード・ビットに3上位ビットが確保されるので、7二進数ビツトは指数及び仮数により共有されるべく残されたその4下位ビットを有する。ディジタル欄e及びmから、指数符号seを負、即ち“0”とし、コード値Cが“1″である最上部のセクションにおいて、値eは3ビツトを含み、従って値mは1ビツト(その欄において最初の2つの“0″は省略することができる。)である。これは第4c図に示されており、このセクションにおいて多くのステップにおいてe表示を有する。指数符号seが依然として負であるが、符号値Cが“0″である次のセクションにおいて、値eは1ビツトのみを含み(その欄における最初の2つの“0′は省略することができる。)、仮数値は3ビツトを含むことかできる。これは第4図にこのセクションにおいて数ステップにおけるe表示を有することにより示されている。次のセクションにおいて、値eは1ビツトのみを含み、仮数は3ビツトを含み、以下同様になる。
表示部分に示すように、指数eは、C=O及び5e=Oを存するセクションにおいて多くのステップを存し、c=1及び5e=1を存するセクションにおいて少数のステップを有する。セクションeの左のセクションe+biasにおいて、完全なlセクションの各1/4内で互いの後の線に設けられた値eが連続的な線により示され、かつ点線により、e h * b−か6+biasにおけるlセクションの全ての第2の1/4を反転させることにより、とのようにして構築されるかが示されている。
(ehは指数符号を存するeの値を表わしている。)従って、コード・ビット又は複数のコード・ビットは前の指数符号ビットに従っている。このために、実際のコードは符号ビットを含んでおり、従って非常に限定された長さを有する、即ち指数の長さがコード・フィールドにおいてのみ備えられているものに従うべきときは、より短くなり得る。
仮数の長さは、指数か長いときは、仮数が短くなるように、及びその逆となるように、指数値に従っている。
従って、仮数は第4図には示されていないが、第5A図及び第5B図におけるリストの欄m、mから明らかである。ただし、最初のmは十進数値を示し、第2のmは対応するそのディジタル値を示す。前述のように、s=1のときは、mh=1.0+mであり、そうでないときは、mh=−2+mである。
前記の例は、説明するために7ビツト・ワードについて説明した。前述のように、ワード長は極めて長く、例えば32ビツトが選択されることがある。そのときは、可変コード長を有するのが実際的である。更に、回路をより簡単にするために、複数ビット、例えば4ビツト・グループのステップにより、指数と仮数との間の1除算点から進行させることが実際的である。これによる利点は、進行がビット形式で行なわれるときに必要とするような多くのコードを必要としないことである。以下で、このような精度デコーダの1例を更に説明する。
第6図に第2図に示す回路の実施例の詳細を示す。入出力バスVO、Vl 、v=及びV、は入出力バッファ20に接続されている。この人出力バッファ20は、人出カバッファのクロック制御入力に供給される外部クロック信号CLOCKの各反転クロッキング期間に入力上の情報を内部バスv、Iv、、、v!l、■□にそれぞれ転送し、また各タロツク期間に内部出力バスV0゜。ア、V +ot+t、V ROUT、V、。u、上の出力を入出力バスvO、’+’l 、V2、v8にそれぞれ転送する。
第7A図、第7B図及び第7C図第7A図、第7B図及び第7C図に人出力バッファ20及びそのクロッキングの実施例を示す。更に、人出力バッファ20は、各入出力バスve SVl 、v= 、V@について一つの入力バッファと、同一数の出力バッファとを有する。
レーシング問題を発生させないために、クロック信号は重なり合ってはならない。これは、クロック信号の前縁を少し切り欠いて調整される。
左に括弧により印した反転されている、第7A図に示すクロック信号CLOKの第1のフェーズにおいて、外部発生源から入力は、送信ステートに開織されている入力バッファを介してALU内の内部データバスに供給される。データは、出力バス上に設定される次のステートへ遷移する間に、ALU内の内部データバスを介して伝搬される。出力バスは禁止ステートにセットされる。
第7B図に示すように、第7B図の左に括弧により表わしたクロック信号CLOKのクロック期間のフェーズlにおいて、人出力バッファ20の入力バッファは禁止ステートに制御され、ALU内の内部回路は安定なマルチプレクサとして機能して入出力バスV6 、Vl 、Vl、V、上に供給される信号を制御する。
人出力バッファ20における出力バッファは、送信ステートにセットされる。
フェーズ0での多重サイクル命令における条件を第7C図に示す。フェーズ0では、前のフェーズ1中でALUから供給された入出力バスVo s Vl 、Vz 、Vsの内容を、容量効果のために保持することができ、従って出力バッファが禁止ステートに制御されている閏に送信ステートに制御されている入力バッファを介して入力バスv、l、 vl、、v2I、■□へ転送し、またここから次のステートへ遷移する間にALU内の内部データバスを介して伝搬する。
好ましい応用によれば、入力リストのみを用いて、入力リストにおける内容を再書き込みにより行なう計算を制御すると共に実行させ、かつその結果を出力に供給させる。このリストは格納した機能アプリケーション又は他の型式のリストを存することができる。機能アプリケーションにおける第1のエレメントは命令コードであり、残りのエレメントは命令にアーギュメントされる。好ましいこのアプリケーションは、入力データに依存する機能ハードウェアを備えることに依存している。しかし、入力バスV1、V 11s V $1上に存在する情報の種類に関する情報は、好ましくは、制御装置CUから入力EXTを介して与えられる(第1A図を参照すること)。
制御装置CUは、好ましくは、入力バスV61、Vll、■、1、Vll上のワードが命令及び/又は番号を表わすかの情報を有し、またその番号が浮動少数黒値、又は整数であれば、この情報をバスEXTを介してALU制細回路27に供給する。
しかし、実際に機能的な動きが要求されない有用なアプリケーションであることもあり、そのときは例えばALU制御回路から入力EXTを介してALU制御回路に対する外部情報を用いて計算の制御及びパフォーマンスを得ることもできる。
一つの命令は、lステップによりその最終的な結果まで命令を再書き込みすることにより、又は最終的に結果に到達するためにいくつかのステップによりリストの値を再書き込みすることにより、実行される。
ステップ状の再書き込みを行なうと、同一の命令コードを各ステップに用いること、又はリストを新しい命令コードに再書き込むことができる。このリストは値に従弟6図に示す実施例には異なる命令を実行するために以下の処理装置が備えられている。即ち、第1の比較器21が入力バスVOI及びVllに接続され、これらバスの全ての情報を比較し、即ちVOI>Vll、v、1=v1.について比較し、その比較結果、即ち2ビ、。
ト値をALU制御駆動27に接続されているその出力Cmpo+に供給する。第2の比較器22が入カッ(スV11及びV21に接続され、これらバスの全ての情報を比較し、即ちvz>vz+、■、、=v、、について比較し、その比較結果をALU制御駆動27に接続されているその出力c m p 12に供給する。第3の比較器221が入力!(スv、1及びV□に接続され、これらバスの全ての情報を比較し、即ちV 1+ >V $ISV !l=V 31について比較し、その比較結果をALU制御駆動27に接続されているその出力Cmp*zに供給する。第4の比較器222がそれぞれ32ビツトのバスである入力バスVll及びVllに接続され、これらバスのワードの最上位部分、即ち部分se、c、e、即ち仮数及び符号を除く、全ての情報を比較する。比較器は前述の部分5e、C,eのコードについて記録する。従って、精度デコーダPDからの信号B Igblは、比較器222の別の入力に供給される。
第5の比較器223は精度デコーダからの信号B Igbl及びB Igblを比較する。その結果の信号Cl71p−prcは、信号B Igbl及びB l+1+2が同一であるかどうかを示している。
ALU制御回路27は比較器からの比較結果を制御装置CUに接続されている出力A、□ATLに供給する(第1A図を参照すること)。更に、この比較結果を以下で説明するいくつか装置の制御に用いることかできるので、適当ならば予め選択されたワードを出カッ(スv1゜−、vz。、、及びV、。、、上に送出する。
無効デコーダ23がワイヤVllに接続されており、Vll上のビットが全て“0”か、又は“ビであるかを調べており、バスVll上のワードが浮動少数黒値を表わすときは、指数部及び仮数部におけるビットか全て“0”か、又は“l”かを個々に調べる。
この情報に関する情報は信号B Imblから導き出され、入力V11の最下位ビット・グループを表わす。この信号は、入力バス上のワードが整数を表わしているのか、又は浮動少数黒値を表わしているのかについての情報、かつ浮動少数黒値の場合には、指数部と仮数部との間の除算の情報を供給する。これら試験の結果はALU制御回路27の入力に接続されている出力insig、に供給される。
無意デコーダ24かバスVttに接続されており、V21上のビットは全て“0”か、又は“1”であるかを調べ、バスV□上のワードが浮動少数黒値を表わすときは、指数部及び仮数部におけるビットが全ての“0“か、又は“l”かを個々に調べる。これについての情報は信号B +ah2から導き出され、最下位ビット・グループの入力V□を表わし、信号B Imblと同−型式の情報を供給する。
これら試験の結果はALU制御回路27の入力に接続されている出力insjg*に供給される。
無意デコーダ25かバスvi+に接続されており、Vll上のビットが全て0″か、又は012であるかを調べ、バスV21上のワードが整数を表わすとき、及びバスV2+上のワードが浮動少数黒値を表わすときは、指数部及び仮数部におけるビットが全て“θ″か、又は“l”かを個々に調べる。これについての情報は信号B Igblから導き出される。これら試験の結果はALU制純回路27の入力に接続されている出力insfgsに供給される。
更に、各無効デコーダもALU制御回路27から以下で更に説明する制御信号c5gにより制御される。
無意デコーダを有する目的は、実行すべき計算に参加する入力のうちの一つの情報か無意とすべきか、否かを検出する。更に、この情報はバスA 5rpttを介して制御装置CUにも供給される。無意装置のうちの一つの少なくとも一人力が例えば全て0を示す最終条件は、多数の繰返しを含むいくつかの型式の処理のためにALU制御回路27により用いられてもよい。
命令デコーダ26が入力バスV□に接続されている。
この入力バスVatは、ALUが演算処理を実行すべきときは、命令を転送する。vo、をデコードした結果は、VOIが命令又はデータ値を有するときは、出力insを介してALU制御駆動27に転送される。更に、無意デコーダ23〜命令デコーダ26は、精度デコーダPDI、PD2及び27において発生した他の信号B Igbl、B Igbl及びC6によってもそれぞれ制御されており、更に以下で説明される。
加算器及び引算器入力バスV、及びVllに接続された第1の加算器28が加算v、、十v!、を行ない、その結果を別個の出力a。
に供給する。発生し得るその結果のキャリー信号はALU制御駆動27に接続された出力gra+に供給されることになる。入力バスV11及びVllに接続された引算器29は、引算Vll Vllを行ない、その結果を別の出力a、に供給する。発生し得るその結果のキャリー信号はALU制御駆動に接続された出力grewに供給されることになる。入力バスV、及びv!Iに接続された第2の加算器30は加算V11+2*V!Iを行ない、その結果を別の出力a、に供給する。可能とするその結果のキャリー信号はALU制園制動駆動27続された出力grasに供給されることになる。
更に、加算器は以下で更に詳細に説明するALU制御回路27からの制御信号C5により、及びに信号B1□b1より制御される。この信号は、入力バス上のワードが整数を表わすか、又は浮動少数黒値を表わすかの情報、かつ入力バスV11及びV21上の浮動少数黒値及び調整された値の場合には、指数部と仮数部との間の分割の情報を供給する。離散的な値、即ち整数が一つのエンティティとして評価されるが、連続的な値、即ち浮動少数黒値、仮数部及び指数部については、個別的に評価されるので、この情報は本質的である。
第1の符号及び指数符号回路35は、入力バスvl、上のワードの符号、指数符号、最上位仮数ビット及び2つの最下位仮数ビットを処理し、かつALU制御回路27の入力にその出力S ign+を供給する。第2の符号及び指数符号回路36は、入力バスvtl上のワードの符号、指数符号、最上位仮数ビット及び2つの最下位仮数ビ・ソトを処理し、かつALU制御回路27の入力にその出力sign、を供給する。第3の符号及び指数符号回路37は、入力バスvs1に接続されてもよく、ALU制御回路27の入力にその出力51gn1を供給する。
符号及び指数符号回路35及び36は、入力バスV11及びv、1上に供給されたワードの一部分として符号、指数符号及び仮数ビットを処理するときに、必ず必要とされることに注意すべきである。これらは、入力バス上の浮動少数黒値ワードの場合にALU制御回路により用いられる。
符号及び指数符号回路37は、本発明によるALUのいくつかの応用において省略されてもよい。更に、符号及び指数符号回路(図示なし)は、入力バスVOI用に備えられた本発明によるALUのいくつかのアプリケーションにおいても可能である。
ALU制御回路27はその入力信号を処理することにより出力バスcl、c2、C3、C4、C5上にディジタル出力信号を供給する。ALU制御回路27は、好ましくは、プール代数ゲート・アレーである。出力信号により供給される制御例は、以下で更に説明される。
オペランド装置入力バスV11及びVll上の各オペランドについて一つの2つのオペランド装置rl及びr2は、lエレメントに固有な全ての演算処理を含む。各オペランド装置はいくつかの情報入力を有する。これら情報入力のうちの3つは、3つの加算器28.29及び30の個別的な出力a+、a*及びa、にそれぞれ接続されており、これらのうちの3つは入力バスV11及びVllにそれぞれ接続されている。また、これらのうちの3つは、以下で更に説明するように、個別的な精度デコーダPDI及びPD2のいくつかの出力にそれぞれ接続されている。要するに、各情報入力は、各入力バスVo+、V I 1% V ! l、v、lと同一数のワイヤを含むバスである。
オペランド装置r1の出力は出力バスV、。、lであり、オペランド装置r2の出力は出力バスv2゜、、である。
オペランド装置r1の第1の出力clはオペランド装置rlにおける内部エレメントを制御する複合制御信号である。オペランド装furl用の他の制御信号は精度デコーダPDIにより供給される。ALU制御回路27の第2の出力C2はオペランド装置tr2における内部エレメントを制御する複合制御信号である。
オペランド装置r2用の他の制御信号は精度デコーダPD2により供給される。
第3の出力C3はオペランド装置r3に供給される複合制御信号であり、第4の出力C4は以下で説明するポリソーム(polynome)供給回路31に供給され、第5の出力C5は精度デコーダPDI及びPD2、更に無効回路23〜25、加算器28.30及び引算器29並びに符号及び指数符号回路35〜37を制御するために供給される。
各オペランド装置rl及びr2は、本質的に同一の構成を育し、従ってそれらのうちの一つr2のみを詳細に説明する。オペランド装置rl及びr2において対応するエレメントには、同一の参照番号が与えていた。オペランド装置は2つのグループ、即ち指数部OP、及び仮数部OF、に分割される。仮数部OP、は出力nlを存し、指数部は出力n2を有する。出力nl及びn2は、グループ別セレクタともいう出力バス・セレクタM1の入力に接続されている。制御信号C2I+により制御された選択により4“0″又は4“1″の精度グループを供給する0/1発生器40は、更に出力バス・セレクタM1の付加的な入力にも接続されている。
指数部OP、は、入力としてオペランド装置の入力のうちの4、即ち精度デコーダPD2からのVll、及びB blast 、B ca l++e+!、B co dsc+2を有し、更に仮数部0PL11からの入力n8も育する。入力VZ+はインクリメンタTNCの入力、デクリメンタDECの入力、及びワード・セレクタM2の5人力のうちの一つに接続されている。構成要素INC及びDECの出力n5及びn6は、ワード・セレクタM2の2つの入力にそれぞれ接続されている。B eo 1mer!、B eo dec+ffiはワード・セレクタM2の2つの入力のうちの他方に接続されている。
更に、オペランド装置r2における構成要素INCはキャリー出力gr+を及びCe1tを存し、一方、構成要素DECはALUflilJIU回路27に接続されたキャリー出力grdz及びCeatを有する。(更に、オペランド装置r1はインクリメント構成要素のキャリー出力Cez及びg r zを有すると共に、ALU制御回路27に接続されたデクリメント構成要素のキャリー出力Cea+及びg r a+を有する。)キャリー出力はクロック・サイクルの前半中の始めで供給される。ワード・セレクタはクロック・サイクルの前半の終わりで制御され、このワード・セレクタの制御信号は、インクリメント回路又はデクリメント回路のいくつかにおいてキャリーがあったか、なかったかを考慮して供給される。
第1のセレクタに対する通常の最大伝搬遅延はI/2サイクル以上である。従って、この構成により発生する付加的な遅延はない。しかし、典型的な伝搬遅延は1/2より全般的に小さい。全ての信号は最後の1/2サイクルへの遷移時に評価される。セレクタにおいては不必要な遷移が発生することはない。
オペランド装置におけるワード・セレクタM2の出力n4は、4人力ワード・セレクタM3の第1の入力と、インバータINVを介してその第2の入力に直接接続されている。出力n2は指数部OP、の出力である。入力B b l a a 2はワード・セレクタM3の第3の入力に接続されている。
仮数部OP、は5人力、即ちvt+、a+qaz及びa、を有する。これらの入力は全て5人力及び出力n8を育する各ワード・セレクタM4の入力に接続される。
出力n8は指数mOP、におけるワード・セレクタM3の第4人力に接続されている。更に、出力n8は、ワード・セレクタM5の3人力のうちの一つと、その入力における二進数情報を4ステツプだけ下位方向にシフトする、即ち二進数情報を16により除算する負のシフタSH1を介してワード・セレクタM5の入力のうちの第2の入力と、その入力上の二進数情報を上位方向に4ステツプだけシフトする、即ちその入力上の二進数情報を16により乗算する正のシフタSH2を介して入力のうちの第3の入力とに直接接続されている。
ワード・セレクタM5の出力n7は、直接、ワード・セレクタM6の6人力のうちの第1の出力と;その入力上の二進数情報を下位方向へ1ステツプだけシフトさせる負のシフタSH3を介して第2の入力と:その入力上の二進数情報を下位方向へ1ステツプだけシフトする正のシフタSH4を介して第3の入力と;その入力上の二進数情報を上位方向へ1ステツプだけシフトする正のシフタSH5を介して第4の入力と:その入力上の二進数情報を上位方向へ1ステツプだけシフトする正のシフタSH6を介して第5の入力とに接続されている。内部定数ワード発生器41はその制御人力C21゜上の制御字に定数ワードC1゜、0を発生し、ワード・セレクタM6の個別的な入力に接続された出力を育する。内部定数ワード発生器41は、0若しくはlの所定の組合わせ、例えば全て“0”若しくは全て“1“のグループ、又はこの発生器に制御信号c2+。により制御されるい(つか特定の情報を表わすワードを供給することができる。この発生器は制御信号e2+。により選択するように、限定数のワード組合わせのみを格納することができる。ワード・セレクタM6の出力は仮数部OP、の出力nlである。
仮数部OP、は以下の機能を実行する。n8上の基本的な仮数値はワード・セレクタM4により選択されてV 21Sa + 、a !又はa、を発生させる。
これは、そのまま、又はシフトされた1、2.3.4.5.6ビツトだけ右へ(正のシフト)、又はl、2.3.4.5.6ビツトだけ左へ(負のシフト)されているものとして用いられても、又は内部定数ワード発生器41により供給されるワードCwatd2により置き替えられてもよい。
指数部OP、は以下の機能を実行する。その出力は、n8v2.+1、反転されたV tl+I s V il−1、反転されたV 21 1 s B eo−1me+2、反転されたB c++−deer2、又はB b 1m + 2 c r 1上のシフトされていない仮数値であり得る。
オペランド装ftr2において、ワード・セレクタM2〜M6はALU制御回路27の出力C2上の制御ワードC2により個別的に制御されている。従って、ワード・セレクタM2は制御ワードC2の部分c2sにより個別的に制御され、ワード・セレクタM3は制御ワードC2の部分C22により個別的に制御され、ワード・セレクタM4は制御ワードC2の部分C2,により個別的に制御され、ワード・セレクタM5は制御ワードC2の部分c2@により個別的に制御され、ワード・セレクタM6は制御ワードC2の部分C24により個別的に制御される。
更に、ワード・セレクタM4の出力n8に接続されたシフタSHI及びSH2は部分信号c2gにより、シフタSH3及びSH6は部分信号C27により、インクリメンタINC及びデクリメンタDECは部分信号029により、出力C7゜7.2を供給する内部定数ワード発生器41は部分信号c2+。により、及び0/1発生器40は部分信号C21,により、制御される。
ビット・グループ個別セレクタMlは、制御ワードの部分C21、精度デコーダPD2からの出力コード信号B0.2、出力最下位ビット信号B +sh s41を及び出力指数信号B @Hp adllを含む組合わせられた多数ビット信号により制御される。最後に述べた2つの信号は、それぞれ精度デコーダPD2から来る出力B I m k及びB azp2からの処理回路42A及び42Bにより導出される。この信号は以下で更に説明され、かつ図示される。処理回路42A及び42Bは、ALU制御回路27からの出力C2の一部分である信号c2sにより制御される。精度デコーダPD2は、ALUfIIJ御回路27からの二進数制御信号c5.と共に、入力としてバスV2+上のffl1!の指数符号及びコード部分を有し、パスVtt上のワードは整数を表わすのか、又は浮動少数点値かを表わすのかを示している。制御信号c5sはALU制御回路27からの出力c5の一部分である。
オペランド装置rlのための精度デコーダPDIも同じようにして動作する。精度デコーダPDIからの信号B 1sbl、B @X?lは、処理回路43A及び43Bにより処理され、B15hadll及びB mxl adllをそれぞれ供給する。
通常、処理回路42A、42B及び43A及び43Bはそれか属するデコーダからの入力として同一の出力を供給する。しかし、いくつかの場合に、キャリーがインクリメンタINC又はデクリメンタDECから供給されるときは、以下で更に説明するように、出力信号がシフトされる。このシフトは、それぞれALU制御回路27からの出力C2又はclの部分信号c2i又はC1iによりそれぞれ制御される。
精度デコーダPD2(又はPDI)は、ワードvt、が整数を表わすときは、例えば、全て0が供給される処理回路42A、42B(又は43A、43B)に対する出力と、ワードVt+(又はv、1)が浮動少数黒値整数を表わすときは、B @!F2、B 、ab2及びS、、、t(又はB *yyl、B1□1及びB cdsりとして以下で説明する種類の出力とを有することにより、示されている全て無意の出力を供ビット・グループ個別セレクタM1は、出力n1及びn2上に供給される情報及び0/1発生器40からの複数の部分を選択するようにそれぞれ制御される。第3図に示された型式、即ち浮動少数点値を表わす型式のワードは、第8図の上部に、分裂矩形形式で示されており、ビット・グループを形成することが可能な方法を示す。
基準s、se、c、e、m、msb及びlsbは、符号、指数符号、コード、指数、仮数、最上位ビット及び最下位ビットをそれぞれ表わす。出力バス・セレクタMlに対する入力情報の分割モザイクの組合わせ例は、矩形形式のワードの下に示されている。制御の型式は二一モニックにより表わされたデータ・ワードに通常に用いられており、このような二−モニック例を第8図の左に示す。
当然、各二一モニックは、例えば5又は6ビツトを含むビット・パターンにより表わされる。ビット・パターンは、好ましくは、制御バスc2+を介して出力バス・セレクタMl(及び制御バスcl+を介して出力バス・セレクタMl)に供給される。処理回路42A及び42Bは、信号B lsb mart及びB *++p adl!を出力バス・セレクタMlの制御入力にそれぞれ供給するのに適当なときは、精度デコーダから来る信号B +abl及びB mtptをシフトさせる。従って、出力バス・セレクタMlは、その入力に供給されるいくつかの信号により制御されるが、プール代数ゲート・アレーを通る着信組合わせ制御信号の一定のビット組合わせに応答して、第8図から明らかなように、各組合わせは入力nl、n2の出力と、0/1発生器40の出力との組合わせから特定の組合わせを供前述のように、オペランド装置r1は実質的にオペランド装置r2と同一の構成を存する。2つのオペランド装置r1とオペランド装置tr2との間の相違は以下の通りである。即ち、入力v1及び入力V、は位置を変更した。
定数C1゜、d□は定数Cw。r42から独立している。回路r1は制御回路C1により制御され、ALU制御回路の個別的な制御ワード部分c1.〜c1.1へ除算され(制御出力C2による代わりに)、かつ入力としてVll as all 、即ちVllの指数符号及びコード部を有する精度デコーダPDIにより制御される(入力としてvzl ss ell 、即ち特にvzlの指数符号及びコード部を有する精度デコーダPD2による代わりに)。
精度デコーダPDIは、出力信号Bca−decrl、Bco−1ae+l、B bla*Iq BagPIs BImkl、B m g b I及びB e d * +をオペランド装置r1に供給し、かつコードが指数の最大長を表わすか否かを示す信号B ca **x1、及びコードが指数の最小長を表わすか否かを示す信号B0゜−1,1をALUIIJ陣回路27に供給する。精度デコーダPD2は、出力信号BCO−4*etl、BCQ−1sc+2、B h1ms2 、B@met、B Igb!、B mob!をオペランド装置r2に供給し、かつコードが指数の最大長を表わすか否かを示す信号B C0IIIII11及びコードが指数の最小長を表わすか否かを示す信号B go−slmlをALU制園開園27に供給する。前述のように、精度デコーダPDI及びPD2からの出力B1□b、Bm*eは、新しい精度を出力に反映させるために仮数がシフトさせるのと同様に、かつ信号C2s又はC1mの部分の制御にそれぞれ従って、処理回路42A及び42B又は43A及び43Bの制御による行なわれる通常のシフト中に、シフトされなければならない。
各精度デコーダは、その入力に、入力バスVl+及びv2.上のワードが整数又は浮動少数点値をそれぞれ表わすか否かを示す信号cFzが供給される。信号C53はALU制御回路27の出力C5からの信号の一部分であり、無意デコーダ23〜30を制御している。
精度デコーダからの出力信号については以下で更に詳細に説明する。
乗算及び除算、オペランド装置r3第3のオペランド装置r3、被乗数/商機能装置は、オペランド装置r1及びr2と別の種類であり、通常乗算及び除算処理用に設けられている。オペランド装置r3は乗算及び除算機能中で必要とするシフト及び設定を実行する。ALU制陣回路27の出力C3に供給される制御ワードにより制御される。
被乗数/商のオペランド装置r3はいくつかの入力を有し、その第1の入力は入力バスvll上の情報、その第2の入力は入力バスv、1上の情報、及びその第3の入力は定数ワード発生器44からの出力が供給されている。
この定数ワード発生器44は、ALU制御回路27からの出力C3の部分信号C34の制御時にそのものに格納されたい(つかのうちから選択したビット組合わせを供給するものである。
オペランド装置r3は複雑な数値命令中にアーギュメントを評価するために用いられる。その出力は出力バスv3゜1に接続されている。
入力バスV21はワード・セレクタMllの第1の入力に供給されている。入力バスV□はワード・セレクタM11の第2の入力、信号部分c3sにより制御された正の1ビツト・シフタ5HIIを介してその第3の入力、第1の負の1ビツト・シフタ5H12を介してその第4の入力、及び第2の負の1ビツト・シフタ5H13を介してその第5の入力に直接接続されており、最後に挙げた2つのビット・シフタは信号C3@ s B mobISN 1mblにより制御されている。定数ワード発生器44の出力はワード・セレクタM11の第6の入力に接続されている。
第2のワード・セレクタM12の入力に供給されるべきワード・セレクタMllの出力は、ALU制御回路27からの制御ワードC3の制御ワード部C32により選択される。
M12はワード・セレクタMllの出力を出力バス■、。。アに供給するバス接続であるが、以下で説明するように、これを制御ワード部c3+によりスイッチ・オフ条件に制御することができる。
バッファ回路26′が入力バスVOIに接続されている。
バッファ回路26′はその出力にVO2を供給するバス接続であるが、これをALU制御回路27からの制御ワードc4によりスイッチ・オフ条件に制御することができる。従って、通常、バッファ回路26′の出力バスv0゜1は、入力バスv、lと同一の情報を有する。
数値ALUの自己試験いわゆる多項式発生器31を備えることができる。多項式発生器31は自己試験のためにALU用に複数の試験コードを発生する。多項式発生器31は、アーギュメントとして内部入力バスVa+、V目、v 21. v 、、上の全ての情報を含むクロージャ全体を用い、ゴール・レジスタ用の値を出力バスv0゜8ア %VIOL+7 、v2゜。ア 、■3゜uT′に供給する。
自己試験を行なうときは、ALU制御回路27は、信号C4によりバッファ回路26′と、信号cl+によりオペランド装置r1における出力バス・セレクタMlと、信号c2.によりオペランド装置r2における出力バス・セレクタMlと、信号C3Iによりオペランド装置r3における出力バス・セレクタM12とを制御して出力バス(それぞれV@0IIT、v+ouy、Viouア、■!。Ll’r)上の出力をスイッチ・オフすると共に、通常スイッチ・オフされているボリノーム発生器の出力にスイッチ・オンさせる。このようにして、情報について切り換えをして、装置t26’、rl、r2及びr3から出力バスVOOIIT、V +OUア、v2゜。ア及びV、。0.上へ出力することに代わって、入出力バスvo 、v、s V2及びV、に供給されるのは、多項式発生器31の出力V @OVT’ 、V +out’ 、V tour 、内部回路26’ 、r L r2、r3からの出力バス、及びボリノーム回路31の出力バスv0゜LI?’ 、V l。u7 、v touア′、■、。。7′からの出力バスは、トライステート・ドライバ39の異なる入力に接続されている。トライステート・ドライバ39は、はぼ第7A図〜第7C図に示す人出力バッファ20と同一の構成を育し、スイッチ・オンにされた即ち伝送している内部回路からの内部バッファと、スイッチ・オフされた、即ち通常条件である阻止されている多項式発生器31の出力バス用の内部ノくッファとを備えるように、又は試験サイクルの場合に他の方法を備えるように、ALU制御回路の出力C4により制御される。
第9図及び精度デコーダPDI及びPD2第9図は、例えば入力バスv1.又はVtt上の浮動少数黒値を表わしているワード用の精度デコーダの出力信号の実施例を示す。この例に関連して浮動少数黒値用の精度デコーダの出力を説明する。
以下で更に説明する精度デコーダのアーギュメントは、浮動少数黒値により説明される指数符号及びコード部であり、ワードが浮動少数黒値を表わしていることを示す制御信号が供給される。これはl+4ビット幅である。
コード・ビットにおいて異なるコードは、異なる精度(仮数長及び従って指数長)に対応する。指数の最下位グループ1sb(第8図を参照すること)は精度により変化する。このグループは第9図の実施例ワードにおいてビット・パターン0100を有するグループである。
二進数信号B1゜1は、l精度グループ当り1ビツトを存する。即ち最下位精度グループを除き、全てのグループについて“0”を有する。
コード及びその反転形式は同一精度を表わしており、対応する指数符号は以下の表に示すように、補数である。
lsb用のグループ 前の指数符号を含むコード0(ワードのlsb 未使用 未使用を含む)1 1 1111 +0 00002 1 1110 +0 00013 1 1101 +0 00104 1 1100 +0 00115 1 10−− +0 01−−6 1 0−−− +0 017(ワードのmsb 未使用 未使用を含む)前記表に示したコードは1エレメントとして指数符号を存する。このエレメントが真であるならば、他の全てのビットはそのまま用いられ、偽であるときはこれらは反転される。
前述のように、精度デコーダは連続するプール代数値、即ちいくつかの出力ワードを供給し、これらはALUにおける異なる装置、例えばALU制御装置等に供給される。浮動少数点値を表わすワードのときは、符号B18゜はグループ1〜6のうちの一つについて真の1ビツトのみを供給することができ、残りのビットは偽のビットである。グループO及び7のときは、偽のビットは常に供給される。
連続する8ビツトのプール代数値(各精度グループに一つ)は、真のビットにより第9図における8、82の横に示すように、コード/指数に属する精度グループを表わす。
実施例では、変化するコード長のために、最上位指数ビットの3つの可能位置が示されている。第9図に示すように、ここでB□、は3ブ一ル代数値であり、位置のうちの一つか真のビットを育することを表わしている(他は偽のビットである。)。従って、例えば1sb1〜4のグループのときに、B□、は図示の例において001であり、コード長が最大であることを表わしている(前記表を参照のこと)。010はグループ5及び100グループ6を示すべきである。
第9図における例では、B e 4 mは2つの最上位精度グループにおける全てのビットに対応している8ブ一ル代数値である。B e 4 @は最下位コードから指数符号までの真(“1″)である。
ここで、Bol、は浮動少数黒値表示の調整に用いる32ビツト・ワードである。全てのビットは、最下位指数ビットを除き、偽(“0′)である。
更に、精度デコーダは、精度が変更されたときに、いくつかの処理において用いられる増加コードBe1115g+及び減少コードB、。4.C1をそれぞれ供給する。信号Be*Isc、及びBcenactについてワードの指数符号及びコード部に及ぶ第1のビットを示す。しかし、このワードは、好ましくは、32ビツト長である。残りのビットは、好ましくは、全て0″である。
プール代数値Be6111all及びBeamlmは、コードが指数の最大長か、又は最小長かを表わす。第9図に示す実施例において、最下位指数ビットはグループ4に供給されている。そのときは、両プール代数値Bea*ax及びB、。0.は0である。最下位指数ビットがグループlに供給されたときは、プール代数値Beaml++は“l”であった。また、これがグループ6に供給されたときは、Bamwa+mは“O″であった。
第9図に例示した信号は浮動少数点値の場合に供給された信号である。整数のときは、信号+rb 、B’axD、B、6.及びB hamが全て偽である、即ち“0”のみを育する。勿論、他の組の組合わせを用いて整数を表わすことが可能なことに注意すべきである。これのための条件は、これらの信号のために非常に特定的なビットの組合わせは整数を表わすことである。
精度デコーダの一実施例は第13図に示されている。
浮動少数点値の加算例整数用の乗算処理の前記例を第2図に関連して示した。
浮動少数点値の乗算処理の例を示す。
前述のように、連続的なコード機構は冗長性を持っていない。即ち、検出のために付加されたデータは存在しない。従って、調整及び精度調整として通常の処理は直接的な方法では不可能である。この問題を解決するためにv6.上の情報には3つのステートが含まれている。これらは、以下でaオペランド及びbオペランドと呼ぶ入力バスV11及びVtt上のオペランドをどのように符号化するかを定めている。3つのステートは:Naオペランド又はbオペランドは変更されたコードを有せず、いずれも正規化されている。
Aaオペランドは変更されたコードを育し、正規化されていない。
Bbオペランドは変更されたコードを有し、正規化さ第10図は正規化コード、及び変更コード用の仮数のビット・シリース1010の解釈例を示す。結果1.625を与える正規化コードに関して仮想lが供給され、一方結果0.625を与える変更コード用の仮想ビットは供給されない。
第11図及び第12図、調整連続的な加算、即ち2つの浮動少数点値の加算の第1のステップは、指数が等しくないときに、入力バス上のオペランドを調整することである。値aを例として第1及び第2の調整サイクルを示す第11図及び第12図に示されているように、浮動少数点値a及びbを加算し、a=1,512”かつb=−1,l 25*2”のときは、浮動少数点値は浮動少数点値すより小さな指数を育し、従って実際の加算処理前に調整されなければならない。
図示の例は、3つの場合を用いて2つのオペランドを調整するように設定されている。値aの指数は1だけ増加され、かつその仮数は2により割算される(下位へ1ステツプ・シフトされる。)。これは、値すと同一の指数(33)を持つために2回行われる。
この例は、3つの場合を用いて2つのアーギュメントを調整するように設定される。
1、 調整サイクルにおける初期値は、指数値がコードCについて最高の可能性があり、指数符号が負である二進数組合わせにより表わされる。数の精度は、指数符号が正であっても負であっても数精度に相違がないことに注意すべきである。指数をステップさせるときは、精度を増加させる必要がある。指数部分に1が加算されると、仮数は左へ適当なステップ数だけシフトされる。
2、このサイクルにおいて調整サイクルにおける初期値の指数値はコードCが最大の可能性を有する。指数をステップさせるときは、精度を低下させる必要がある。指数部分に1が加算されると、仮数は適当なステップ数だけ右ヘシフトされる。
3.11整サイクルにおける初期値の指数値はこのサイクルでは最高の可能性ではない。指数はステップされ、仮数は2により除算される。
この例における値aの第1の調整サイクルにおいて、即ち以上のビット表示から第11図における以下の表示への変化において、指数が増加され、かつそれが最大となるとき、即ち全て“1″を含むときは、精度フードにキャリーが伝搬され、これも増加されるということから、精度コードは右へ1ビツト増加される。その後で、コードは、より大きく、かつ1ビット長いものと解釈される(前記の表のグループ5におけるコードを参照すること)。実際では、これは、指数部がその左側で1ビツト減少され、またその右側で1精度グループ(4ビツト)増加されることを意味する。更に、指数値もlたけ増加される。仮数はまず右へ4ステツプだけシフトされ(精度は減少される。)、次いで右へ1ステツプ・シフトされる(2により除算される)。仮数グループが下位へ1ステツプ・シフトされると、仮想“l”は仮数部にシフトされ、従って最初の調整サイクル後においてその最上位精度グループはディジタル組み合わせ1100を存する。
調整のハードウェア実行値aがバスvl、上に供給されると、オペランド装置rIにおけるALUの1サイクルにより、この処理が実行される。その指数値は、もとの値aの表示が最も可能性のあるものとなる。指数符号は正であり、これは全ての指数ビットが1であることを意味している。指数かインクリメンタINCにより増加されると、全てのビットは0となり、インクリメンタINCはキャリーgrIIをALU制御駆動回路27に供給する。ALU制御駆動回路27は二進数出力部の信号c15を変更して、精度デコーダPDIから来る信号を左ヘシフトさせるように処理装置43A及び43Bを制御する。更に、キャリーgri+は前述のようにコード部に伝送される。
減少を行う場合は、同一種類の説明がデクリメンタDECにも成立するが、キャリーgr++(Jはl又は2である。)を供給するときは、部分信号C1゜は処理装置43A及び43B1又は42A及び42Bをそれぞれ制御してを左へシフト(*2)させる。インクリメンタ及びデクリメンタは、クロック信号の前の半周期の最初の部分でその出力を供給し、従って制御信号を前記半周期の初期に処理装置に供給できることに注意すべきである。
全てのオペランド装置のセレクタ制御は、クロック信号の前記前の半周期の後の部分で行われる。精度デコーダからの出力はクロック・サイクルの後の部分では変更されない。これらの出力は、内部入力バスVo、、■1、V21及びV31が安定した値になると、すぐに安定化される。前述のように、クロック・サイクルの前半で、バス接続20における入力バッファは外部バスV O、V I、■2及びVsからのデータを通過させ、また出力バッファは外部バスからのオペランド装置からの出力データを遮断する。クロック・サイクルの後半において、入力バッファは内部入力バスVO,、vll、v21及びvll上の値を保持し、かつ新しい出力データを外部バスに転送させる。これは、精度デコーダが新しい出力データによって影響されることを意味する。
仮数は、オペランド装置rlにおける右シフトlの精度グループ装置SH2によりl精度グループを右へシフト(即ち、16による除算)させる。下位の指数精度グループは精度デコーダPDIにより供給されるビット・ベクトル信号B Iwklにより表わされる。このシフトは、処理袋fi43A及び43Bによってこのグループの右へ実行されるものである。仮数をシフト1単位SH5(2による除算)によって新しい位置から1ステツプ更にシフトさせるために、B 1mb+ビット・ベクトル信号は処理袋(f43A及び43Bにより右へ調整される。調整されたベクトル信号BIobadllは、仮数部OPm及び指数部OPeからの出力を選択するために用いられる。回路40から出力される付加グループの4つの“0”は、指数部における新しい最下位精度グループとしてこれを完結させるためにrlに挿入される(第8図のcef m/cet mを参照すること)。
ビット値“1”は、正規化されたコードにおいて仮想ビットであって、正規化された正の仮数((1,0+m)/2)の除算に対応する新しい最上位仮数位置にシフトされる。新しい仮数は正規化されていず、従って値aは変更されたコード(指数領域と仮数領域との間の仮想ビットとして“0”を有するコード)を得る。
第12図に示すように、第2の調整サイクルにおいて、精度を変更する必要はない。即ち、指数におけるビット数は変更される必要はない。指数は“1″により単純に増加され、コードCは変更されることなく残る。この指数は、この調整サイクルのもと元の値の精度状態において最も可能性あるものではないので、キャリー信号を供給してコードを変更させることはない。
仮数はlステップ右ヘシフトされる(SH5)。ここで、シフトは変更されたコードによって行なわれるので、指数と仮数部との間に仮想“1”は存在せず、仮想“0”がシフト・インされ、最上位精度グループにおけるディジタル組み合わせは01110となる。従って、調整の後では、値aは変更されたコードを有し、0.375*2”と表わされる。
連続的な加算の第2のステップは、正規化された仮数を得るために、加算の結果ではなく、アーギュメントを正規化することにある。a十すの結果は、正規化された結果ではない0.375*”−1,125*233=−0,750*2°である。従って、正規化された和−1,5*2”(−0,750*2″3/2)を与える加算の後に、アーギュメントの正規化が続く。
浮動小数点値の乗算は、第2図に関連して以上で説明した整数の乗算と同様に、実行される。ただし、時間遅延を低減させるために、1ビツトのみの代わって2ビツトが用いられる。
乗算ループ中では、仮数の等式は、S m a * S m b ” S m V + + + S m V ! l * S m V t Iである。
ただし、smは符号、仮想ビット及び仮数ビットにより構成され、真の符号を持った仮数値であることを示す。
ワードV11は乗算ループ中において指数符号はなく、精度コード又は指数値を育する。その代わりに、その仮数は処理の実際の精度より長い。仮数の先頭ビットは、ワードV11の全体が部分的な仮数に等しい離散的な値となるように符号化される。符号ビットは積の補正値を有する。
ワードV21は被乗数であり、変更されていない。
ワードvfilはもとの指数符号、精度及び指数値を存する。しかし、仮数は符号ビットに付加されてワードの仮数部より1ビット長い精度を形成する。この場合に仮数は符号ビットなしに独立した値として符号化される。符号ビットはワードv1、の符号から抽出される。
乗算ループ中において、ワードV++は右ヘシフトされる。ワードv、1も各ループで2ビツト右ヘシフトされる(SH13)。Vs+における全てのビットが処理されたときは、ループは終りとなる。その結果は、正規化されたものになっている。
当該技術分野に習熟する者は、以上で示した処理の説明例に基づき、ALUによって他の型式の処理の取り扱いが可能な方法を容易に導き出せると信する。
第13図、精度デコーダ精度デコーダの原理的な構造は第13図に示されている。例えば計算速度を高めるために、図示の構造に変更を実施できることに注意すべきである。これらは単なる構造的な特徴であって、当該技術分野に習熟する者には明らかなことなので、以下では説明しない。これは、実際の回路が第13図に示す構造と全く異なる構造もあり得ることを意味し、図から明らかなように原理的な機能を育することを意味する。
入力信号v1.の指数符号及びコード部(ただし、jはl又は0である。)は再コード回路50に供給される。
この再コード回路50は、この型式の実施例の精度デコーダにおいて、その入力にどのような変数が入力されようとも、前記表に示した先行する指数符号を含むコードの変形のうちの一つ、例えば左のものをその出力に供給する。これに代わって、再コード回路50の出力に両方の変形、例えば前記表において割付けた線上の左の変形、及びこれに割付けた線上の右の変形を供給することができるが、常に同一順序である。この出力はビット・シーケンス比較回路51に供給され、ビット・シーケンス比較回路51はその入力におけるビットの組み合わせを監視し、コードの長さを表わすディジタル信号B、8.を供給しく第8図を参照すること)、選択例においてコードの長さが1.2又は3ビツト長であるかを表わす。更に、ビット・シーケンス比較回路51は信号B c d mを供給する。
更に、6ビツトのシーケンス比較回路52〜57も再コード回路50の出力にも接続されており、それぞれは、再コード回路50からの出力ワイヤ上のビット・パターンが、その通常の出力“0”に代わって出力“l”を供給するように応答させるものと同一のときは、その特定符号に応答してその出力に“1″を供給するようにされている。第8図から明らかなように、6ビツト・シーケンス比較回路52〜57のうちの一つのみがその時点で“1″、即ち真の信号を供給し、他は出力“0”、即ち偽の信号を供給する。信号B1−における最初及び最後のビットは常に“0”である。従って、2本のワイヤ58及び59がビット“0“を育するワイヤに直接接続される。
ワイヤ58.6ビツト・シーケンス比較回路52〜57及びワイヤ59は、精度グループ当たり1ビ、ソトを育するバスB36.に接続される。バスB61.は精度グループ当たり4ビツトを育する。各グループは3ビツトの“0″と、特定のグループのための信号B18.のビ、ノドとを含む。従って、各グループのワイヤのうちの3本は“θ″に接続され、第4のワイヤは出力B I a kのうちの適当なワイヤに接続されている。出力Be5m1mは6ビツト・シーケンス比較回路52の出力に接続され、出力Balsamは6ビツト・シーケンス比較回路57の事由に接続されている。
出力B、!、のビット・パターンは、出力B Iglmが“l”を有する位置まで最下位位置に“0”を有し、その後は全てのビットが“1”である。ワイヤ59上にある最下位ビットは、常に“0”となるが、次の最下位からビット“1″の可能性がある。従って、ORゲート60は6ビツト・シーケンス比較回路57の出力に接続された1人力、及び6ビツト・シーケンス比較回路56の出力に接続された他の入力を育する。6ビツト・シーケンス比較回路57の出力は信号B、1.の次の最下位ワイヤに接続される。ORゲート60の出力は信号B、8.のその次に最下位ワイヤに接続される。従って、6ビツト・シーケンス比較回路57の出力が“l”のときは、これも同様にORゲート60から出力ビット“1”を供給する。ORゲート60の出力は、6ビツト・シーケンス比較回路57及び56からの出力が共に“0″となるときにのみ、“0″となる。ORゲート60の出力は他の0Rゲー)61の第1の入力に接続されており、ORゲート61は6ビツト・シーケンス比較回路55の出力に接続された他の入力を有する。ORアゲ−61の出力は出力B、1.の第3の下位ワイヤと、ORゲート62の第1の入力とに接続されており、ORゲート626はビット・シーケンス比較回路54の出力に接続された他の入力を有し、以下同様に説明される。この種のORゲートのカスケード接続は、出力B l l bにおいて“1″を与える位置と同−又は高い位置を有する全ての位置で“1”を出力する。
ワードBeod*evの符号、指数符号及びコード部は、“l”を供給する装置に接続した第1のワイヤと、B10の第6のワイヤに接続されているインバータ161に接続した第2のワイヤと、B3,1の第5及び第6のワイヤに接続されている入力を有するORゲート162に接続した第3のワイヤと、B l + bの第2及び第3のワイヤにそれぞれ直接接続されている第4及び第5のワイヤとを有する。これらワードBe。20.1の符号、指数符号及びコード部用のワイヤは、その出力に32ビツト・ワードを得るために、入力ワードに“0”を加算するビット完結回路66の入力に接続されている。
ワードB。。1me+の符号、指数符号及びコード部は、“l”を供給する装置に接続した第1及び第2のワイヤと、B19.の第7のワイヤに接続されているインバータ163に接続した第3のワイヤと、B11.の第3及び第4のワイヤに接続されている入力を有するORゲート164に接続した第4のワイヤと、B l m bの第3及び第5のワイヤに接続されている入力を存するORゲート165に直接接続した第5のワイヤとを有する。これらワードBca1m。、の符号、指数符号及びコード部用のワイヤは、その出力に32ビツト・ワードを得るために入力ワードに“0”を加算するビット完結回路67の入力に接続されている。
第14a図〜第14c図、加算器加算器の一実施例、例えば第3図における回路28〜30のうちの一つを第14A図〜第14C図に示す。この加算器は2つのアーギュメントa及びbを存する。このアーギュメントはバスv目及びパスVtt上のアーギュメントb上に供給される。これらのアーギュメントは浮動少数黒値か、又は整数として符号化されている。整数のときは全ビット“0”を有し、また、浮動少数黒値のときはビットのうちの一つが“1″を有する第6図におけるALU制御回路27及びバスB l+bl及びB Igb!からの出力C5のうちの信号c5+は、このことを示す。第14A図に示すように、加算器はカスケード接続された8つのセクションGO,Gl、・・・・、Gi、・・・、C7により、即ち各精度グループに付きlセクションにより構築された二進数の加算器である。
加算処理についての以上の説明から明らかなように、アーギュメントa及びbが浮動少数黒値である場合に、これらを加算可能となる前に、アーギュメントを調整することか不可欠である。これは、B I*bl及びB +ab2は等しくなければならないことを意味する。B l+blは加算器を制御するために信号B 11にとして供給される。信号B6..は最」1位仮数グループのキャリー伝搬(これを阻止する。)に影響するので、これが加算器、インクリメンタ、ディクリメンタ等に供給されているときは、これかは仮数の方向に1ステツプ遷移される。従って、信号B、8゜における最下位ビットをこれらの場合に用いることはできない。
それぞれ32ビツトを含むアーギュメントa及びbは、それぞれ4ビツトを含む8グループに分割される。a及びbの4ビットの各グループは、個別的なセクションGiの独立入力として供給される。iは0と7との間の整数である。バスB18.の各ワイヤは、GOを除き、セクションChiのそれぞれに接続される。
セクションG7に対するワイヤC+aは、加算器か加算又は引算を行なうべきことを表わす。C1は、加算のときは“0′であり、引算のときは“l”である。
以下で更に詳細に説明するように、各セクションは次のセクションに供給すべきキャリー信号Ceu11を供給すると共に、隣接する前のセクションからキャリー信号C1m1が供給される。
アーギュメントa及びbの加算は、必要ならば、各セクションGO〜G7において個別的に行なわれ、67〜GOの順序で次のセクションへキャリー信号を供給する。
浮動少数黒値のときは、必要ならば、仮数キャリーを供給する仮数搬送バスC3を備える。このノくスは、符号ビットを有するワイヤC8及び指数符号ビ・ットを有するC、、と共に、第6図におけるALU制圓回路27に対する入力grab(又はgr、2及びg r 、りを形成する。ALU制御回路27は情報をバス、↑8.tを介して外部制御装置CUに供給する。
信号c5+は、アーギュメントa及びbが整数か、又は浮動少数黒値かを表わし、信号c5tは、コードがアーギュメントaのために正常か、変更されたかを表わし、かつ信号c5sは、コードがアーギュメントbのために正常か、変更されたかを表わす。これらの信号は、最上位ビット・スライス(符号スライス)を含む最上位精度グループに対応するセクションGOに供給される。これは特にオペランドa及びb(オペランドa及びbが整数か、又は浮動少数黒値かに)のフォーマ・ノドに従っている。
バスC1を定められた値に、例えばオペランドが整数であるときは、全て“0”にセットさせるために、トライステート・ゲート70か備えられている。それ以後は、仮数キャリーはバス上で活性化されることはない。トライステート・ゲート70は信号C5,により制御される。
セクションG1の構成の実施例を第14B図に示す。
これは4つの加算器スライスASI−AS4に「スライス」される。これは、更に、次のセクション用のキャリ’sa+lを評価するセクション用のキャリー発生器も含む。問題のセクションGiのための各ビット・グループa、及び1)、は、個別的な各加算器スライスA S Kにぞれぞれ接続されl二個別的なピッhash及びblkを有する。kは1と4との間の整数である。各加算器スライスはSUM出力のうちのlピッl1−3U、kを出力する。
第14C図にヂC二詳細に説明するように、キャリー発生器は、そのセクションの和か16より大きいか、又は等しいことを表わす生成ビットG e nと、そのセクションの和が15より大きいか、又は等しいことを表わす伝搬ビットPrと、前隅のセクションからのキャリー・ビットC1m1と、加算器スライスAS4からのキャリー・イン・ビットC1m14 と、ビットBIlbl+1を備えている。ビットBl+bl*lは、インバータ75を介してトライステート・ゲートの反転入力、及び直接、トライステート・ゲート76の制御入力に供給されている。ビットCI+114はトライステート・ゲート76の第2の反転入力に接続されている。従って、ビットBl+bl+1か“0”のときは、トライステート・ゲート76はヒツトBl+bl。1を送出するように制御されている。しかし、ビットB111+1゜1カ(1の場合は、トライステート・ゲート76は、キャリー・アウトか“1”のときに仮数がキャリー・アウトを有することを表わすビットCll114を送出するように制御される。
アーギュメントの指数部に隣接する精度グループのために、仮数のキャリー・アウトを供給することのみが必要であり、“1”のピッ1=Bl#kl。1を有するのはこのグループのみである。
セクション間でのキャリー伝搬は、指数部に隣接する精度グループのために阻止される。従って、ビットB 1.。、。1はANDゲート77の反転入力に接続され、このANDゲート77は他方の反転入力に反転信号Genを入力しており、従ってB1゜1.1が“0”のときにのみ、信号Genを送出する。更に、ビットB15kl+1はANDゲート78の反転入力にも接続さね、このANDゲート78は第2の反転入力に反転信号Prを入力しており、従ってB Igh l+lが0”、かつC1m1が0″のときにのみ、信号Prを送出する。ANDゲート79はANDゲート77及び78の出力に接続された入力を有し、かつANDゲートのうちの一つが出力“l”を有するときに出力“1″を供給する。
各加算器スライスASKの一実施例を第14C図に示す。入力aIk及びす4.は、排他的論理和ゲート80の各入力に供給され、排他的論理和ゲート80は入力か互いに異なるときは1”を供給し、そうなければ“0“を供給する。排他的論理和ゲート80の出力は第2の排他的論理和ゲート81の一方の入力に供給され、その他方の入力にはビットCI+++hが供給されている。排他的論理和ゲート8Iの出力は、その入力が異なるときにのみ“l“となって、出力5um+hを供給する。この出力Sum1mは、前隅の加算器スライスからのキャリー・ビットの管理、又はその加算器スライスかセクションの先頭のときは前隅のセクションからのキャリー・ビットの管理するものである。
ビットalk及びbl、は反転出力を有するORゲート82の入力に供給され、続いてこの反転出力は各ANDゲート83.84.85の第1の反転入力に接続されている。反転ビットc1.lk*はANDゲート83の第2の反転入力に供給され、このANDゲート83は、ビットalk及びb lkのうちのいずれかが“l”であるならば、ビットC++++iを送出する。前隅の加算器スライスからの反転ビットP l++ lk *はANDゲート84の第2の反転入力に供給され、このANDゲート84はビットalk及びb lkのうちのいずれかが“l”であるならば、Pl++lkであるビットPaullkを供給する。反転ビットGlalk*はANDゲート85の第2の反転入力に供給され、このANDゲート85はビットalk及びb lkのうちのいずれかが“1″であるならば、G1m1kを送出する。第14B図から明らかなように、各精度セクションにおける第1の各加算器スライスについて、ビットP1mlk及びビットG15lkはそれぞれ“1”及び“0″である。
ビットPr及びGenは、リップル・キャリーを実現するために、即ち加算器を高速化するために、必要とされる。キャリー・チェーンの入力に離散的な値が存在するという事実により、全ての精度グループは並列に、即ち全ての精度グループについて同時的に計算される。加算による最後のキャリーC6は、リップル・キャリーなしに、32ゲート遅延に比較して4+8ゲート遅延のみを有する。
更に、ビットash及びb lkは反転出力を有するANDゲート88の入力にも供給され、続いてその出力は2つの各ORゲート86.87の第1の反転入力に接続される。ANDゲート83の出力はORゲート86の第2の入力に接続され、このORゲート86は出力Com+lkを供給する。ANDゲート85の出力はORゲート87の第2の入力に接続され、このORゲート87は出力G。、1.、を供給する。
非常に高速なキャリー・チェーンを得るために、ビット・スライスがリップルの極性を反転しており、伝搬にットが反転されているときは、キャリー・チェーンにおいてl遅延のみを持つことが可能である。従って、このような場合に、あらゆる第2の精度グループ・セクションは反転入力(図示なし)を有する。
第14A図における左側から明らかなように、最上位精度セクションGOは他のセクションとやや異なる。最上位精度セクションGoは入力アーギュメントB1gbOを使用していない。これは、グループ内で“0”であるとみなされる。その代わりに、これは、仮数キャリー・インc1..を有する。仮数キャリー・インC1゜、は、符号ビットに対してキャリー人力を発生するために用いられる。
通常のキャリー出力は、B18.。か“0″即ち偽であるとみなされることを除き、通常のグループとして発生される。
1ビット信号c!5+ s C5! 、C5mは以下のビット・パターンを有することが可能である。即ち、(C58、C5z、C5,)=(偽、偽、偽)は整数を意味する。
(C5,、C5,、C5m )= (偽、偽、真)はa及びbが共に正規化コードを有することを意味する。
(C5+ 、C5! 、C5* )= (真、偽、偽)はaが変更された正規化コードを有することを意味する。
(C5,、C5z、C5,)=(真、真、真)はaが通常のコード、bが変更されたコードを存することを意味インクリメンタの構成は加算器の構成に非常に良く似ている。第15図はインクリメンタにおける精度セクションの一実施例を示す。このインクリメンタは入力a′(図示なし)のみを有する。増分ビット・スライスASビ〜A34′は、一方から他方へ転送される発生器ビットGenを存していない点で、加算器ビット・スライスと異なる。増分ビット・スライスAS4’からの反転出力Pr及び前隅のセクションからの反転キャリーC1a*は、2つの反転入力を存するANDゲー)90の2つの反転入力の各一つに供給される。第1のセクションG7に対するライン上のキャリー・インC1mが“1”であるということは、増加を実行することを意味する。ANDゲート90の出力及びビットB15kl+1は、ORゲート92の各入力に供給され、ORゲート92は次のセクションに出力キャリ−Cや1.を供給する。インクリメンタのキャリー出力は加算器と同様に供給される。リップル・キャリー・チェーンC1,/CoIは、和が2に等しいか、又は2より大きいことを表わしている。リップル・キャリー・チェーンP、′は、和が1に等しいか、又はlより大きいことを表わしている。
加算器どして、インクリメンタは信号B15kl□により制御された仮数キャリー出力バスc3を有する。制御ビットc1g又はC2*は、表示が整数であるか、又は浮動少数点値であるかを表わしている。制御ビット01g又はC2*はトライステート・ゲートを制御するものであり、このトライステート・ゲートは使用されていないときは、仮数キャリー出力バスを定められた値に設定する(図示なし)。
デクリメンタはインクリメンタと同一の構成を有するが、このデクリメンタはインクリメンタ・スライスAS1′〜AS4’に対応するデクリメンタ・スライスに対して反転入力a′、*を有する。
一般的に、オペランド装置におけるセレクタは、1行のトランスミッション・ゲートにより構築される。セレクタは常に定められた出力を有する。このセレクタは制御ワードのリスト及びアーギュメントとしての値入力を有する。一つを除いて全てオフである。各入力の制御は相補的な信号により制御される。セレクタの全体はこのようなエレメントのリストにより制御される。これらのエレメントは、所定のボートから入力を取り込むように異なる状態に制御されている。基本的なセレクタのビット・スライスの一実施例を第16図に示す。セレクタS 1ms 、S 1mb SS lac及びS ladに対する各入力ボートのビットのうちの一つが、制御可能なスイッチS1、S、、Sc及びS、の入力にそれぞれ接続されている。
一対の制御ワイヤScいS e bs S c c及びS cdは、各スイッチ用に備えている。対応するスイッチに入力を転送する対の制御ワイヤは、情報“1,0”を存し、その他のものは情報“0、l”を有する。
ALUにおける大部分の回路は加算器に関連して説明した原理に従って構築されており、従って当該技術分野に習熟する者がこれらの原理を利用している残りの回路を容易に構築することかできることに注意すべきである。
従って、個々の回路について詳細に説明する必要があるとみなすべきではない。
ALU駆動回路の説明付81は浮動少数点値に加えて指数の調整用の入力と出力との間の関係を示す。
この付録は異なるr制御ケース」に分けられている。
各制御ケースは1出力、即ち1マイクロ命令に対応する。
見出し「マイクロ命令ワイヤJの下に列挙されているALU駆動回路27の出力は、バスCl−C5上の信号レベルである。バスCI、C2及びC3は、ALUにおける種々の点に接続されているより小さなバスCII、Cx2、Cx*等に分割されている。
興なる組の入力は同一出力を発生させることがある。
同一出力を発生させる他の入力信号は、条件l、条件2等として列挙されている。従って、「ステート、センス・ワイヤー条件4」として見出し「制御ケース1」の下に列挙した入力は、以下の見出し「マイクロ命令ワイヤ」に従って出力を発生させる。条件1,2及び3として列挙した入力は、条件4と同一出力を発生させる。
各条件はいくつかワイヤ上の信号レベル(0/1)の一定の組合わせにより定められ、−万能の状態のワイヤは定められていない値を有することができる(X=任意)。
更に、信号cc) 11m1tl及びco 11m1t2を除き、付録に列挙した全ての入力信号は、第6図にも示されている。
第6図において、信号co 11m1tlは2つの構成要素Bcamaxl及びB9゜m1m1に分割される。
更に、信号co l1m1t2も2つの構成要素Bc。1.82及びBe*mla!に分割される。
出力AstAytはALU制御回路27に対する全ての入力の単なるコピーである。出力A8TATlは制御装置CUに接続されている。
付録2は、整数の乗算を実行しているときに、ALU制御回路27からの入出力間の関係を示す。
第6図に示すALUf/1JI11回路27は、極めて複雑な構成のプール代数ゲート・アレーである。その一実施例は示されていない。これは、有益な信号に関連した制御信号の構成に係わる全てのアルゴリズムを備えているコンピュータにより、その構成か計算されるためである。このプール代数ゲート・アレーは、本発明による全ALU用のチップのマスク・パターンとして直接提供される。
従って、この回路を詳細に示すことは不可能である。付録に、ALU制御回路27の入出力間の関係についてのリストを、整数の乗算及び浮動少数黒値の加算における指数の調整の場合について示す。
本発明を特定の実施例を参照して説明したが、当該技術分野に習熟する者は、本発明の真の精神及び範囲から逸脱することなく、種々の変更及びを行ない得ると共に、その構成要素を等価な物により置換し得ることを理解すべきである。更に、本発明の本質的な教えから逸脱することなく、変更を行なうことがてきる。
値は、ゴール・レジスタ即ちGレジスタ(図示なし)、又はいくつかのALU内部装置により、命令オペランド/乗算 商、又はボリノーム(po lynome)として供給されてもよい。バス上の残りのビット・ストリングにおける表示の種類に関する情報は、命令バスにおける情報により与えられてもよ(、またコード・フィールドにより与えられてもよい。
ステート、センスワイヤー条件1iaa 16.O: IIJ O/ J/ Or o、5711ステート、センスワイヤー条件2ステート、センスワイヤー条PF31Aa (CHl oJ al uz @; O; Os 1]ステート、センスワイヤー条件鴫マイクロ命令ワイヤal l to、[(0,11; (1,O1+、 10XO: Q; 01la110 [070J Or Oz 工]c5 Lot O# l茅制御ケース2ステー1・、センスワイヤー条件1ステート、センスワイヤ 条件2ステ−1−、センスワイヤー勇゛「トコステート、センスワイヤー条件 4マイクロ命令ワイヤas (0,O,lνcs +O,0,11ル11fllケース3ステート、センスワイヤー条件 1ステート、センスワイヤー条件2!ステート、センスワイヤー条件 4マイクロ命令ワイヤc5 (’# ’−1)、制閤′r−ス唱ステート、センスワイヤー条件ILns ((b Ox 6z O; lr l# (b Or ilステート、センスワイヤー条件2−一 [0; 0: 6t @; Lr 1; O; O: 11ステート、センスワイヤ 条件 4マイクロ命令ワイヤc4 40. l>cs to、 o、 x+明ffi?−ス 5ステート、センスワイヤー条件 工■−[0; 6+ 6: 0; 1: O: O; 0111ステート、センスワイヤー条件 2ins 10; Or O; O: l; ロ、Or O: 11マイクロ命令ワイヤcs (0−OI 1>制御′r−ス6ステート、センスワイヤー条件 1ステート、センスワイヤー条件 2マイクロ命令ワイヤe5 (Or 0.111キq祷i−ス 7ステート、センスワイヤー条件 lステート、センスワイヤー条件 2マイクロ命令ワイヤc5 (0,0,11制電ケーース 6ステート、センスワイヤー条件 工1fis to: Or OJ O; Is 1; C1; Q; 11ステート、センスワイヤー条件 2Lns lo; O: 6: O,X、 ’−: OX O: 1+マイクロ命令ワイヤc4 (0,11dIOe 0.11制御テース 9ステート、センスワイヤー条件 1ins (OtOx O; tk; 1.Or O: Or 11ステート、センスワイヤー条件 2ins [0; O; Q: O: L: O: Q: Or IJステート、センスワ・イヤ 条件 3Iss [(b O; O,or 11 Or O: OJ l)ステート、センスワイヤー条件 41m +O; Gy Qr O: 1; O; Or O: mlマイクロ命令ワイヤc5 1G、0. 1)制−ケース 10ステート、センスワイヤー条件 1ステート、センスワイヤー条件 2ステート、センスワイヤー条件 3ins [0; O; Or ロi 1: O: 0; O; 1115m let O: O; Or 1; Or 0; 111マイクロ命令ワイヤcs (0,O,↓)制御ケース 2、ステート、センスワイヤー条件 115JIO;Q;Q;口jLr1+ToO;11ステート、センスワイヤー条件 2Lns【0:O;O;orL;1;01C’+11ステート、センスワイヤー条件 コ”” 1ol(b Q; O; L; 1; O; O; 13ステート、センスワイヤー条件 41n4+[0+ l Or Or 1+ 1r Or (111マイクロ命令ワイヤc4 (0,11C5(Q、0. 11祠御ケース 、2ステート、センスワイヤー条件 1ムLm IOJ O: O; O; 141. Oj Or 1]ステート、センスワイヤー条件 2ステート、センスワイヤー条件 コLag 10; O: 0; 07 工: l+ +l Or 1]ステート、センスワイヤー条件 4−m [0; Or O: O; IJ 1; O; Qr 11マイクロ命令ワイヤ(4(J 11c5 +0. 0. 11綱詐ゲース lステート、センスワイヤー条件 11m (L: O; aj 6. OF O: O,O; 11ステート、センスワイヤー条件2マイクロ命令ワイヤc4 (0,11cs 10,0,01制御ケース よステート、センスワイヤー条件ILBs [i+ Or O; CD O: L (b O: 11ステート、センスワイヤー条件2ステート、センスワイヤー条件 コステート、センスワイヤー条件マイクロ命令ワイヤcs 1G、 0.01創御ケース3ステート、センスワイヤー条件1ステート、センスワイヤー条件2マイクロ命令ワイヤcs 10t O−ロ)#4陣ケース4ステート、センスワイヤマイクロ命令ワイヤcs (o、 O,J制卸ケースSステート、センスワイヤー条件lステート、センスワイヤー条件21正 [1; 1; O: Q: o、o: e: er: 11ステート、センスワイヤー条件3ステート、センスワイヤー条件部ステート、センスワイヤー条件 5マイクロ命令ワイヤcs (0,O,OH制御ケースGステート、センスワイヤー条件 lステート、センスワイヤー条件2ステート、センスワイヤー条件JLns [1; lr Or Gy Or O: O; Q: 11ステート、センスワイヤー条件 4ステート、センスワイヤー条件5Lns [170x 1; O; O; O: O; O; l]マイクロ命令ワイヤes 10. O,O)RII陣ケース7ステート、センスワイヤー条件 1ステート、センスワイヤー条件 2ins ll+ l+ Or O; Or 07 0+ OL 11マイクロ命令ワイヤc5 (0,O,o+M島ゲース ♂ステート、センスワイヤー条件 lステート、センスワイヤー条件 2Lllll (L、1: Q+ O; O: 6. O,コ、−1マイクロ命令ワイヤc5 +O,0,01@御ケース 9ステート、センスワイヤcs B1.Q、O:t4御ケース 10ステート、センスワイヤ 条件 1ステート、センスワイヤー条件2マイクロ命令ワイヤaコU)JU)CLI OOOOOOOO+ + P−1+−1+ m F−1+−1(N N I”l FI Q QF Ll’T u’1181j) m +”−(り Q) (710’1人出力バツフ?20のクロッキング命令のクロック期間の第1の○相次段への伝播遷移FIG、7Aタロツク期間の1相多重サイクル命令のクロック期間の残りのO相法段への伝播遷移FIG、 7Cと 巳℃ 9要 約 書演算処理、論理処理及び関連する処理を実行する方法及び数値演算装置要約数値エレメント上で演算処理、論理処理及び関連する処理を実行する方法及び装置に関する。処理されるべき前記数値エレメントと命令情報とを含む入力リストが備えられる。前記入力リスト上の前記数値エレメントについての処理は前記命令情報を用いて直接制御され、かつ実行される。ワードを供給する各数値エレメントが所定のビット長を有する。ワードの最大数が前記入力リストにおける最大供給可能数のエレメントと同一である。前記入力リストにおけるエレメントを再書き込みすることにより計算を実行する。その結果は出力リストとして提供される。
国際調査報告国際調査報告