(57)【特許請求の範囲】
【請求項１】
２つの被加減算数を入力して演算を行う加算器と、前記２つの被加減算数を各ビット毎に比較して、加算により桁落ちを起こすか否かをビット毎に予測判定する桁落ちビット予測回路と、前記桁落ちビット予測回路によって桁落ちの有りと判定されたビットのうち最上位ビットの位置を符号化した形式で出力するプライオリティエンコーダと、該プライオリティエンコーダの出力に基づき、前記加算器の演算出力に対して浮動小数点演算に伴う正規化処理を行う正規化手段と、前記正規化手段の処理結果に対して誤差補正を行う誤差補正手段とを備えた浮動小数点演算装置において、
前記プライオリティエンコーダの出力と前記加算器の各ビットの最終的な桁上げ信号とに基づいて、前記桁落ちビット予測回路の予測誤差を検出する桁落ち予測誤差検出回路を設け、
前記誤差補正手段は、前記桁落ち予測誤差検出回路の検出結果に応じて前記誤差補正を行う構成にしたことを特徴とする浮動小数点演算装置。
【請求項２】
前記桁落ち予測誤差検出回路は、
前記プライオリティエンコーダの出力を選択信号として、前記加算器の各ビットの最終的な桁上げ信号から、桁落ちが起きたビットの桁上げ信号を選択する選択回路で構成し、
前記誤差補正手段は、前記選択回路の出力に応じて前記誤差補正を行う構成にしたことを特徴とする請求項１記載の浮動小数点演算装置。
【請求項３】
前記桁落ち予測誤差検出回路は、前記プライオリティエンコーダにおける中間結果を前記選択信号として入力する構成にしたことを特徴とする請求項２記載の浮動小数点演算装置。
【請求項４】
前記桁落ち予測誤差検出回路は、前記プライオリティエンコーダの中間結果を選択信号として、前記加算器の中間結果である桁上げ生成信号と桁上げ伝搬信号を選択し、最終的に選択された桁上げ生成信号と桁上げ伝搬信号を基に、前記桁落ちビット予測回路が予測するビットに対応する桁上げ信号を生成する構成にし、
前記誤差補正手段は、前記桁上げ信号に応じて前記誤差補正を行う構成にしたことを特徴とする請求項１記載の浮動小数点演算装置。
【請求項５】
加算器に入力されて演算が行われる２つの被加減算数を各ビット毎に比較して、加算により桁落ちを起こすか否かをビット毎に判定する桁落ちビット予測回路と、前記桁落ちビット予測回路の出力する桁落ちの有無を判定するビットバターンを入力しその桁落ちの有りと判断したビットのうち最上位ビットの位置を符号化した形式で選択信号として出力するプライオリティエンコーダと、桁落ち予測誤差検出回路とを有する論理回路において、前記桁落ち予測誤差検出回路は、前記プライオリティエンコーダの中間結果を選択信号として、前記加算器の中間結果、或いは、前記演算が行われる２つの被加減算数の各ビット桁上げ先見信号をもとに、最終的に桁上げ生成信号と桁上げ伝搬信号を選択し、前記桁上げ生成信号と桁上げ伝搬信号をもとに前記桁落ちビット予測回路が予測する桁落ちビットに対応する桁上げ信号を生成する回路であることを特徴とする浮動小数点演算装置。
【請求項６】
前記桁落ちビット予測回路は、演算数をｎビットの２数Ａ<ｎ−１：０>，Ｂ<ｎ−１：０>、サインビットをＳＡ，ＳＢ、又、減算のときＢｘ＝ｎｏｔ Ｂ、ＳＡ＝"０"、ＳＢ＝"１"、加算のとき Ｂｘ＝Ｂ、ＳＡ＝"０"、ＳＢ＝"０"、ｉ＜ｎとし、
ｇ<i> ＝Ａ<i>   ａｎｄ  Ｂｘ<i>
ｐ<i> ＝Ａ<i>   ｘｏｒ  Ｂｘ<i>
ｚ<i> ＝ｎｏｔ（Ａ<i>   ｏｒ  Ｂｘ<i> ）
ｇ<n>＝ＳＡ  ａｎｄ  ＳＢ
ｐ<n+1>＝ｐ<n>＝ＳＡ  ｘｏｒ  ＳＢ
ｚ<n>＝ｎｏｔ（ＳＡ  ｏｒ  ＳＢ）
として、桁落ちビット予測信号ＥＺ<i>が
ＥＺ<i> ＝（ｎｏｔ ｐ<i+2>）ａｎｄ（(ｇ<i+1>ａｎｄ(ｎｏｔ ｇ<i>))＋(ｚ<i+1>ａｎｄ(ｎｏｔ ｚ<i>))）＋（ｐ<i+2>）ａｎｄ（(ｇ<i+1>ａｎｄ(ｎｏｔ ｚ<i>))＋(ｚ<i+1>ａｎｄ(ｎｏｔ ｇ<i>)))
で求められる請求項５記載の浮動小数点演算装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、浮動小数点演算装置等に利用され、仮数部の正規化回路に使用される桁落ちビット予測回路の予測誤差を検出する論理回路、及び桁落ち予測誤差検出機能を備えた浮動小数点演算装置に関する。
【０００２】
【従来の技術】
浮動小数点演算装置では、仮数の最上位ビットを特定の位置に揃えるために、演算操作の後に正規化処理を必要とする。この正規化処理は、演算結果の最上位桁から連続する“０”または“１”の並ぶ数をカウントし、その並ぶ数だけ左方向にシフトさせるものである。
【０００３】
プロセッサが高速になると、演算処理と並行して、演算結果の最上位桁から連続する“０”または“１”の並ぶ数を予測する方法（桁落ち予測方式、あるいは桁落ち予測回路）が考案されてきた。この方法によれば、正規化処理で行われる前記左シフト量を被演算数より予測することができる。この桁落ち予測方式は、Ｅ．ＨＯＫＥＮＥＫ（ＩＢＭ．Ｊ．ＲＥＳ．ＤＥＶＥＬＰ．ＶＯＬ３４．，１９９０、ｐｐ７１−７７）や、Ｈ．ＳＵＺＵＫＩらの論文（ＣＩＣＣｐｒｏｃ．，１９９５，ｐｐ．２７．５．１−２７．５．４）に記載されている。
【０００４】
図２３は、上記桁落ち予測の基本的な原理を説明する状態遷移図である。
【０００５】
まず、２つの数Ａ，Ｂｘのビット毎の比較を行い、その状態により、次の３つの状態を表す信号Ｇ（ともに“１”）とＺ（ともに“０”）とＰ（“１”と“０”）を定義する。
【０００６】
尚、ａｎｄは論理積
ｏｒは論理和
ｘｏｒは排他的論理和
ｎｏｔは否定論理
を表わしている。
【０００７】
ｇ＜ｉ＞  ＝Ａ＜ｉ＞  ａｎｄ  Ｂｘ＜ｉ＞
ｐ＜ｉ＞  ＝Ａ＜ｉ＞  ｘｏｒ  Ｂｘ＜ｉ＞
ｚ＜ｉ＞  ＝ｎｏｔ（Ａ＜ｉ＞  ｏｒ  Ｂｘ＜ｉ＞  ）
最上位ビットからこれらの３つの信号の何れかが”１”になるので、その信号から、図２３に示す３つ状態を持つ状態遷移図にしたがって最上位ビットから最下位ビットに向けて状態を調べていくと、桁落ちが起きるビットを特定できるというものである。
【０００８】
Ｈ．ＳＵＺＵＫＩらの論文は、図２３に示すＺ−ｓｔａｔｅから桁落ちが起き得ると予測される信号（桁落ち予測信号）のみを抽出して、そのうち最上位ビットの信号をプライオリティエンコーダで検出するというものである。これは、２数の大小関係が既知であることを利用して桁落ち予測信号を生成する論理を簡単に実現している。すなわち、減算の場合、必ず結果が正となるように、２つの数の大小関係によって入れ替えているので、Ｇ−ｓｔａｔｅへの遷移が存在しない。
【０００９】
図２４は、従来の浮動小数点演算装置の構成を示すブロック図、及び図２５は、その動作の時間的経過を示す概念図である。
【００１０】
この浮動小数点演算装置は、２つの被演算数Ａ＜３１：０＞，Ｂ＜３１：０＞の大小比較を行なう大小比較回路１１００と、減算処理を行なう場合には大小比較の結果に基づいて、２つの被演算数Ａ＜３１：０＞，Ｂ＜３１：０＞のいずれかを反転する１対のセレクタ１１０３及びインバータ１１０４と、これらセレクタ１１０３からの出力を入力する演算器（加算器）１１０１と前述した桁落ち予測を行う桁落ち予測回路１１０２を備えている。
【００１１】
ここでは、被演算数Ａ＜３１：０＞よりも被演算数Ｂ＜３１：０＞が小さいとして説明するが、一般性は損なわない。被演算数Ｂ＜３１：０＞のビット反転データをＢｘ＜３１：０＞と表記する。桁落ち予測回路１１０２による桁落ち予測動作（図２５の期間Ｔ１）は、演算器１１０１による加減算動作（期間Ｔ２）と並行して行われる。
【００１２】
演算器１１０１の出力側には、左シフタ１１０５が接続されている。左シフタ１１０５は、上記正規化処理を行うべく、前述の桁落ち予測を行う桁落ち予測回路１１０２の結果であるシフト量制御信号Ｓ１１００を用いて左シフト処理を行う（期間Ｔ３）。また、前記演算器１１０１の演算結果を指定の桁数に収めるための丸め処理を行う丸め処理回路１１０６の結果と左シフタ１１０５の結果のいずれか一方がセレクタ１１０７で選択される。
【００１３】
正規化処理を行うための左シフタ１１０５は、上記ような桁落ち予測回路１１０２の結果を用いて左シフト処理を行うが、桁落ち予測回路１１０２の結果であるシフト量制御信号Ｓ１１００には１ビットの予測誤差を含むために、正規化のための左シフト動作に続いて、右シフタ１１０８を用いて１ビット誤差補正シフト（右シフト）を行う。
【００１４】
１ビットの予測誤差は、左シフタ１１０５の出力（つまり正規化された演算結果）の最上位ビット（ＭＳＢ）を調べることで検出でき（期間Ｔ４）、その結果を用いて１ビット誤差補正シフトを行うか否かを判断している（期間Ｔ５）。このとき、左シフタ１１０５の出力の最上位ビットはバッファ１１０９を介してを右シフタ１１０８に供給される。
【００１５】
【発明が解決しようとする課題】
しかしながら、上記従来の浮動小数点演算装置では、次のような問題点があった。
【００１６】
上述したように、桁落ち予測回路１０２の結果には１ビットの予測誤差を含むために、正規化された（左シフト）処理の後に１ビット誤差補正シフトを行う必要が生じ、このとき、演算結果の最上位ビットを調べて、１ビット誤差補正シフトを行うか否かを判断している。
【００１７】
ところが、正規化された演算結果の最上位ビットを調べて、この１ビット誤差補正シフトの可否を決める場合に、右シフタ１０８を駆動するためのバッファ１０９の遅延時間を考慮すると、この１ビットの予測誤差の検出がクリティカルパスになる可能性があった。
【００１８】
又、２数の大小関係が既知であることを利用して桁落ち予測ビツト信号をつくる場合には、演算を行う前に、２数の大小関係を決定する必要がある。そのため、大小比較回路の遅延がこの演算時間に加算されていた。
【００１９】
本発明は、上述の如き従来の問題点を解決するためになされたもので、その目的は、桁落ち予測誤差の検出タイミングを改善した論理回路を提供することである。またその他の目的は、正規化処理において生ずる桁落ち予測誤差の検出タイミングを改善して、全体的な演算動作の高速化を可能にした浮動小数点演算装置を提供することである。
【００２６】
【課題を解決するための手段】
上記目的を達成するために、第１の発明の特徴は、２つの被加減算数を入力して演算を行う加算器と、前記２つの被加減算数を各ビット毎に比較して、加算により桁落ちを起こすか否かをビット毎に予測判定する桁落ちビット予測回路と、前記桁落ちビット予測回路によって桁落ちの有りと判定されたビットのうち最上位ビットの位置を符号化した形式で出力するプライオリティエンコーダと、該プライオリティエンコーダの出力に基づき、前記加算器の演算出力に対して浮動小数点演算に伴う正規化処理を行う正規化手段と、前記正規化手段の処理結果に対して誤差補正を行う誤差補正手段とを備えた浮動小数点演算装置において、前記プライオリティエンコーダの出力と前記加算器の各ビットの最終的な桁上げ信号とに基づいて、前記桁落ちビット予測回路の予測誤差を検出する桁落ち予測誤差検出回路を設け、前記誤差補正手段は、前記桁落ち予測誤差検出回路の検出結果に応じて前記誤差補正を行う構成にしたことにある。
【００２７】
この第１の発明によれば、浮動小数点演算装置において、正規化手段に制御信号として供給されるプライオリティエンコーダの出力を利用して、桁落ち予測誤差の有無を検出できる。しかも、正規化手段の出力の最上位ビットから桁落ち予測誤差の有無を調べる従来の方法よりも、早く桁落ち予測誤差の有無を検出できる。
【００２８】
第２の発明の特徴は、上記第１の発明において、前記桁落ち予測誤差検出回路は、前記プライオリティエンコーダの出力を選択信号として、前記加算器の各ビットの最終的な桁上げ信号から、桁落ちが起きたビットの桁上げ信号を選択する選択回路で構成し、前記誤差補正手段は、前記選択回路の出力に応じて前記誤差補正を行う構成にしたことにある。
【００２９】
この第２の発明によれば、第１の発明において、加算器の各ビットの最終的な桁上げ信号は、加算器の最終和が確定するよりも早く確定するので、桁落ちビット予測回路の予測誤差の検出タイミングが早くなる。
【００３０】
第３の発明の特徴は、上記第２の発明において、前記桁落ち予測誤差検出回路は、前記プライオリティエンコーダにおける中間結果を前記選択信号として入力する構成にしたことにある。
【００３１】
この第３の発明によれば、第２の発明において、上記第２の発明と同様の作用を呈する。
【００３２】
第４の発明の特徴は、上記第１の発明において、前記桁落ち予測誤差検出回路は、前記プライオリティエンコーダの中間結果を選択信号として、前記加算器の中間結果である桁上げ生成信号と桁上げ伝搬信号を選択し、最終的に選択された桁上げ生成信号と桁上げ伝搬信号を基に、前記桁落ちビット予測回路が予測するビットに対応する桁上げ信号を生成する構成にし、前記誤差補正手段は、前記桁上げ信号に応じて前記誤差補正を行う構成にしたことにある。
【００３３】
この第４の発明によれば、第１の発明において、加算器において各ビットの最終的なキャリー信号が確定する前から、桁落ち予測誤差の検出操作を開始できるので、さらに早く桁落ち予測誤差の有無を検出できる。
【００３４】
第５の発明の特徴は、加算器に入力されて演算が行われる２つの被加減算数を各ビット毎に比較して、加算により桁落ちを起こすか否かをビット毎に判定する桁落ちビット予測回路と、前記桁落ちビット予測回路の出力する桁落ちの有無を判定するビットバターンを入力しその桁落ちの有りと判断したビットのうち最上位ビットの位置を符号化した形式で選択信号として出力するプライオリティエンコーダと、桁落ち予測誤差検出回路とを有する論理回路において、前記桁落ち予測誤差検出回路は、前記プライオリティエンコーダの中間結果を選択信号として、前記加算器の中間結果、或いは、前記演算が行われる２つの被加減算数の各ビット桁上げ先見信号をもとに、最終的に桁上げ生成信号と桁上げ伝搬信号を選択し、前記桁上げ生成信号と桁上げ伝搬信号をもとに前記桁落ちビット予測回路が予測する桁落ちビットに対応する桁上げ信号を生成する回路であることを特徴とする論理回路。
【００３５】
第５の発明によれば、シフタに選択制御信号として出力される信号を利用して、桁落ち予測の誤差の有無を検出できる。しかも、左シフタの出力の最上位ビットから桁落ち予測の誤差の有無を調べる従来の方法よりも、早く桁落ち予測の誤差の有無を検出できる。
【００３６】
第６の発明の特徴は、上記第５の発明において、前記桁落ちビット予測回路は、演算数をｎビットの２数Ａ<ｎ−１：０>，Ｂ<ｎ−１：０>、サインビットをＳＡ，ＳＢ、又、減算のときＢｘ＝ｎｏｔ Ｂ、ＳＡ＝"０"、ＳＢ＝"１"、加算のとき Ｂｘ＝Ｂ、ＳＡ＝"０"、ＳＢ＝"０"、ｉ＜ｎとし、
ｇ<i> ＝Ａ<i>   ａｎｄ  Ｂｘ<i>
ｐ<i> ＝Ａ<i>   ｘｏｒ  Ｂｘ<i>
ｚ<i> ＝ｎｏｔ（Ａ<i>   ｏｒ  Ｂｘ<i> ）
ｇ<n>＝ＳＡ  ａｎｄ  ＳＢ
ｐ<n+1>＝ｐ<n>＝ＳＡ  ｘｏｒ  ＳＢ
ｚ<n>＝ｎｏｔ（ＳＡ  ｏｒ  ＳＢ）
として、桁落ちビット予測信号ＥＺ<i>が
ＥＺ<i> ＝（ｎｏｔ ｐ<i+2>）ａｎｄ（(ｇ<i+1>ａｎｄ(ｎｏｔ ｇ<i>))＋(ｚ<i+1>ａｎｄ(ｎｏｔ ｚ<i>))）＋（ｐ<i+2>）ａｎｄ（(ｇ<i+1>ａｎｄ(ｎｏｔ ｚ<i>))＋(ｚ<i+1>ａｎｄ(ｎｏｔ ｇ<i>)))
で求められることを特徴とする。
【００３７】
第６の発明によれば、上記第５の発明において、２つの被演算数の大小関係が減算開始時に判らなくても、１ビットの誤差の範囲で、加減算の結果の桁落ち予測が可能となる。
【００４２】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。図１は、本発明の第１実施形態に係る浮動小数点演算装置の構成を示すブロック図である。
【００４３】
この浮動小数点演算装置は、演算器（加算器）１、桁落ち予測回路２、左シフタ３、予測誤差検出回路４、及び右シフタ５を備えている。演算器１及び桁落ち予測回路２には、２つの被演算数Ａ＜３１：０＞とＢｘ＜３１：０＞が入力されるようになっている。
【００４４】
加算器１は被演算数Ａ＜３１：０＞とＢｘ＜３１：０＞の加減算を行い、桁落ち予測回路２は上述の桁落ち予測を行う回路である。ここで、被演算数Ｂｘはセレクタ６の出力であり、セレクタ６は、被演算数Ｂ＜３１：０＞とその反転データ（インバータ７による）のいずれか一方を加算及び減算に応じて選択し、その選択結果を前記被演算数Ｂｘ＜３１：０＞として出力するものである。そして、桁落ち予測回路２による桁落ち予測動作は、加算器１による加減算動作と並行して行われる。
【００４５】
加算器１の出力側には、左シフタ３が接続されている。左シフタ３は、上記正規化処理を行うべく、桁落ち予測回路２の結果であるシフト量制御信号を用いて左シフト処理を行う。予測誤差検出回路４は、桁落ちが起きると予測されたビットにおいて桁上げ（キャリーが  ”１”となる）が発生すると、この桁上げが１ビットの予測誤差となる。そこで、桁落ちが起きると予測されたビットにおけるキャリーの有無を調べ、キャリーが  ”１”であれば右シフタ５を用いて１ビット右へシフトさせることで、予測誤差を補正する。
【００４６】
尚、ここでは、減算の場合には答えが常に正になるということを前提としているため、図２に示したように、必要に応じて大小比較回路９を設けることになる。
【００４７】
次に、本発明の特徴的な構成要素である桁落ち予測回路２、左シフタ３、及び予測誤差検出回路４の構成と動作［１］〜［３］を詳細に説明する。
【００４８】
［１］桁落ち予測回路２
桁落ち予測回路２は、図３に示すように桁落ちビット予測回路１１と桁落ち量決定回路１２とで構成され、以下、その説明を順次行う。
【００４９】
（１）桁落ちビット予測回路１１
桁落ちビット予測回路１１は、２つの被演算数のビット毎の比較を行い、その状態から加減算の結果の最上位桁を予測する。ここで、被演算数を３２ビットと仮定すると、予測結果（桁落ち予測信号ＥＺ）は３２ビットの“０”、“１”のビットパターンで得られ、その“１”が出力されたビットのうち、最上位ビット（桁落ちが予測されるビット）の位置を口述する桁落ち量決定回路１２よって検出する。
【００５０】
この桁落ちビット予測回路１１では、２つの被演算数の各ビット毎のパターンの状態から桁落ち量を予測するので、下位ビットからの桁上げを考慮に入れていない。そのため、桁落ちが予測されるビット（桁落ち予測信号のうち“１”が出力されたビットで最上位にあたるビット）の桁上げが生じた場合、実際に起こる桁落ちの値よりも１つ多く予測することになる。
【００５１】
次に、桁落ちビット予測回路１１の説明を行う。なお、図中のＡ，Ｂｘは３２ビットの被演算数、ＳＡ，ＳＢはサインビット、及びＥＺは３２ビットの桁落ち予測信号である。桁落ち予測信号ＥＺの発生の論理は次の通りになる。
【００５２】
尚、ａｎｄは論理積
ｏｒは論理和
ｘｏｒは排他的論理和
ｎｏｔは否定論理
を表わしている。
【００５３】
0003544846.tif 000002
但し、減算のとき、Ａ＞Ｂが前提で、
Ｂｘ＝ｎｏｔ  Ｂ、ＳＡ＝“０”、ＳＢ＝“１”
加算のとき、
Ｂｘ＝Ｂ、ＳＡ＝“０”、ＳＢ＝“０”
（２）桁落ち量決定回路１２
桁落ち量決定回路１２で検出された桁落ち量を完全にエンコードした状態で出力すると、左シフタ３の構成によっては再びこれをデコードする必要が生じる。そこで、この回路の出力の形式は、後続するシフタがシフト量選択制御信号として直接入力できる形式であることが望ましい。そのため、桁落ち量決定回路１２は、桁落ち量を数値化（完全なエンコード）するのではなく、部分的なエンコードを施して出力する。
【００５４】
図３において、桁落ちビット予測回路１１を除いた部分が、３２ビット桁落ち量決定回路１２の構成である。回路の機能としては、３２ビットのプライオリティエンコーダと同等であるが、結果は上述の通り完全にエンコードされずに出力される。
【００５５】
３２ビット桁落ち量決定回路１２は、２つの１６ビット桁落ち量決定回路１３Ａ（上位ブロック側），１３Ｂ（下位ブロック側）と、その出力側に接続された８つ（×４×２）の２−１セレクタ１４Ａ，１４Ｂと、図示省略のバッファ回路（駆動力を要するときに必要に応じて挿入する）とから構成されている。
【００５６】
３２ビット桁落ち量決定回路１２は、２つの１６ビットの桁落ち量決定回路１３Ａ，１３Ｂから出力される第１のシフト量選択制御信号の候補ＳＳ１と第２のシフト量選択制御信号の候補ＳＳ２とから、上位ブロック側の桁落ち量決定回路１３Ａから出力されるブロック有効信号Ｖ２を選択制御信号として、各々４ビット幅の２−１セレクタ１４Ａ，１４Ｂによって、４ビットの第１のシフト量選択制御信号Ｓ１と４ビットの第２のシフト量選択制御信号Ｓ２とを選択し出力する回路である。尚、図４は、２−１セレクタ１４Ａ，１４Ｂの真理値表である。
【００５７】
図５は、１６ビット桁落ち量決定回路１３Ａ，１３Ｂの構成を示すブロック図である。
【００５８】
この１６ビット桁落ち量決定回路１３Ａ，１３Ｂは、４ビット桁落ち量決定回路２１〜２４と、桁落ちが発生したブロックのうち最上位のブロックを特定する最上位ブロック特定回路２５と、４つの４−１セレクタ２６と、バッファ回路（図示省略）とでそれぞれ構成される。ここで、４ビット桁落ち量決定回路２１〜２４は、１６ビットの桁落ち予測信号ＥＺを連続する４ビット（１ブロック）毎に入力し、４ビット中の有効となる最上位ビットを特定すると同時に、桁落ち発生の有無を出力する。最上位ブロック特定回路２５は、桁落ちが発生したブロックの中で最上位のブロックを特定する。さらに、４−１セレクタ２６は、４ブロックの中から最上位ビット特定回路２５により特定されたブロックの出力信号（４ビット）を選択する。尚、４−１セレクタ２６の真理値表を図６に示す。  図３及び図５に示されるように、本実施形態の桁落ち量決定回路１２では、３２ビットの桁落ち予測信号ＥＺを連続する１６ビット毎に２ブロック化し、これを更に４ブロック（最小単位の１ブロックは連続する４ビット）に分ける。これは、桁落ち量決定回路１２を階層化して構成し易くすると同時に、シフト量選択制御信号の出力先である左シフタ３（図１１）の構成を考慮している。
【００５９】
次に、図３及び図５を用いて桁落ち量決定回路１２の動作について説明する。
４ビット桁落ち量決定回路２１〜２４は、図７に示す４ビットプライオリティエンコーダである。即ち、連続する４ビット桁落ち予測信号ＥＺを入力して、４ビットの第１のシフト量選択制御信号Ｓ１の第１候補ＳＳ０を生成する。すなわち、“１”となる桁落ち予測信号ＥＺを入力したビットのうち、最上位ビットの位置を第１のシフト量選択制御信号Ｓ１の第１候補ＳＳＳ１として出力する。そして、入力される４ビットのうち、１ビットでも桁落ち予測信号ＥＺが“１”であれば、第１のブロック有効信号Ｖ１（図７では出力Ｅにあたる）を“１”にする。
【００６０】
これを階層的に構成したものが、１６ビット桁落ち量決定回路１３Ａ，１３Ｂである。ここでは、４つの４ビット桁落ち量決定回路２１〜２４から出力される４本の第１のブロック有効信号Ｖ１のプライオリティを調べる。すなわち、桁落ちの生じた最上位ブロックを最上位ブロック特定回路２５によって特定する。このため、この最上位ブロック特定回路２５も図７に示す４ビットプライオリティエンコーダである。
【００６１】
即ち、最上位ブロック特定回路２５は、４つのブロックに各々対応する４ビット桁落ち最決定回路２１〜２４から出力される計４ビットの第１のブロック有効信号Ｖ１を入力し、第２のシフト量選択制御信号Ｓ２の候補ＳＳ２を出力する。第２のシフト量選択制御信号Ｓ２の候補ＳＳ２は４ビットの信号であり、この４ビットのうち最上位ブロックに対応するビットのみが“１”となる。さらに、４ビット桁落ち量決定回路２１〜２４から出力される計４ビットの第１のブロック有効信号Ｖ１が１つでも“１”であれば、第２のブロック有効信号Ｖ２を“１”にする。
【００６２】
また、４つの４−１セレクタ２６は、第２のシフト量選択制御信号Ｓ２の候補ＳＳ２を選択制御信号として、第１のシフト量選択制御信号Ｓ１の候補ＳＳＳ１（４ビット×４ブロック）から、第１のシフト量選択制御信号の第２候補ＳＳ１（４ビット）を選択する。
【００６３】
すなわち、１６ビットの桁落ち量決定回路１３Ａ，１３Ｂは、１６ビット（４ビット×４ブロック）の桁落ち予測信号ＥＺをそれぞれ入力して、４ビットの第１のシフト量選択制御信号Ｓ１の候補ＳＳ１と、４ビットの第２のシフト量選択制御信号Ｓ２の候補ＳＳ２と、第２のブロック有効信号Ｖ２とを出力する。
【００６４】
このように、３２ビット桁落ち量決定回路１２においては、２つの１６ビット桁落ち量決定回路１３Ａ，１３Ｂより、各々４ビット（４ビット×２）の第１のシフト量選択制御信号Ｓ１の候補ＳＳ１と、各々４ビット（４ビット×２）の第２のシフト量選択制御信号Ｓ２の候補ＳＳ２とを得る。そして、上位ブロック側の桁落ち量決定回路１３Ａから出力される第２のブロック有効信号Ｖ２を選択制御信号として、各々４つの２−１セレクタ１４Ａ，１４Ｂによって、４ビットの第１のシフト量選択制御信号Ｓ１＜３：０＞と、４ビットの第２のシフト量選択制御信号Ｓ２＜３：０＞とを選択し出力する。さらに、第２のブロック有効信号Ｖ２は、第３のシフト量選択制御信号Ｓ３となって出力される。
【００６５】
すなわち、３２ビットの桁落ち量決定回路１２は、３２ビット（１６ビット×２）の桁落ち予測信号ＥＺ＜３１：０＞を入力して、４ビットの第１のシフト量選択制御信号Ｓ１＜３：０＞と、４ビットの第２のシフト量選択制御信号Ｓ２＜３：０＞と、第３のシフト量選択制御信号Ｓ３を出力する。
【００６６】
次に、３２ビットの桁落ち量決定回路１２の基本的な構成要素である４ビットプライオリティエンコーダ２１〜２４及び２５について、図７の真理値表を用いて説明する。
【００６７】
この４ビットプライオリティエンコーダの出力は、後述する左シフタ３に直接出力できる形式を有する。すなわち、第１、第２及び第３のシフト量選択信号Ｓ１，Ｓ２，Ｓ３を出力するのにシンプルで且つ最も適した構成をもつ。
【００６８】
図７の真理値表に示すように、ＤＡ＜３＞が最上位ビットになるとＤＢ＜３：０＞＝“１０００”となり、ＤＡ＜２＞が最上位ビットになるとＤＢ＜３：０＞＝“０１００”となり、ＤＡ＜１＞が最上位ビットになるとＤＢ＜３：０＞＝“００１０”となり、ＤＡ＜０＞のみ“１”になるとＤＢ＜３：０＞＝“０００１”となる。尚、入力がすべて“０”の場合には、ＤＢ＜３：０＞＝“０００１”となり、必ず１ビットのみが“１”となるようにしている。これは後続する選択回路、及びシフト回路がパストランジスタによって実現されていることを考慮しており、パストランジスタの出力がハイインビーダンス状態にならないように配慮したものである。
【００６９】
［２］左シフタ（正規化回路）３
図８は、左シフタ３の構成を示す図である。図では、右シフタ５も含めて記した。
【００７０】
この左シフタ３は、０／１６ビットシフタ３１と、０／４／８／１２ビットシフタ３２と、０／１／２／３ビットシフタ３３とで構成されており、０ビットから３１ビットまでの可変量左方向シフタである。Ｓ３、Ｓ２＜３：０＞、及びＳ１＜１：０＞は、それぞれ０／１６ビットシフタ３１、０／４／８／１２ビットシフタ３２、及び０／１／２／３ビットシフタ３３のシフト量選択制御信号である。尚、右シフタ５は、左シフタ３とは逆方向に１ビットの誤差補正の為のシフトで行うが、その際に予測誤差検出回路４の検出結果である制御信号ＳＨＦＴＲが１ビット誤差補正のシフトを行うか否かを決定する。
【００７１】
図９（ａ），（ｂ），（ｃ）は、上記シフト量選択制御信号Ｓ３，Ｓ２，Ｓ１とシフト量の関係と示したものである。例えば、Ｓ３＝“０”、Ｓ２＜３：０＞＝“０１００”、Ｓ１＜３：０＞＝“００１０”のとき、（左方向）総シフト量は、１６＋４＋２＝２２ビットとなる。また、シフト量選択制御信号Ｓ２＜３：０＞とＳ１＜３：０＞は、必ず１ビットのみが“１”となるように出力が決められている。尚、図９（ｄ）は、右シフタ５におけるＳＨＦＴＲとシフト動作の関係も示している。
【００７２】
［３］予測誤差検出回路４
桁落ちが起きると予測されたビットにおいて桁上げが発生した場合は、この桁上げが１ビットの予測誤差となる。そこで、桁落ちが起きると予測されたビットにおけるキャリー（桁上げ）を調べ、キャリーが“１”であれば１ビット右へシフトさせることで、予測誤差を補正することができる。
【００７３】
図１０は予測誤差検出回路４の構成例を示す図、及び図１１は予測誤差検出回路４の他の構成例を示す図である。
【００７４】
この予測誤差検出回路４は、４ビットの第１のシフト量選択制御信号Ｓ１と、４ビットの第２のシフト量選択制御信号Ｓ２と、第３のシフト量選択制御信号Ｓ３とを選択制御信号として、３２ビット加算器１の各ビットの最終的なキャリー信号Ｃ＜ｉ＞（第ｉビットのキャリー信号を表す。）から、桁落ちが起きると予測される該当ビットのキャリー信号を選択する。即ち、ビット＜ｉ＞で桁落ちが起こると予測した時Ｃ＜ｉ＞を選択する。
【００７５】
図１０と図１１に示す例では、選択回路（２−１セレクタ，４−１セレクタ）の配置順序が異なるが、これは、各シフト選択信号の確定時間やレイアウトの配線とのトレードオフで決まるもので、選択回路をここに示す順序以外に入れ替えても実現できる。
【００７６】
そこでまず、図１０の例について説明する。第３のシフト量選択制御信号Ｓ３は、桁落ちが起きると予測されるビットの位置＜ｋ＞が下位１６ビット側にあるか、上位１６ビット側にあるか（すなわち、０≦ｋ≦１５であるか、１６≦ｋ≦３１であるか。）を２−１セレクタ４１で選択する。そして、選択された１６ビットは、４ビット毎に４つのブロックにブロック化できるので、第２のシフト量選択制御信号Ｓ２は、これらのブロックのうち該当するブロックを４−１セレクタ４２で選択し、これにより４ビットの信号を選択する。最後に、第１のシフト量選択制御信号Ｓ１は、選択されたブロックの４ビットのうち該当するビットのキャリーＣ＜ｋ＞を４−１セレクタ４３で選択する。これらの操作により、最終的に選択されたキャリー信号Ｃ＜ｋ＞のビットの位置が、桁落ち予測回路１２によって予測されたビット＜ｋ＞と一致することになる。そして、このキャリー信号Ｃ＜ｋ＞が“１”であれば、１ビット右へシフトさせて誤差を補正するように１ビット誤差補正用シフタ（逆方向シフタ）である右シフタ５に制御信号ＳＨＦＴＲを出力する。
【００７７】
図１１の例では、第２のシフト量選択制御信号Ｓ２＜３：０＞、あるいは第２のシフト量選択制御信号Ｓ２の候補ＳＳ２＜７：０＞を使用し、まず、上位１６ビットのブロック、下位１６ビットのブロック毎に各々４ビットブロックを４−１セレクタ５１，５２で選択する。次に第１のシフト量選択制御信号Ｓ１＜３：０＞あるいは第１のシフト量選択制御信号Ｓ１の候補ＳＳ１＜７：０＞を使用して、各１６ブロック毎にビットの位置を４−１セレクタ５３，５４で特定する。最後に、第３のシフト量選択制御信号Ｓ３により、桁落ち予測回路１２によって予測されたビットに対応するキャリーＣｋを２−１セレクタ５５で特定する。
【００７８】
通常、第３のシフト量選択制御信号Ｓ３が確定するタイミングは、第１のシフト量選択制御信号Ｓ１＜３：０＞や第２のシフト量選択制御信号Ｓ２＜３：０＞が確定するタイミングよりも早い。そこで、図１１に示す例のように、Ｓ２＜３：０＞やＳ１＜３：０＞よりも早く確定するＳＳ２＜７：０＞やＳＳ１＜７：０＞を使用するとより早いタイミングで予測誤差検出処理を開始できる。
【００７９】
これら図１０または図１１に示すセレクタをシフタと同様なパストラジスタと仮定すれば、これらのセレクタによる遅延時間は、シフタと同等と考えられる。しかも、各ビットのキャリー信号Ｃ＜ｉ＞は、加算器１の最終和が確定するよりも早く（排他的論理和の１段分の遅延時間にあたる時間早く）確定するので、図１２に示すように、予測誤差検出（Ｔ４ａの期間）の確定する時間は、演算結果が左シフタ３を通る期間（Ｔ３）を経て確定する時間よりも早くなる。そのため、右シフタ５を駆動するためのバッファ８の遅延時間（Ｔ４ｂの期間）を経て、右シフタ５による誤差補正シフト動作期間Ｔ５までが、従来と同じだとすると、バッファ８の駆動を開始する時間が早くなるので、その分従来例よりも早く演算結果ＯＵＴを得ることができる。
【００８０】
次に、本発明の第２実施形態について説明する。
【００８１】
図１３は、本発明の第２実施形態に係る浮動小数点演算装置の構成を示すブロック図であり、図１と共通する要素には同一の符号を付し、その説明を省略する。
【００８２】
本実施形態の浮動小数点演算装置は、図１に示す第１実施形態の構成において、予測誤差検出回路４を新たな予測誤差検出回路６０に置き換え、最下位ビットへのキャリーイン信号Ｃｉｎの入力を加えたものである。
【００８３】
すなわち、本実施形態の予測誤差検出方式では、加算器１のキャリーの生成過程において桁落ちが予測されるビットを特定するのと同時に、該当ビットのキャリーを生成するための信号（桁上げ生成信号、桁上げ伝搬信号）を特定するものである。
【００８４】
図１４は、本実施形態の予測誤差検出方式を実現する予測誤差検出回路６０の構成を示すブロック図である。
【００８５】
３２ビットを上位、下位の１６ビットに分けた各１６ビットにおける予測誤差検出回路６１，６２と、キャリー生成論理回路部６３〜６５と、２−１セレクタ６６とで構成されている。
【００８６】
図１５は、図１４に示した１６ビット予測誤差検出回路６１の詳細を示す図である。
【００８７】
この１６ビット予測誤差検出回路６１は、１６ビットＣＬＡ加算器７１と、８つの４−１セレクタ７２，７３（×４）と、２つの４−１セレクタ７４，７５とから構成されている。
【００８８】
１６ビットＣＬＡ加算器７１は、１６ビットのＰ０＜１５：０＞信号とＧ０＜１５：０＞信号を出力する。このＰ信号、Ｇ信号は、各々ＣＬＡ（ｃａｒｒｙ  ｌｏｏｋａｈｅａｄ  ａｄｄｅｒ）タイプの加算器におけるビット＜０＞からの桁上げ生成信号、桁上げ伝搬信号である。４−１セレクタ７２，７３は、連続する各々１６ビットのＰ０＜１５：０＞、Ｇ０＜１５：０＞から、各々連続する４ビット（｛Ｐ０＜ｉ＋３，ｉ＞，Ｇ０＜ｉ＋３，ｉ＞｝、但し、ｉ＝０、４、８、１２）を選択する。
【００８９】
なお、１６ビット予測誤差検出回路６２の構成も、図１５に示す構成と基本的に同様である。入力信号をＡ＜３１：１６＞、Ｂｘ＜３１：１６＞、ＳＳ２＜７：４＞、ＳＳ１＜３：０＞に、出力信号はＰ１６＜ｊ＞、Ｇ１６＜ｊ＞に各々置き換え、Ｐ０＜１５＞、Ｇ０＜１５＞に対応する信号は不要となる。
【００９０】
次に、予測誤差検出回路６１，６２の動作について図１５を用いて説明する。
【００９１】
選択制御信号は４ビットの第２のシフト量選択制御信号の候補ＳＳ２＜７：０＞を使用する。これは、Ｓ２＜３：０＞やＳ１＜３：０＞よりも早いタイミングで確定するので、予測誤差検出処理をより早く開始できる。
【００９２】
上位１６ビットのブロックには、上位１６ビットの桁落ち量決定回路１３Ａの第２のシフト量選択制御信号の候補ＳＳ２＜７：４＞を、下位１６ビットのブロックには、下位１６ビットの桁落ち量決定回路１３Ｂのブロックの第２のシフト量選択制御信号の候補ＳＳ２＜３：０＞を使用する。これらにより、各々の１６ビットにおける予測誤差検出回路６１，６２おいて、各々４ビット分の桁上げ生成信号、桁上げ伝搬信号の対が選択される。
【００９３】
これらをさらに、各々１ビット分の桁上げ生成信号、桁上げ伝搬信号の対に選択するのが、第１のシフト量選択制御信号の候補ＳＳ１＜７：０＞である。これも各々１６ビットの桁上げ生成信号、桁上げ伝搬信号の対｛Ｐｉ＜ｉ＋１５：ｉ＞、Ｇｉ＜ｉ＋１５：ｉ＞、ｉ＝０、１６｝から“４ビットの桁上げ生成信号、桁上げ伝搬信号の対を選択したかの如く、各々４ビットの桁上げ生成信号、桁上げ伝搬信号の対｛Ｐｊ＜ｉ＋ｊ＋３：ｉ＋ｊ＞  、Ｇｊ＜ｉ＋ｊ＋３：ｉ＋ｊ＞  、ｉ＝０、４、８、１２、ｊ＝０、１６｝から、各々１ビットの桁上げ生成信号と桁上げ伝搬信号の対｛Ｐｊ＜ｉ＋ｊ＞、Ｇｊ＜ｉ＋ｊ＞  、０＜ｉ≦１５、ｊ＝０、１６｝を選択する。
【００９４】
この場合も上位ブロックにおける選択には、上位ブロック第１のシフト量選択制御信号の候補ＳＳ１＜７：４＞を使用し、下位ブロックにおける選択には、下位ブロック第１のシフト量選択制御信号の候補ＳＳ１＜３：０＞を使用する。
【００９５】
図１４において、キャリー生成論理回路部６３〜６５は、最下位ビットへのキャリーイン信号Ｃｉｎと桁上げ生成信号及び、桁上げ伝搬信号とからから最終的なキャリー信号を生成する。すなわち、キャリー生成論理回路部６３では、
Ｃｉｎと｛Ｐ０＜ｉ＞、Ｇ０  ＜ｉ＞  、（０≦ｉ≦１５）｝とにより、
Ｃ＜ｉ＞＝（Ｇ０  ＜ｉ＞  ｏｒ  （Ｐ０  ＜ｉ＞  ａｎｄ  Ｃｉｎ））（０≦ｉ≦１５）
を生成し、キャリー生成論理回路部６４では、ＣｉｎとＰ０  ＜１５＞，Ｇ０  ＜１５＞とにより、
Ｃ＜１５＞＝（Ｇ０  ＜１５＞  ｏｒ  （Ｐ０  ＜１５＞  ａｎｄ  Ｃｉｎ））
を生成し、キャリー生成論理回路部６５では、Ｃ＜１５＞と｛Ｐ１６＜ｊ＞  、Ｇ１６＜ｊ＞  、（１６≦ｊ≦３１）｝とにより、
Ｃ＜ｊ＞＝（Ｇ１６＜ｊ＞  ｏｒ  Ｐ１６＜ｉ＞  ａｎｄ  Ｃ＜１５＞））（１６≦ｊ≦３１）を生成する。
【００９６】
第３のシフト量選択制御信号Ｓ３を選択制御信号として、２−１セレクタ６６において、キャリー生成論理回路部６３と６５からそれぞれ出力されたキャリー信号Ｃ＜ｉ＞とＣ＜ｊ＞（０≦ｉ≦１５、１６≦ｊ≦３１）のうち、いずれか一方が選択される。この最終的に選択されたキャリー信号が、桁落ち予測回路２によって予測されたビット＜ｋ＞と一致したビットのキャリー信号Ｃ＜ｋ＞となる。もし、このキャリー信号Ｃ＜ｋ＞が“１”ならば、１ビット右へシフトさせて誤差を補正するように、右シフタ５に制御信号ＳＨＦＴＲを出力する。
【００９７】
本実施形態によれば、図１６に示すように、加算器１において、各ビットの最終的なキャリー信号が確定する前から、上記第１実施形態よりも更に早く桁落ち予測誤差の有無の検出操作を開始できるので、上記第１実施形態よりも早く桁落ち予測誤差の有無を検出できる。これにより、上記第１実施形態よりも早く浮動小数点演算結果ＯＵＴが得られる。
【００９８】
なお、第２実施形態では、予測誤差検出回路４におけるＣＬＡ加算器７１のブロックを１６ビットとしたが、もし第１のシフト量選択制御信号の候補ＳＳ１＜７：０＞や第２のシフト量選択制御信号の候補ＳＳ２＜３：０＞の確定するタイミングを考慮して、ＣＬＡ加算器７１の構成を変えることも可能である。
【００９９】
また、上記各実施形態では、演算のビット幅を３２ビットとしたが、演算のビット幅が変わった場合には、それに応じて階層の構成を変えることで柔軟に対応できる。
【０１００】
以上の実施形態では、減算の場合には、大小比較回路等により予め答えが正になるように２数の大小関係を考慮して入れ替え操作を行う必要があった（図２のマルチプレクサ６）。以下に説明する第３の実施形態では、減算の場合でも答えが正になるということを前提としない。
【０１０１】
以下、本発明の第３実施形態を図面に基づいて説明する。図１７は、本発明の第３実施形態に係る浮動小数点演算装置の構成を示すブロック図である。ここで、演算器の前段に大小比較回路１０６は設けず並列に動作させる。そのため、減算の場合答えが負になる可能性が有る。又、図１７は、図１と対応するので、重複する説明は省略する。
【０１０２】
ここでも、図３に示した様な桁落ちビット予測回路が設けられているが、ここでの桁落ち予測信号ＥＺの発生の論理は、Ａ，Ｂｘを３２ビットの被演算数、ＳＡ，ＳＢをサインビットとして次の通りになる。
【０１０３】
0003544846.tif 000003
但し、減算のとき、
Ｂｘ＝ｎｏｔ  Ｂ、ＳＡ＝“０”、ＳＢ＝“１”
加算のとき、
Ｂｘ＝Ｂ、ＳＡ＝“０”、ＳＢ＝“０”
尚、第一及び第二の実施例の場合と異なり、桁落ち予測信号ＥＺの発生にはＡ、Ｂの大小関係の影響を受けない。桁落ち予測回路１０２は、図３を用いて説明したものに対応し、桁落ちビット予測回路と桁落ち量決定回路とで構成される。ここでも、やはり重複説明は省略する。
【０１０４】
図１８は（３２ビットの）予測誤差検出回路１０３の構成を示しており、この図をもとに予測誤差検出回路の構成とその動作を説明する。ここでは、桁落ち予測回路１０２に対応して、３２ビットのデータを仮定する。この回路は下位１６ビットの予測誤差検出回路７０１、上位１６ビットの予測誤差検出回路７０２、キャリー生成論理回路部７０３〜７０４、予測誤差信号生成回路７０５より構成されている。
【０１０５】
予測誤差検出回路１０３は桁落ち量決定回路の中間状態信号を利用して、桁落ちが起きると予測されるビットにおけるのキャリーを特定し、さらに、大小比較回路の結果をもとに予測誤差を検出する。
【０１０６】
入力信号は、３２ビットの２つの被演算数の桁上げ先見信号であるｐ信号（桁上げ伝搬信号）及びｇ信号（桁上げ生成信号）である。このとき、下位１６ビットの予測誤差検出回路７０１には、２つの被演算数の下位１６ビットの対が入力され、１対のＰ信号、Ｇ信号を出力する。一方、上位１６ビットの予測誤差検出回路７０２には、２つの被演算数の上位１６ビットの対が、入力され、１対のＰ信号、Ｇ信号を出力する。尚、出力されるＰ信号、Ｇ信号は、各々のブロックのビット＜０＞からの桁上げ先見信号である。
【０１０７】
図１９に示した下位１６ビットの予測誤差検出回路７０１は、４ビット桁上げ先見回路８０１、選択回路８０２、８０４、桁上げ先見信号更新回路８０３より構成されている。一方、図２０は上位１６のビット予測誤差検出回路７０１の構成であり、４ビット桁上げ先見回路８０１、選択回路８０２、８０４、桁上げ先見信号更新回路８０３より構成されている。１６ビットの予測誤差検出回路７０１、７０２はこれら以外にブロック間桁上げ先見回路を必要とする。これらの構成図は図２１に示されている。図に示すようにして、ブロック間の桁上げ先見信号（Ｐ０＜ｉ＞、Ｇ０＜ｉ＞（ｉ＝３、７、１１、１５）、Ｐ１６＜ｊ＞、Ｇ１６＜ｊ＞（ｊ＝１９、２３、２７））をつくり、これらを桁上げ先見信号更新回路８０３に出力する。
【０１０８】
次に、図１９、図２０、図２１、図１８をもちいて、順にこれらの回路における予測誤差を検出動作について説明する。図１９は下位１６ビットの予測誤差検出回路７０１である。この回路は２つの被演算数の下位１６ビットから、最終的に１対の桁上げ先見信号を出力する。ここでは、１６ビットに対応する信号を連続する４ビットに対応する４つの対を１つのグループとして、４つのグループに分け、まずそのグループ内において最小ビットからの桁上げ先見信号を４対つくる。尚、これらの４対の桁上げ先見信号のグループは、４ビットのプライオリティエンコーダ３０１の出力信号のビットと対応しており、４ビットのうち”１”になったビットに対応した桁上げ先見信号の対が選択回路８０２によって選ばれる。次に、４つブロックから選ばれた各々１対の桁上げ先見信号を桁上げ先見信号更新回路８０３により（１６ビットブロックの）最下位ビットから積算した信号に更新し、このうち有効となったブロックに対応した桁上げ先見信号の対を選択回路８０４により選択し出力する。以上のように下位１６ビットの予測誤差検出回路７０１では、桁上げ先見信号の更新と選択を並行して行う。
【０１０９】
次に、下位１６ビット予測誤差検出回路７０１の動作の詳細について図１９を用いて説明する。この回路では１６ビットを４ビット毎の４つのグループに分けたが、このグループの１つの単位が４ビット桁上げ先見回路８０１である。
【０１１０】
４ビット桁上げ先見回路８０１は、以下のように各ビットのｐ信号（桁上げ伝搬信号）とｇ信号（桁上げ生成信号）をつくり、さらに４グループ内の最小ビットからの桁上げ信号であるＰ信号（桁上げ伝搬信号）、Ｇ信号（桁上げ生成信号）をつくる。（尚、以下の表記を簡単にするため、“・”は論理積（ａｎｄ）、“＋”は論理和（ｏｒ）を表す。）
0003544846.tif 000004
このうち有効となったビットに対応する選択制御信号（第１のシフト量選択制御信号の候補１：ＳＳＳ１＜Ｊ＋３：Ｊ＞３１のうち、有効となったビットに対応したビットのみが”１”になる。）をもとに、選択回路８０２はこれに対応するＰ信号、Ｇ信号の対（ＰＪ＜Ｌ＞、ＧＪ＜Ｌ＞）を選択する。（ただし、Ｊ≦Ｌ≦Ｊ＋３）
次の桁上げ先見信号更新回路８０３では、これらＰＪ＜Ｌ＞、ＧＪ＜Ｌ＞と下位ブロックからのブロック間の桁上げ先見信号の対（Ｐ０＜Ｊ−１＞、Ｇ０＜Ｊ−１＞、Ｊ＝４、８、１２）をもとに、以下のように桁上げ先見信号を更新する。（ただし、Ｐ０＜３＞、Ｇ０＜３＞はそのまま。）
Ｐ０＜Ｌ＞  ＝  ＰＪ＜Ｌ＞・Ｐ０＜Ｊ−１＞
Ｇ０＜Ｌ＞  ＝  ＧＪ＜Ｌ＞＋（ＰＪ＜Ｌ＞・Ｇ０＜Ｊ−１＞）
すなわち、ここで桁上げ先見の階層が４ビットブロック内であったものを下位ブロックの４ビット分の桁上げ先見信号を積み重ねて、最下位ビット（第０ビット）から該当ビット＜ｉ＞までの桁上げ先見信号Ｐ０＜ｉ＞、Ｇ０＜ｉ＞にまで更新する。尚、０ビットから１つ下の４ビットブロックまでの桁上げ先見信号は図２１に示しているブロック間の桁上げ先見信号更新回路１００１ー１００５によって作られる。
【０１１１】
選択回路８０４は、これら更新された４つの対の桁上げ先見信号（Ｐ，Ｇ信号）のうち、有効となったブロックに対応する選択制御信号（第２のシフト量選択制御信号の候補１：ＳＳ２＜３：０＞３４のうち、有効となったブロックに対応したビットのみ”１”になる。）により、桁上げ先見信号１対を選択する。
【０１１２】
一方、図２０は上位１６ビットの予測誤差検出回路７０２である。これも図１９と同様に（式Ｉ）４ビットの階層の桁上げ先見信号（Ｐ信号、Ｇ信号）の４つを対を生成し、選択回路８０２はこれらからアクティブなビットに対応するＳＳＳ１＜Ｉ＋３：Ｉ＞信号を選択制御信号として、桁上げ先見信号の対（ＰＩ＜Ｈ＞，ＧＩ＜Ｈ＞）を選択する。（ただし、Ｉ≦Ｈ≦Ｉ＋３）
そして、桁上げ先見信号更新回路８０３において、これらＰＩ＜Ｈ＞、ＧＩ＜Ｈ＞と下位ブロックからのブロック間の桁上げ先見信号の対（Ｐ１６＜Ｉ−１＞、Ｇ１６＜Ｉ−１＞）をもとに、以下の式ように桁上げ先見信号を更新する。（Ｉ＝２０、２４、２８）（ただし、Ｐ０＜３＞  Ｇ０＜３＞はそのまま。）
Ｐ１６＜Ｈ＞＝ＰＩ＜Ｈ＞・Ｐ１６＜Ｉ−１＞
Ｇ１６＜Ｈ＞＝ＧＩ＜Ｈ＞  ＋（ＰＩ＜Ｈ＞・Ｇ１６＜Ｉ−１＞）
さらに、選択回路８０４は、４つのＰ，Ｇ信号の対のうち、有効になったブロックに対応する選択制御信号（第２のシフト量選択制御信号の候補１：ＳＳ２＜３：０＞３４のうち、有効となったブロックに対応したビットのみ”１”になる。）により、Ｐ，Ｇ信号の１対を選択する。
【０１１３】
ところで、桁上げ先見信号更新回路８０３に出力されるもう１系統のＰ，Ｇ信号の対であるブロック間の桁上げ先見信号の対（Ｐ０＜ｉ＞、Ｇ０＜ｉ＞（ｉ＝３、７、１１、１５）、Ｐ１６＜ｊ＞、Ｇ１６＜ｊ＞（ｊ＝１９、２３、２７））は、図２１に示している桁上げ先見信号更新回路１００１〜１００５によって、以下のようにつくられる。
【０１１４】
先見信号更新回路１００１
Ｐ０＜７＞  ＝  Ｐ４＜７＞・Ｐ０＜３＞
Ｇ０＜７＞  ＝  Ｇ４＜７＞  ＋  （Ｐ４＜７＞・Ｇ０＜３＞）
先見信号更新回路１００２
Ｐ０＜１１＞  ＝  Ｐ１１  ８・Ｐ４＜７＞・Ｐ０＜３＞
Ｇ０＜１１＞  ＝  Ｇ８＜１１＞＋（Ｐ８＜１１＞・Ｇ４＜７＞）＋  （Ｐ８＜１１＞・Ｐ４＜７＞・Ｇ０＜３＞）
先見信号更新回路１００３
Ｐ１６＜２３＞  ＝  Ｐ２０＜２３＞・Ｐ１６＜１９＞
Ｇ１６＜２３＞  ＝  Ｇ２０＜２３＞＋（Ｐ２０＜２３＞・Ｇ１６＜１９＞）
先見信号更新回路１００４
Ｐ１６＜２７＞  ＝  Ｐ２４＜２７＞・Ｐ１６＜１９＞
Ｇ１６＜２７＞  ＝  Ｇ２４＜２７＞＋（Ｐ２４＜２７＞・Ｇ２０＜２３＞）＋（Ｐ２４＜２７＞・Ｐ２０＜２３＞・Ｇ１６＜１９＞）
先見信号更新回路１００７
Ｐ０＜１５＞  ＝  Ｐ１２＜１５＞・Ｐ０＜１１＞
Ｇ０＜１５＞  ＝  Ｇ１２＜１５＞＋（Ｐ１２＜１５＞・Ｇ０＜１１＞）
ここで、Ｋ＜Ｍ＜Ｊとして、ＰＫ＜Ｊ＞とＧＫ＜Ｊ＞は次の様な式によって定義される。
【０１１５】
ＰＫ＜Ｊ＞  ＝  （ＰＭ＋１＜Ｊ＞）・（ＰＫ＜Ｍ＞）
ＧＫ＜Ｊ＞  ＝  （ＧＭ＋１＜Ｊ＞）＋（（ＰＭ＋１＜Ｊ＞）・（ＧＫ＜Ｍ＞））
尚、バッファ１００５、１００６は、Ｐ０＜３＞、Ｇ０＜３＞、Ｐ１６＜１９＞、Ｇ１６＜１９＞の駆動力を強化する。図１８では、下位１６ビット予測誤差検出回路７０１、上位１６ビット予測誤差検出回路７０２から、各々出力されるＰ信号、Ｇ信号の対より、最終的に桁落ち予測誤差検出信号：ＳＨＦＴＲ２６を生成する。キャリー生成論理回路部７０３〜７０４は、下位ブロックからの桁上げ先見信号（Ｐ０＜１５＞、Ｇ０＜１５＞、）と上位１６ビット予測誤差検出回路７０２から各々出力されるＰ信号、Ｇ信号の対（Ｐ０＜Ｌ＞、Ｇ０＜Ｌ＞、Ｐ１６＜Ｈ＞、Ｇ１６＜Ｈ＞）より最終的なキャリー信号をつくる。
【０１１６】
すなわち、キャリー生成論理回路部７０３では、ＣｉｎをＧ０＜Ｌ＞，Ｐ０＜Ｌ＞（０≦Ｌ≦１５）より、
ＣＺ（Ｌ）  ＝  Ｇ０＜Ｌ＞  ＋  （Ｐ０＜Ｌ＞・Ｃｉｎ）  ＝  Ｇ０＜Ｌ＞＋Ｐ０＜Ｌ＞      （Ｃｉｎ  ＝  １）
ＣＧ（Ｌ）  ＝  Ｇ０＜Ｌ＞  ＋  （Ｐ０＜Ｌ＞・Ｃｉｎ）  ＝  Ｇ０＜Ｌ＞            （Ｃｉｎ  ＝  Ｏ）
を生成し、キャリー生成論理回路部７０４では、ＣｉｎとＧ１６＜Ｈ＞，Ｐ１６＜Ｈ＞，  Ｇ０＜１５＞，  Ｐ０＜１５＞  （１６≦Ｈ≦３１）より、
0003544846.tif 000005
を生成する。即ち、加算が行われるとき或いは減算結果が負（ＳＩＧＮ＝１）のときはＣｉｎ＝０とし、減算結果が正（ＳＩＧＮ＝０）のときはＣｉｎ＝１として、上のように減算結果の正負に対して２つのキャリーの候補を用意しておいて、大小比較回路の結果（ＳＩＧＮ信号）により、次の予測誤差信号生成回路７０５において何れかを選択できるようにしている。
【０１１７】
予測誤差信号生成回路７０５は、第３のシフト量選択制御信号：Ｓ３（２５）を選択制御信号として、キャリー生成論理回路部７０３、７０４から出力されたキャリー信号ＣＺ（Ｌ）、ＣＧ（Ｌ）とＣＺ（Ｈ）、ＣＧ（Ｈ）のペア（０≦Ｌ≦１５、１６≦Ｈ≦３１）のうち一方を選択する。この最終的に選択されたキャリー信号ＣＺ＜ｋ＞あるいはＣＧ＜ｋ＞が、桁落ち予測回路によって予測されたビット＜ｋ＞と一致したビットのキャリー信号Ｃ＜ｋ＞となる。
【０１１８】
さらに、予測誤差信号生成回路７０５は選択されたキャリーと演算結果が加算であるか、減算であるか、減算の場合にはその結果の符号（実際には大小比較結果）によって予測誤差信号が異なる。まず、加算の場合は常にＣｉｎ＝０とするので、
ＳＨＦＴＲ＝ＣＧ＜ｋ＞
となる。
【０１１９】
減算の場合には、大小比較器の比較結果により結果が正（ＳＩＧＮ＝０）であると判断した場合、このキャリー信号ＣＺ＜ｋ＞が“１”であれば、１ビットの誤差を含むので１ビット右ヘシフトさせて誤差を補正するように右方向シフタ５に制御信号を出力する。
【０１２０】
すなわち、上記制御信号となる予測誤差信号：ＳＨＦＴＲは
ＳＨＦＴＲ＝ＣＺ＜ｋ＞
となる。
【０１２１】
一方、減算結果が負（ＳＩＧＮ＝１）であると判断したときには、このキャリー信号ＣＧ＜ｋ＞が“０”であれば１ビットの誤差を含むので、１ビット右ヘシフトさせて誤差を補正するように右方向シフタ５に制御信号を出力する。すなわち、予測誤差信号：ＳＨＦＴＲはキャリー信号の反転信号となるので、
ＳＨＦＴＲ＝ｎｏｔ（ＣＧ＜ｋ＞）
となる。
【０１２２】
次に、図１９、図２０、図１８の動作をより具体的に説明する。以下の例では演算は減算、大小比較の結果は負、即ち答えも負とする。ビット＜１０＞とビット＜１９＞の桁落ち予測信号が”１”（“１”）になったものと仮定する。
【０１２３】
まず、下位１６ビットにおいてビット＜１１：１８＞の４ビットブロックを考える。このブロックにおいては仮定よりビット＜１０＞の桁落ち予測信号が”１”になる。図１９の４ビットの桁上げ先見回路８０１によってＰ８＜１０＞とＧ８＜１０＞は、以下のように生成される。
【０１２４】
Ｐ８＜１０＞＝ｐ＜１０＞・ｐ＜９＞・ｐ＜８＞
Ｇ８＜１０＞＝ｇ＜１０＞＋（ｐ＜１０＞・ｇ＜９＞）＋（ｐ＜１０＞・ｐ＜９＞・ｇ＜８＞）
このとき、これらＰ８＜１０＞とＧ８＜１０＞が選択回路８０２によって選ばれる。つぎに、桁上げ先見信号更新回路８０３によって、以下のように更新される。
【０１２５】
Ｐ０＜１０＞  ＝  Ｐ８＜１０＞・Ｐ０＜７＞
Ｇ０＜１０＞  ＝  Ｇ８＜１０＞＋（Ｐ８＜１０＞・Ｇ０＜７＞）
そして、選択回路８０４によって上記対が選ばれる。（すなわち、ＳＳＳ１＜１１：８＞＝’０１００’、ＳＳＳ２＜３：０＞＝’０１００’となって、上記対を選択することになる。）
一方、上位１６ビットにおけるビット＜１９：１６＞の４ビットブロックでは、ビット＜１９＞の桁落ち予測信号が”１”になる。図１９の４ビットの桁上げ先見回路８０１によつてＰ１６＜１９＞とＧ１６＜１９＞は、以下のように生成され、
Ｐ１６＜１９＞  ＝  ｐ＜１９＞・ｐ＜１８＞・ｐ＜１７＞・ｐ＜１６＞
Ｇ１６＜１９＞  ＝  ｇ＜１９＞＋（ｐ＜１９＞・ｇ＜１８＞）＋（ｐ＜１９＞・ｐ＜１８＞・ｇ＜１７＞）＋（ｐ＜１９＞・ｐ＜１８＞・ｐ＜１７＞・ｇ＜１６＞）
上と同様に、これらが選択回路８０２によって選ばれる。すでに、これらの信号は上位１６ビットのブロックの最下位ビット（ビット＜１６＞）からの桁上げ信号になっているので、桁上げ信号としては更新されないが、必要に応じてバッファ８０５により駆動力が強化される。そして、選択回路８０４によってＰ１６＜１９＞、Ｇ１６＜１９＞が選択される。
【０１２６】
このようにして、下位１６ビットの予測誤差検出回路７０１よりビット＜１０＞に対応する桁落ち先見信号の対Ｇ０＜１０＞、Ｐ０＜１０＞と、上位１６ビットの予測誤差検出回路７０２よりビット＜１９＞に対応する桁落ち先見信号の対Ｇ１６＜１９＞、Ｐ１６＜１９＞とが選ばれたことになる。
【０１２７】
次に、図１８を用いて、最終的にキャリーが生成される動作を説明する。先ず、キャリー生成論理回路７０３によって、ビット＜１０＞のキャリが生成される。図１８ではＬ＝１０となる。
【０１２８】
ＣＧ＜１０＞  ＝  Ｇ０＜１０＞                    （Ｃｉｎ  ＝  Ｏ、加算及び減算結果が負の場合）
ＣＺ＜１０＞  ＝  Ｇ０＜１０＞  ＋  Ｐ０＜１０＞              （Ｃｉｎ  ＝  １、減算結果が正が場合）
また、図１８のキャリー生成論理回路７０４によって、ビット１９のキャリーが生成される。ただし、Ｐ０＜１９＞  ＝Ｐ１６＜１９＞・Ｐ０＜１５＞、Ｇ０＜１９＞  ＝  Ｇ１６＜１９＞＋（Ｐ１６＜１９＞・Ｇ０＜１５＞）として、次の様になる。
【０１２９】
ＣＧ＜１９＞  ＝  Ｇ０＜１９＞                    （Ｃｉｎ  ＝  ０、加算及び減算結果が負の場合）
ＣＺ＜１９＞  ＝  Ｇ０＜１９＞  ＋  Ｐ０＜１９＞                （Ｃｉｎ  ＝  １、減算結果が正が場合）
ここで、ビット＜１９＞の方が上位ビットにあたるので、優先順位が高い。これにより、ＣＧ＜１９＞  、ＣＺ＜１９＞が選ばれる。
【０１３０】
ここで、減算結果が負であると仮定したので、ビット＜１９＞のキャリーＣ＜１９＞は、
Ｃ＜１９＞＝ＣＧ＜１９＞
となる。更に、答えが負のときには予測誤差検出信号はキャリー信号の反転となるので、
ＳＨＦＴＲ＝ｎｏｔ（ＣＧ＜１９＞）
となる。
【０１３１】
これまで説明してきた予測誤差検出回路１０３には、加算器（演算器１０１）と論理を共有する部分が多い。そのため、回路のレイアウト増加や、動作性能の低下を招かない範囲で共有化することで、回路レイアウトの面積も最適化が可能である。
【０１３２】
本実施例の説明では、演算のビット幅を３２ビットと仮定したが、演算のビット幅がこれと異なる場合には（例えば、ＩＥＥＥ７５４では、単精度の浮動小数点の仮数部は２３（＋暗黙の１ビット）ビットである。）、それに応じて階層の構成、ビット数を増減させることにより実現できる。
【０１３３】
以上の様によって、第１及び第２実施形態における大小比較処理が加算器と並列に行うことが可能となる。即ち、図２２（Ａ）に示す様な従来の方法では、加減算の開始前に大小比較を行なわなければならなかったが、本実施形態では図２２（Ｂ）に示したように、加減算処理と並列に大小比較を行ない、処理速度を大幅に向上させることができる。従って、図２２（Ａ）と図２２（Ｂ）を比較すれば明らかなように、大小比較処理に要する時間と誤差検出期間に対応する時間を削減することができた。
【０１３４】
【発明の効果】
以上詳細に説明したように、第１の発明によれば、プライオリティエンコーダの出力を選択信号として、加算器の各ビットの最終的な桁上げ信号を予測誤差の有無を示す信号として選択するようにしたので、桁落ちビット予測回路の予測誤差の有無を早く検出することが可能になる。
【０１３５】
第２の発明によれば、上記第１の発明において、プライオリティエンコーダの最終的な出力よりも早く確定するプライオリティエンコーダにおける中間結果を選択信号として用いるので、予測誤差の有無を一層早く検出することが可能になる。
【０１３６】
第３の発明によれば、プライオリティエンコーダの中間結果を選択信号として、加算器の中間結果である桁上げ生成信号と桁上げ伝搬信号を選択し、最終的に選択された桁上げ生成信号と桁上げ伝搬信号を基に、桁落ちビット予測回路が予測するビットに対応する桁上げ信号を生成して、この桁上げ信号を予測誤差の有無を示す信号として出力するようにしたので、第２の発明よりも、さらに早く桁落ち予測誤差の有無を検出することが可能になる。
【０１３７】
第４の発明によれば、浮動小数点演算装置において、プライオリティエンコーダの出力と加算器の各ビットの最終的な桁上げ信号とに基づいて、桁落ちビット予測回路の予測誤差を検出する桁落ち予測誤差検出回路を設け、誤差補正手段は、桁落ち予測誤差検出回路の検出結果に応じて誤差補正を行うようにしたので、正規化手段に制御信号として供給されるプライオリティエンコーダの出力を利用して、桁落ち予測誤差の有無を検出することができ、装置の構成を簡素化できる。さらに、正規化手段の出力の最上位ビットから桁落ち予測誤差の有無を調べる従来の方法よりも、早く桁落ち予測誤差の有無を検出することが可能になる。
【０１３８】
第５の発明によれば、上記第４の発明において、桁落ち予測誤差検出回路は、プライオリティエンコーダの出力を選択信号として、加算器の各ビットの最終的な桁上げ信号から、桁落ちが起きたビットの桁上げ信号を選択する選択回路で構成し、誤差補正手段は、選択回路の出力に応じて誤差補正を行う構成にしたので、第４の発明において、桁落ち予測誤差検出回路を簡易に構成でき、かつ的確に動作させることができる。
【０１３９】
第６の発明によれば、上記第５の発明において、桁落ち予測誤差検出回路は、プライオリティエンコーダにおける中間結果を選択信号として入力する構成にしたので、第５の発明において、上記第２の発明と同様の効果を奏する。
【０１４０】
第７の発明によれば、上記第４の発明において、桁落ち予測誤差検出回路は、プライオリティエンコーダの中間結果を選択信号として、加算器の中間結果である桁上げ生成信号と桁上げ伝搬信号を選択し、最終的に選択された桁上げ生成信号と桁上げ伝搬信号を基に、桁落ちビット予測回路が予測するビットに対応する桁上げ信号を生成する構成にし、誤差補正手段は、前記桁上げ信号に応じて誤差補正を行う構成にしたので、第４の発明において、上記第３の発明と同様の効果を奏する。
【０１４１】
第８の発明によれば、シフタに選択制御信号として出力される信号を利用して、桁落ち予測の誤差の有無を検出できる。しかも、左シフタの出力の最上位ビットから桁落ち予測の誤差の有無を調べる従来の方法よりも、早く桁落ち予測の誤差の有無を検出できる。
【０１４２】
第９の発明によれば、上記第８の発明において、２つの被演算数の大小関係が減算開始時に判らなくても、１ビットの誤差の範囲で、加減算の結果の桁落ち予測が可能となる。
【０１４３】
第１０の発明によれば、上記第８の発明において、浮動小数点形式のデータでは仮数は絶対値表現に変換するが、この表現に対応した桁落ちの予測と１ビット予測誤差検出が、演算結果の正負に関わらず可能となる。
【０１４４】
第１１の発明によれば、上記第１０の発明において、加算の場合にも同様の適用が可能となっている。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係る浮動小数点演算装置の構成を示すブロック図である。
【図２】本発明の第１実施形態に係る浮動小数点演算装置に大小比較回路を設けた構成を示すブロック図である。
【図３】図１に示した桁落ち予測回路２の構成ブロック図である。
【図４】２−１セレクタ１４Ａ，１４Ｂの真理値表を示す図である。
【図５】１６ビットの桁落ち量決定回路１３Ａ，１３Ｂの構成を示すブロック図である。
【図６】４−１セレクタ２６の真理値表を示す図である。
【図７】４ビットプライオリティエンコーダの真理値表を示す図である。
【図８】左シフタ３と右シフタ５の構成を示す図である。
【図９】シフト量選択制御信号Ｓ３，Ｓ２，Ｓ１とシフト量の関係と示した図である。
【図１０】予測誤差検出回路４の構成例を示す図である。
【図１１】予測誤差検出回路４の他の構成例を示す図である。
【図１２】第１実施形態の効果を示す図である。
【図１３】本発明の第２実施形態に係る浮動小数点演算装置の構成を示すブロック図である。
【図１４】第２実施形態における予測誤差検出回路６０の構成を示すブロック図である。
【図１５】図１５に示した１６ビット予測誤差検出回路６１の詳細を示す図である。
【図１６】第２実施形態の効果を示す図である。
【図１７】本発明の第３実施形態に係る浮動小数点演算装置の構成を示すブロック図である。
【図１８】本発明の第３実施形態に係る浮動小数点演算装置の予測誤差検出回路の構成図である。
【図１９】本発明の第３実施形態に係る浮動小数点演算装置の図１８の下位ブロック７０１の詳細図である。
【図２０】本発明の第３実施形態に係る浮動小数点演算装置の図１８の下位ブロック７０２の詳細図である。
【図２１】本発明の第３実施形態に係る浮動小数点演算装置の桁上げ先見信号更新回路の構成図である。
【図２２】本発明の第３実施形態に係る浮動小数点演算装置の正規化時間の短縮効果を示す図である。
【図２３】桁落ち予測の基本的な原理を説明する状態遷移図である。
【図２４】従来の浮動小数点演算装置の構成を示すブロック図である。
【図２５】図２４に示した装置の動作の時間的経過を示す概念図である。
【符号の説明】
１、１０１  演算器（加算器）
２、１０２  桁落ち予測回路
３、１０４  左シフタ
４，６０、７０１、７０２  予測誤差検出回路
５、１０５  右シフタ
１１、１０２  桁落ちビット予測回路
１２、２０２  ３２ビット桁落ち量決定回路
１３Ａ，１３Ｂ、２０３  １６ビット桁落ち量決定回路
１０６  大小比較回路
Ａ，Ｂｘ  被演算数
４１，５５  ２−１セレクタ
４３，４３，５１〜５４  ４−１セレクタ
Ｓ１  第１のシフト量選択制御信号
Ｓ２  第２のシフト量選択制御信号
Ｓ３  第３のシフト量選択制御信号
ＳＳ１  第１のシフト量選択制御信号の候補
ＳＳ２  第２のシフト量選択制御信号の候補
ＥＺ  桁落ち予測信号
Ｃｉ，Ｃｉｎ  キャリー
【図１】
0003544846.tif 000006
【図２】
0003544846.tif 000007
【図３】
0003544846.tif 000008
【図４】
0003544846.tif 000009
【図５】
0003544846.tif 000010
【図６】
0003544846.tif 000011
【図７】
0003544846.tif 000012
【図８】
0003544846.tif 000013
【図９】
0003544846.tif 000014
【図１０】
0003544846.tif 000015
【図１１】
0003544846.tif 000016
【図１２】
0003544846.tif 000017
【図１３】
0003544846.tif 000018
【図１４】
0003544846.tif 000019
【図１５】
0003544846.tif 000020
【図１６】
0003544846.tif 000021
【図１７】
0003544846.tif 000022
【図１８】
0003544846.tif 000023
【図１９】
0003544846.tif 000024
【図２０】
0003544846.tif 000025
【図２１】
0003544846.tif 000026
【図２２】
0003544846.tif 000027
【図２３】
0003544846.tif 000028
【図２４】
0003544846.tif 000029
【図２５】
0003544846.tif 000030