(57)【要約】【課題】本発明は、複数の演算器を実装し、すべての演算器または一部の演算器を用いて一連の演算を実行する、演算器のフォールトトレラント・システムにおいて、システムとしての機能を損なうことなく、セキュリティをも確保できるようにする。【解決手段】たとえば、演算命令を受信したコプロセッサでの処理結果が誤りである場合、そのコプロセッサは例外フラグをアサートし、不良検出部に出力する。すると、不良検出部は、例外フラグの発生回数が不良判定基準値を超えたかどうかをチェックする。不良判定基準値を超えている場合には、そのコプロセッサは故障などの不良の発生により信頼性が低いと判断し、メインプロセッサは、本システムからそのコプロセッサを切り離す。また、メインプロセッサは、そのコプロセッサに割り当てた命令を、他のコプロセッサを用いて再実行する構成となっている。【選択図】図５
2006228121.tif 000002
【特許請求の範囲】
【請求項１】
同一の演算機能を有し、入力のオペランドに対して、それぞれ演算命令にしたがって所定の演算処理を実行するとともに、前記演算処理の結果が誤った場合に例外フラグを出力する複数の演算器と、
前記オペランドを記憶する記憶装置と、
前記記憶装置と前記複数の演算器とを接続し、前記複数の演算器に前記オペランドを供給する第一のネットワークと、
前記複数の演算器での演算処理の結果を前記記憶装置に書き戻すべく、前記複数の演算器と前記記憶装置とを接続する第二のネットワークと、
前記複数の演算器から出力される前記例外フラグを入力とし、前記例外フラグの発生の頻度が高い演算器を検出する不良検出部と、
前記不良検出部によって検出された、前記例外フラグの発生の頻度が高い演算器をシステムから切り離すべく、前記第一のネットワークおよび前記第二のネットワークを制御するとともに、その演算器に割り当てられた演算処理を別の演算器に再実行させる論理装置制御部と
を具備したことを特徴とする演算処理装置。
【請求項２】
前記演算処理装置はマルチプロセッサであり、前記不良検出部および前記論理装置制御部を構成するメインプロセッサと、前記複数の演算器を構成する複数のコプロセッサとを含むことを特徴とする請求項１に記載の演算処理装置。
【請求項３】
前記演算処理装置はシングルプロセッサであり、前記複数の演算器を構成する複数の等価な論理装置を含むことを特徴とする請求項１に記載の演算処理装置。
【請求項４】
同一の演算機能を有し、入力のオペランドに対して、それぞれ演算命令にしたがって所定の演算処理を実行するとともに、前記演算処理の結果が誤った場合に例外フラグを出力する複数の演算器と、
前記オペランドを記憶する記憶装置と、
前記記憶装置と前記複数の演算器とを接続し、前記複数の演算器に前記オペランドを供給する第一のネットワークと、
前記複数の演算器での演算処理の結果を前記記憶装置に書き戻すべく、前記複数の演算器と前記記憶装置とを接続する第二のネットワークと、
前記複数の演算器から出力される前記例外フラグを入力とし、前記例外フラグの発生の頻度が高い演算器を検出する不良検出部と、
前記不良検出部によって検出された、前記例外フラグの発生の頻度が高い演算器をシステムから切り離すべく、前記第一のネットワークおよび前記第二のネットワークを制御するとともに、その演算器に割り当てられた演算処理を別の演算器に再実行させる論理装置制御部と
を具備し、
前記複数の演算器は、１つあるいは複数の入力オペランドに対してそれぞれ所望の論理演算を行う論理装置であって、
前記論理装置は、
前記１つあるいは複数の入力オペランドにより、結果が一意に決定する第一の論理処理を実行する第一の論理処理装置と、
前記１つあるいは複数の入力オペランドにより、結果が一意に決定する第二の論理処理を実行する第二の論理処理装置と、
前記第一の論理処理装置の処理結果を入力とし、結果が一意に決定する第三の論理処理を実行する第三の論理処理装置と、
前記第二の論理処理装置の処理結果と前記第三の論理処理装置の処理結果とを比較して、前記第一の論理処理装置の処理結果が正しいか否かを判定し、正しくない場合に前記例外フラグを出力する第四の論理処理装置と
を含むことを特徴とする演算処理装置。
【請求項５】
前記第二の論理処理装置は、前記１つあるいは複数の入力オペランドを符号化するためのモジュラー演算を実行するものであり、
前記第三の論理処理装置は、前記第一の論理処理装置の処理結果を符号化するためのモジュラー演算を実行するものであり、
前記第二の論理処理装置の処理結果および前記第三の論理処理装置の処理結果は互いに相関関係を有することを特徴とする請求項４に記載の演算処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算処理装置に関するもので、特に、複数の演算器を実装し、すべての演算器または一部の演算器を用いて一連の演算を実行する論理処理装置などの、演算器のフォールトトレラント・システムに関する。
【背景技術】
【０００２】
近年、社会インフラを制御するコンピュータなど、２４時間の稼働を前提とした論理処理装置が少なくない。このようなシステムでは、稼動中、誤りなく処理を行うことが最低限、要求される。このような状況の中で、フォールトトレラント技術が従来にもまして重要になってきている。
【０００３】
従来、フォールトトレラントの技術は、主に、メモリなどの記憶システムに導入されてきた。具体的には、パリティ・チェック機能やＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｉｒｃｕｉｔ）などである。記憶システムの場合、（１）素子数が論理回路（制御回路および演算器など）と比べて非常に多いことや、（２）稼働率が論理回路と比べて高いことなどのため、現在では、これらの技術の実装は必要不可欠となっている。
【０００４】
これに対し、論理回路に関しては、反対に記憶システムに比べ、（１)素子数が少ないこと、（２）稼働率が低いこと、また、（３）実装コストが大きいこと、などの理由から、トレラントの技術の実装はあまり重要視されてこなかった。
【０００５】
ところが、プロセス技術に注目してみると、高密度化、高速化の要求に答えて、論理回路は一層の微細化が進んでいる。しかし、製造過程でのバラツキが大きく、論理回路は、従来のように十分なマージンを確保したロバストな回路設計を行うことが困難になっている。また、近年、特に問題視されてきているのは、微粒子によるソフト・エラーである。論理回路では、微細化によってソフト・エラーの発生する確率が増大し、無視できないものになっている。
【０００６】
一方、論理回路単体での演算速度を上回る処理の高速化、処理量の増加の要求を満たすため、システムにおいては、論理回路の並列化が積極的に行われている。近年では、従来のように最先端のプロセスや製造技術を駆使した高速な単一のプロセッサでシステムを実現するのではなく、微細化によりコストの下がった安価なマイクロプロセッサを並列あるいは超並列に結合することによって、要求される性能を実現している。このようなシステムでは、論理回路のハードウエア量も大きく、故障の確率も増大している。
【０００７】
このように、従来はあまり重要視されていなかった論理回路の信頼性の確保が重要になってきている。なお、演算器の信頼性を確保することが可能なシステムとしては、既に知られている（たとえば、特許文献１参照）。
【０００８】
しかしながら、論理回路に関しての信頼性の確保の要求が高まる中、単に、ハードウエア量を減少できるのみでなく、今後は、コストの削減とともに、システムとしての機能を損なうことなく、セキュリティをも確保することが可能なシステムの構築が重要となっている。
【特許文献１】特開２０００−０４００８１
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、コストの削減のみでなく、システムとしての機能を損なうことなく、セキュリティをも確保することが可能な演算処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１０】
本願発明の一態様によれば、同一の演算機能を有し、入力のオペランドに対して、それぞれ演算命令にしたがって所定の演算処理を実行するとともに、前記演算処理の結果が誤った場合に例外フラグを出力する複数の演算器と、前記オペランドを記憶する記憶装置と、前記記憶装置と前記複数の演算器とを接続し、前記複数の演算器に前記オペランドを供給する第一のネットワークと、前記複数の演算器での演算処理の結果を前記記憶装置に書き戻すべく、前記複数の演算器と前記記憶装置とを接続する第二のネットワークと、前記複数の演算器から出力される前記例外フラグを入力とし、前記例外フラグの発生の頻度が高い演算器を検出する不良検出部と、前記不良検出部によって検出された、前記例外フラグの発生の頻度が高い演算器をシステムから切り離すべく、前記第一のネットワークおよび前記第二のネットワークを制御するとともに、その演算器に割り当てられた演算処理を別の演算器に再実行させる論理装置制御部とを具備したことを特徴とする演算処理装置が提供される。
【００１１】
また、本願発明の一態様によれば、同一の演算機能を有し、入力のオペランドに対して、それぞれ演算命令にしたがって所定の演算処理を実行するとともに、前記演算処理の結果が誤った場合に例外フラグを出力する複数の演算器と、前記オペランドを記憶する記憶装置と、前記記憶装置と前記複数の演算器とを接続し、前記複数の演算器に前記オペランドを供給する第一のネットワークと、前記複数の演算器での演算処理の結果を前記記憶装置に書き戻すべく、前記複数の演算器と前記記憶装置とを接続する第二のネットワークと、前記複数の演算器から出力される前記例外フラグを入力とし、前記例外フラグの発生の頻度が高い演算器を検出する不良検出部と、前記不良検出部によって検出された、前記例外フラグの発生の頻度が高い演算器をシステムから切り離すべく、前記第一のネットワークおよび前記第二のネットワークを制御するとともに、その演算器に割り当てられた演算処理を別の演算器に再実行させる論理装置制御部とを具備し、前記複数の演算器は、１つあるいは複数の入力オペランドに対してそれぞれ所望の論理演算を行う論理装置であって、前記論理装置は、前記１つあるいは複数の入力オペランドにより、結果が一意に決定する第一の論理処理を実行する第一の論理処理装置と、前記１つあるいは複数の入力オペランドにより、結果が一意に決定する第二の論理処理を実行する第二の論理処理装置と、前記第一の論理処理装置の処理結果を入力とし、結果が一意に決定する第三の論理処理を実行する第三の論理処理装置と、前記第二の論理処理装置の処理結果と前記第三の論理処理装置の処理結果とを比較して、前記第一の論理処理装置の処理結果が正しいか否かを判定し、正しくない場合に前記例外フラグを出力する第四の論理処理装置とを含むことを特徴とする演算処理装置が提供される。
【発明の効果】
【００１２】
上記の構成により、不良率が高い演算器をシステムから切り離すとともに、その演算器に割り当てられた演算処理を別の演算器に再実行させることが可能となる結果、コストの削減のみでなく、システムとしての機能を損なうことなく、セキュリティをも確保することが可能な演算処理装置を提供できる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について図面を参照して説明する。
【００１４】
［第１の実施形態］
図１は、この発明の第１の実施形態にしたがった、フォールトトレラント・システム（演算処理装置）の構成を示すものである。なお、ここでは、１つのメインプロセッサと複数のコプロセッサとを主体に構成されるマルチプロセッサを例に説明する。特に、複数のコプロセッサのうち、すべてあるいは一部のコプロセッサを用いて、同一の処理を実行することが可能な構成とした場合において、たとえば、いくつかのコプロセッサが故障した際に、その故障したコプロセッサをシステムから切り離しても、同一の処理を行うことができるようにした場合について説明する。この場合、１つのメインプロセッサと複数のコプロセッサとを主体に構成されるマルチプロセッサとしての処理時間は同一にはならない。
【００１５】
図１に示すように、メインプロセッサ１０１は、論理装置制御部１０２および不良検出部１０３を備えている。この不良検出部１０３には、同一の演算機能を備える複数のコプロセッサ（演算器）１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎが接続されている。また、上記不良検出部１０３は、上記論理装置制御部１０２に接続されている。上記論理装置制御部１０２には、上記コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎ、記憶装置１２１、オペランド・ネットワーク（第一のネットワーク）１３１、および、処理結果ネットワーク（第二のネットワーク）１４１が接続されている。
【００１６】
上記記憶装置１２１は、上記コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎにそれぞれ供給される、入力のオペランド１２２を記憶するものである。この記憶装置１２１には、上記オペランド・ネットワーク１３１および上記処理結果ネットワーク１４１が接続されるようになっている。この記憶装置１２１は、上記論理装置制御部１０２からの制御信号１５１にしたがって、上記オペランド１２２の読み出しおよび処理結果１６１の書き戻しが行われる。
【００１７】
上記オペランド・ネットワーク１３１は、上記論理装置制御部１０２からの制御信号１５２にしたがって、上記コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎのそれぞれと上記記憶装置１２１との接続を切り換えるもので、たとえば、マトリクス・スイッチ（後述する）により構成されている。
【００１８】
上記処理結果ネットワーク１４１は、上記論理装置制御部１０２からの制御信号１５３にしたがって、上記コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎのそれぞれと上記記憶装置１２１との接続を切り換えるもので、たとえば、マトリクス・スイッチ（後述する）により構成されている。
【００１９】
上記コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎは、たとえば、上記記憶装置１２１からのオペランド１２２を、上記オペランド・ネットワーク１３１を介して、それぞれへの入力１３１ａ，１３１ｂ，１３１ｃ，〜，１３１ｎとして取り込む。そして、上記論理装置制御部１０２からの演算命令１５５にしたがって所定の演算処理を選択的に実行し、処理結果１６１ａ，１６１ｂ，１６１ｃ，〜，１６１ｎを得る。また、得た処理結果１６１ａ，１６１ｂ，１６１ｃ，〜，１６１ｎを、それぞれ、上記処理結果ネットワーク１４１に出力する。なお、上記コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎは、上記論理装置制御部１０２からの制御信号１５４（１５４ａ，１５４ｂ，１５４ｃ，〜，１５４ｎ）によって、それぞれ制御される。
【００２０】
また、上記コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎは、それぞれ、処理結果１６１ａ，１６１ｂ，１６１ｃ，〜，１６１ｎが誤った場合に、上記不良検出部１０３に対して、例外フラグ１６２ａ，１６２ｂ，１６２ｃ，〜，１６２ｎを出力する機能を有している。すなわち、各コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎは、上記演算命令１５５にしたがって所定の演算処理を実行し、処理結果１６１ａ，１６１ｂ，１６１ｃ，〜，１６１ｎの符号化（たとえば、モジュラー演算）を実施するとともに、上記演算処理と並行して、オペランド１２２の符号化を実施する。そして、オペランド１２２の符号化により得られた符号と、処理結果１６１ａ，１６１ｂ，１６１ｃ，〜，１６１ｎの符号化により得られた符号との比較を行い、上記両符号の一致／不一致（相関関係）により、処理結果１６１ａ，１６１ｂ，１６１ｃ，〜，１６１ｎが誤りでないか否かを判定する。なお、本図には示していないが、上記両符号の一致により、処理結果１６１ａ，１６１ｂ，１６１ｃ，〜，１６１ｎが誤りでなかった場合には、上記論理装置制御部１０２に対して、処理結果１６１ａ，１６１ｂ，１６１ｃ，〜，１６１ｎの正当性が通知される。また、上記両符号の不一致により、処理結果１６１ａ，１６１ｂ，１６１ｃ，〜，１６１ｎが誤りであった場合には、その旨が、上記論理装置制御部１０２に通知される。
【００２１】
上記不良検出部１０３は、上記コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎからの例外フラグ１６２ａ，１６２ｂ，１６２ｃ，〜，１６２ｎの発生の回数を、上記コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎごとに検出（カウント）し、例外フラグの発生の頻度が高いコプロセッサ、つまり、故障などによって不良となっているコプロセッサを検出するものである（詳細については、後述する）。
【００２２】
上記論理装置制御部１０２は、たとえば、上記不良検出部１０３の検出結果（コプロセッサの識別情報）１０３’にもとづいて、上記記憶装置１２１、上記オペランド・ネットワーク１３１、上記コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎ、および、上記処理結果ネットワーク１４１を制御し、適宜、上記コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎに所定の演算処理を実行させるものである。
【００２３】
図２は、上記した不良検出部１０３の構成をより具体化して示すものである。なお、ここでは、故障などによって不良となっているコプロセッサの識別情報を生成するための回路構成について、主に説明する。
【００２４】
不良検出部１０３は、上記コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎより出力される例外フラグ１６２ａ，１６２ｂ，１６２ｃ，〜，１６２ｎを検出するもので、各コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎに１対１に対応して、上記例外フラグ１６２ａ，１６２ｂ，１６２ｃ，〜，１６２ｎの発生の回数をカウントする不良（例外）頻度カウンタ１０３ａ、不良の判定の基準となる不良判定基準値を記憶する記憶回路１０３ｂ、および、上記カウンタ１０３ａのカウント値と上記不良判定基準値とを比較し、その比較の結果に応じて、不良となっているコプロセッサの識別情報（検出結果１０３’）などを出力する比較・判定器１０３ｃが設けられている。
【００２５】
すなわち、例外フラグがアサートされると、そのコプロセッサに対応するカウンタ１０３ａのカウント値がインクリメントされる。このカウント値が、あらかじめ定められた回数（記憶回路１０３ｂの不良判定基準値）を超えると、そのコプロセッサでは不良が発生していると判定される。すると、比較・判定器１０３ｃより、論理装置制御部１０２に対し、そのコプロセッサの識別情報が出力される。
【００２６】
なお、カウンタ１０３ａのカウント値が不良判定基準値を超えていない場合には、論理装置制御部１０２に対し、たとえば不良が発生していない有効なコプロセッサに演算の再実行を指示するための特別な識別情報が出力されるように構成されている。また、上記カウンタ１０３ａ以外の、たとえば、上記記憶回路１０３ｂなどは複数のコプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎにより共有させることも可能である。特に、本実施形態のように、コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎごとに記憶回路１０３ｂを設けるようにした場合には、演算の重要度などに応じて、コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎごとに異なる不良判定基準値を設定することも可能である。
【００２７】
図３は、上記したオペランド・ネットワーク１３１の構成例を示すものである。なお、ここでは、記憶装置１２１からのオペランド１２２を２本の信号線１２３ａ，１２３ｂを介して取り込み、その取り込んだオペランド１２２を、２本の信号線１３２ａ，１３２ｂにより、各コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎへの入力１３１ａ，１３１ｂ，１３１ｃ，〜，１３１ｎとして供給するように構成した場合について説明する。
【００２８】
この例の場合、オペランド・ネットワーク１３１は、上記信号線１２３ａを、コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎにつながる上記信号線１３２ａに接続するスイッチｓｗ１ａ，ｓｗ１ｂ，ｓｗ１ｃ，〜，ｓｗ１ｎと、上記信号線１２３ｂを、コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎにつながる上記信号線１３２ｂに接続するスイッチｓｗ２ａ，ｓｗ２ｂ，ｓｗ２ｃ，〜，ｓｗ２ｎとを有して構成されている。各スイッチｓｗ１ａ，ｓｗ１ｂ，ｓｗ１ｃ，〜，ｓｗ１ｎおよびスイッチｓｗ２ａ，ｓｗ２ｂ，ｓｗ２ｃ，〜，ｓｗ２ｎを、それぞれ対応する制御信号１５２（１５２ａ，１５２ｂ，１５２ｃ，〜，１５２ｎ）によってオン／オフすることで、記憶装置１２１と各コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎとの間の接続および切り離しが行われる。
【００２９】
図４は、上記した処理結果ネットワーク１４１の構成例を示すものである。処理結果ネットワーク１４１は、各コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎの処理結果１６１ａ，１６１ｂ，１６１ｃ，〜，１６１ｎを、上記処理結果１６１として上記記憶装置１２１に書き戻すためのもので、この例の場合、各コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎにつながる信号線１４３ａ，１４３ｂ，１４３ｃ，〜，１４３ｎを、上記記憶装置１２１につながる信号線１４４に接続するスイッチｓｗ３ａ，ｓｗ３ｂ，ｓｗ３ｃ，〜，ｓｗ３ｎを有して構成されている。各スイッチｓｗ３ａ，ｓｗ３ｂ，ｓｗ３ｃ，〜，ｓｗ３ｎを、それぞれ対応する制御信号１５３（１５３ａ，１５３ｂ，１５３ｃ，〜，１５３ｎ）によってオン／オフすることにより、記憶装置１２１と各コプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎとの間の接続および切り離しが行われる。
【００３０】
次に、図１に示した構成のフォールトトレラント・システムの動作について説明する。図５は、動作の一例を説明するために示すフローチャートである。なお、説明を簡単にするため、各処理が時間的にシーケンシャルに実行される場合を例に示している。実際のシステムでは、タイムシェアリングなどの既存技術により、命令が複数のコプロセッサによって並列的に処理される。
【００３１】
この実施形態の場合、本システムは、一連の命令シーケンスにしたがって命令を処理する。まず、メインプロセッサ１０１は外部からの命令をフェッチし、その命令を実行することが可能なコプロセッサを、有効なコプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎの中から選択する（ステップＳＴ０１，ＳＴ０２）。ここでは、コプロセッサ１１１ａが選択されたものとして、以下の説明を続ける。
【００３２】
すなわち、メインプロセッサ１０１は、コプロセッサ１１１ａを選択するための制御信号１５４ａを、論理装置制御部１０２より、コプロセッサ１１１ａに出力させる。また、メインプロセッサ１０１は、選択したコプロセッサ１１１ａを記憶装置１２１に接続するための制御信号１５２を、論理装置制御部１０２より、オペランド・ネットワーク１３１に出力させる。これにより、選択されたコプロセッサ１１１ａと記憶装置１２１とが、オペランド・ネットワーク１３１を介して接続される（ステップＳＴ０３）。
【００３３】
さらに、メインプロセッサ１０１は、オペランド１２２の読み出しを制御するための制御信号１５１を、論理装置制御部１０２から記憶装置１２１に出力させる。また、選択したコプロセッサ１１１ａに対し、論理装置制御部１０２からの演算命令１５５を発行させる（ステップＳＴ０４）。
【００３４】
これに対し、演算命令１５５を受信したコプロセッサ１１１ａは、それをフェッチするとともに、オペランド・ネットワーク１３１を介して、記憶装置１２１からオペランド１２２を読み出す（ステップＳＴ００１，ＳＴ００２）。そして、上記演算命令１５５にしたがって所定の演算処理を実行するとともに、処理結果１６１ａの符号化を実施する（ステップＳＴ００３，ＳＴ００４）。また、上記演算処理と並行して、オペランド１２２の符号化を実施する（ステップＳＴ００５）。この後、オペランド１２２から得られた符号と処理結果１６１ａから得られた符号との比較を行い、処理結果１６１ａが誤りでないか否かを判定する（ステップＳＴ００６，ＳＴ００７）。
【００３５】
処理結果１６１ａが誤りでない（正しい）と判定された場合、コプロセッサ１１１ａは例外フラグ１６２ａをネゲートし、論理装置制御部１０２に演算の処理結果１６１ａの正当性を通知するとともに、処理結果１６１ａを処理結果ネットワーク１４１に出力する（ステップＳＴ００８，ＳＴ００９）。
【００３６】
ここで、コプロセッサ１１１ａからの例外フラグ１６２ａがネゲート、つまり、演算の処理結果１６１ａが誤りでなかった場合（ステップＳＴ０５，ＳＴ０６）、メインプロセッサ１０１は、論理装置制御部１０２から処理結果ネットワーク１４１に制御信号１５３を出力させる。また、論理装置制御部１０２から記憶装置１２１に、処理結果１６１の書き戻しを制御するための制御信号１５１を出力させる。これにより、選択したコプロセッサ１１１ａと記憶装置１２１とを接続させて、処理結果１６１の記憶装置１２１への書き戻しを行う（ステップＳＴ０７）。
【００３７】
一方、上記ステップＳＴ００７での処理において、処理結果１６１ａが誤りであると判定された場合、コプロセッサ１１１ａは例外フラグ１６２ａをアサートし、不良検出部１０３に出力する（ステップＳＴ０１０）。また、論理装置制御部１０２に、演算の処理結果１６１ａが誤りであったことを通知する。
【００３８】
コプロセッサ１１１ａからの例外フラグ１６２ａがアサート、つまり、処理結果１６１ａが誤りであった場合、メインプロセッサ１０１は、その処理結果１６１ａの記憶装置１２１への書き戻しを禁止させるための制御信号１５３を、論理装置制御部１０２から処理結果ネットワーク１４１に出力させる。これにより、処理結果１６１の記憶装置１２１への書き戻しは行われない。
【００３９】
また、コプロセッサ１１１ａからの例外フラグ１６２ａを受信した不良検出部１０３は、例外フラグ１６２ａがアサートの場合、選択されたコプロセッサ１１１ａに対応する不良頻度カウンタ１０３ａのカウント値をインクリメントさせる（ステップＳＴ０８）。そして、そのカウント値を、記憶回路１０３ｂの不良判定基準値と、比較・判定器１０３ｃで比較する。
【００４０】
比較の結果（ステップＳＴ０９）、“不良頻度カウンタ１０３ａのカウント値”＜“不良判定基準値”であれば、不良検出部１０３から、その旨（たとえば、特別な識別情報）が論理装置制御部１０２に通知される。これにより、メインプロセッサ１０１は、上記したステップＳＴ０２〜の処理を繰り返し、コプロセッサ１１１ａに割り当てられた命令（演算）を、他のコプロセッサ１１１ｂ，１１１ｃ，〜，１１１ｎを用いて再実行する。すなわち、制御信号１５２，１５４により、有効なコプロセッサを選択し直すとともに、その選択し直したコプロセッサをオペランド・ネットワーク１３１と接続し、再度、演算命令１５５にしたがった所定の演算処理を実行させる。
【００４１】
一方、比較の結果が、“不良頻度カウンタ１０３ａのカウント値”≧“不良判定基準値”であれば、不良検出部１０３から、検出結果（コプロセッサ１１１ａの識別情報）１０３’が論理装置制御部１０２に通知される。これにより、メインプロセッサ１０１は、「コプロセッサ１１１ａは故障などの不良の発生により信頼性が低い（不良率が高い）」と判断する。そして、論理装置制御部１０２から出力される制御信号１５２，１５３を制御して、以後、本システムからコプロセッサ１１１ａを切り離すべく、コプロセッサ１１１ａとオペランド・ネットワーク１３１および処理結果ネットワーク１４１との接続を無効とする（ステップＳＴ１０）。また、メインプロセッサ１０１は、上記したステップＳＴ０２〜の処理を繰り返し、コプロセッサ１１１ａに割り当てられた命令（演算）を、他のコプロセッサ１１１ｂ，１１１ｃ，〜，１１１ｎを用いて再実行する。
【００４２】
なお、コプロセッサ１１１ａの不良が検出された場合、論理装置制御部１０２からの制御信号１５４ａによって、以後、コプロセッサ１１１ａが選択されないようにすることもできるし、論理装置制御部１０２からコプロセッサ１１１ａに演算命令１５５が出力されないようにすることもできる。
【００４３】
また、上記した処理はコプロセッサ１１１ａに限らず、他のコプロセッサ１１１ｂ，１１１ｃ，〜，１１１ｎに関しても同様である。さらに、複数（一部あるいはすべて）のコプロセッサ１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎを用いて、一連の命令を実行する場合にも適用できる。
【００４４】
上記したように、複数のコプロセッサを実装し、すべてのコプロセッサまたは一部のコプロセッサを用いて一連の演算を実行する、演算器のフォールトトレラント・システムにおいて、不良が検出されたコプロセッサをシステムから切り離すとともに、そのプロセッサに割り当てられた演算処理を他の有効なコプロセッサに再実行させるようにしている。これにより、システムとしての機能を損なうことなく、セキュリティの確保が可能となる。
【００４５】
特に、入力のオペランドより算出した符号と処理結果より算出した符合との比較によって処理結果の正当性を保証する、つまり、不良率の高いコプロセッサを特定するようにした場合には、コプロセッサの信頼性の確保とともに、従来の構成に比較して、ハードウエア量を大幅に減少させることができ、コストの削減が可能となる。
【００４６】
［第２の実施形態］
図６は、この発明の第２の実施形態にしたがった、フォールトトレラント・システム（演算処理装置）の構成を示すものである。なお、ここでは、同一の機能を有する複数の演算器（論理装置）を実装したシングルプロセッサを例に説明する。特に、複数の演算器のうち、すべてあるいは一部の演算器を用いて、同一の処理を実行することが可能な構成とした場合において、たとえば、いくつかの演算器が故障した際に、その故障した演算器をシステムから切り離しても、同一の処理を行うことができるようにした場合について説明する。この場合、各論理装置の処理時間は同一にはならない。
【００４７】
図６に示すように、このシングルプロセッサ２０１は、論理装置制御部２０２および不良検出部２０３を備えている。この不良検出部２０３には、同一の演算機能を備える複数の論理装置（演算器）２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎが接続されている。また、上記不良検出部２０３は、上記論理装置制御部２０２に接続されている。上記論理装置制御部２０２には、上記論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎ、記憶装置２２１、オペランド・ネットワーク（第一のネットワーク）２３１、および、処理結果ネットワーク（第二のネットワーク）２４１が接続されている。
【００４８】
上記記憶装置２２１は、上記論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎにそれぞれ供給される、入力のオペランド２２２を記憶するものである。この記憶装置２２１には、上記オペランド・ネットワーク２３１および上記処理結果ネットワーク２４１が接続されるようになっている。この記憶装置２２１は、上記論理装置制御部２０２からの制御信号２５１にしたがって、上記オペランド２２２の読み出しおよび処理結果２６１の書き戻しが行われる。
【００４９】
上記オペランド・ネットワーク２３１は、上記論理装置制御部２０２からの制御信号２５２にしたがって、上記論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎのそれぞれと上記記憶装置２２１との接続を切り換えるもので、たとえば図３に示したマトリクス・スイッチにより構成されている。
【００５０】
上記処理結果ネットワーク２４１は、上記論理装置制御部２０２からの制御信号２５３にしたがって、上記論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎのそれぞれと上記記憶装置２２１との接続を切り換えるもので、たとえば図４に示したマトリクス・スイッチにより構成されている。
【００５１】
上記論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎは、たとえば、上記記憶装置２２１からのオペランド２２２を、上記オペランド・ネットワーク２３１を介して、それぞれへの入力２３１ａ，２３１ｂ，２３１ｃ，〜，２３１ｎとして取り込む。そして、上記論理装置制御部２０２からの演算命令２５５にしたがって所定の演算処理を選択的に実行し、処理結果２６１ａ，２６１ｂ，２６１ｃ，〜，２６１ｎを得る。また、得た処理結果２６１ａ，２６１ｂ，２６１ｃ，〜，２６１ｎを、それぞれ、上記処理結果ネットワーク２４１に出力する。なお、上記論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎは、上記論理装置制御部２０２からの制御信号２５４（２５４ａ，２５４ｂ，２５４ｃ，〜，２５４ｎ）によって、それぞれ制御される。
【００５２】
また、上記論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎは、それぞれ、処理結果２６１ａ，２６１ｂ，２６１ｃ，〜，２６１ｎが誤った場合に、上記不良検出部２０３に対して、例外フラグ２６２ａ，２６２ｂ，２６２ｃ，〜，２６２ｎを出力する機能を有している。すなわち、各論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎは、上記演算命令２５５にしたがって所定の演算処理を実行し、処理結果２６１ａ，２６１ｂ，２６１ｃ，〜，２６１ｎの符号化（たとえば、モジュラー演算）を実施するとともに、上記演算処理と並行して、オペランド２２２の符号化を実施する。そして、オペランド２２２の符号化により得られた符号と、処理結果２６１ａ，２６１ｂ，２６１ｃ，〜，２６１ｎの符号化により得られた符号との比較を行い、上記両符号の一致／不一致（相関関係）により、処理結果２６１ａ，２６１ｂ，２６１ｃ，〜，２６１ｎが誤りでないか否かを判定する。なお、本図には示していないが、上記両符号の一致により、処理結果２６１ａ，２６１ｂ，２６１ｃ，〜，２６１ｎが誤りでなかった場合には、上記論理装置制御部２０２に対して、処理結果２６１ａ，２６１ｂ，２６１ｃ，〜，２６１ｎの正当性が通知される。また、上記両符号の不一致により、処理結果２６１ａ，２６１ｂ，２６１ｃ，〜，２６１ｎが誤りであった場合には、その旨が上記論理装置制御部２０２に通知される。
【００５３】
上記不良検出部２０３は、上記論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎからの例外フラグ２６２ａ，２６２ｂ，２６２ｃ，〜，２６２ｎの発生の回数を、上記論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎごとに検出（カウント）し、例外フラグの発生の頻度が高い論理装置、つまり、故障などによって不良となっている論理装置を検出するものである（たとえば、図２参照）。
【００５４】
上記論理装置制御部２０２は、たとえば、上記不良検出部２０３の検出結果（論理装置の識別情報）２０３’にもとづいて、上記記憶装置２２１、上記オペランド・ネットワーク２３１、上記論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎ、および、上記処理結果ネットワーク２４１を制御し、適宜、上記論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎに所定の演算処理を実行させるものである。
【００５５】
ここで、上記した論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎの構成について、より具体的に説明する。
【００５６】
図７は、論理装置２１１ａを例に、その基本構成を示すものである。すなわち、この論理装置２１１ａは、論理処理装置（第一の論理処理装置）２１２、結果選択制御装置２１３、および、選択装置２１４を有している。上記論理処理装置２１２は、オペランド・ネットワーク２３１を介して供給される入力２３１ａ（オペランド２２２に対応）を取り込み、論理装置制御部２０２からの演算命令２５５にしたがって所定の演算処理を実行することにより、処理結果２６１ａとなる処理中間結果２１５を得るものである。
【００５７】
上記結果選択制御装置２１３は、第１，第２の符号化回路（第二，第三の論理処理装置）２１３ａ，２１３ｂと検出・例外処理制御部（第四の論理処理装置）２１３ｃとを備えている。第１の符号化回路２１３ａは、上記入力２３１ａをもとに、オペランド２２２の符号化を実施するものである。第２の符号化回路２１３ｂは、上記処理中間結果２１５をもとに、処理結果２６１ａの符号化を実施するものである。検出・例外処理制御部２１３ｃは、上記第１，第２の符号化回路２１３ａ，２１３ｂの出力（符号）を比較し、その比較の結果に応じて、例外フラグ２６２ａおよび選択制御信号２１６の生成を行うものである。たとえば、オペランド２２２の符号化により得られた符号と処理結果２６１ａの符号化により得られた符号とが一致しない場合、例外フラグ２６２ａがアサートされるとともに、処理結果２６１ａの出力を禁止する選択制御信号２１６の生成が行われる。また、オペランド２２２の符号化により得られた符号と処理結果２６１ａの符号化により得られた符号とが一致した場合には、例外フラグ２６２ａがネゲートされるとともに、処理結果２６１ａの出力を許可する選択制御信号２１６の生成が行われる。
【００５８】
上記選択装置２１４は、検出・例外処理制御部２１３ｃからの選択制御信号２１６の供給に応じて、上記論理処理装置２１２の出力である処理中間結果２１５を、この論理装置２１１ａの処理結果２６１ａとして出力するか否かを選択するものである。
【００５９】
図８は、上記した論理装置２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎの、具体（適用）例を示すものである。なお、ここでは、乗算装置を構成するようにした場合について説明する。
【００６０】
図８に示すように、この乗算装置３００は、信号線３０１ａ，３０１ｂよりオペランドＯＰ１，ＯＰ２を入力し、乗算器３０２によって所定の乗算処理を行い、演算結果としての処理結果３０３を得る論理装置である。乗算装置３００は、上記乗算器３０２のほか、結果選択制御装置３０４および選択装置３０５を備えて構成されている。
【００６１】
上記乗算器３０２は、たとえば整数乗算器である。この乗算器３０２は、信号線３０１ａ，３０１ｂより入力されるオペランドＯＰ１，ＯＰ２をもとに、処理中間結果（ＯＰ１×ＯＰ２）３０６を得るものである。乗算器を構成するハードウエアは種々あるが、その乗算器の構成が乗算装置３００に直接的に影響することはないので、ここでの詳細な説明は割愛する。因みに、乗算器３０２としては、たとえば、２次のブースのアルゴリズムを用いて部分積を求め、ワラス・ツリーを用いてキャリーの伝播をともなわない桁上げ保存加算を行い、最後に和成分と桁上げ成分とをキャリーの伝播をともなう加算回路で加算し、乗算結果を求める方式などがあげられる。
【００６２】
結果選択制御装置３０４は、上記乗算器３０２の処理中間結果３０６が正しいか否かを判定し、その判定結果（例外フラグ３０７）を外部に出力するとともに、その判定の結果（選択制御信号３０８）に応じて、上記選択装置３０５を制御するものである。この結果選択制御装置３０４は、たとえば図９に示すように、符号化回路３０４ａ，３０４ｂ、検出回路３０４ｃ、および、例外処理制御装置３０４ｄを有して構成されている。上記符号化回路３０４ａは、上記乗算器３０２の入力である入力オペランドＯＰ１，ＯＰ２を符号化する、つまり入力オペランドＯＰ１，ＯＰ２に対して、結果が一意に求まる符号化処理を行い、符号信号３０４ａ’を出力するものである。上記符号化回路３０４ｂは、上記乗算器３０２の演算結果である処理中間結果３０６に対して、結果が一意に求まる符号化処理を行い、符号信号３０４ｂ’を出力するものである。上記検出回路３０４ｃは、上記符号信号３０４ａ’，３０４ｂ’が一致するか否かを検出し、その結果を検出信号３０４ｃ’として出力するものである。上記例外処理制御装置３０４ｄは、検出回路３０４ｃからの検出信号３０４ｃ’が不一致の場合、乗算器３０２の処理中間結果３０６が何らかの要因で誤っていると判定し、例外フラグ３０７により外部にステータスを出力するとともに、処理結果３０３の出力を制御する選択制御信号３０８を上記選択装置３０５に出力するものである。
【００６３】
上記選択装置３０５は、例外処理制御装置３０４ｄからの選択制御信号３０８に応じて、乗算器３０２の演算結果である処理中間結果３０６を、この乗算装置３００の処理結果３０３として出力するか否かを選択するものである。たとえば、検出回路３０４ｃにおいて、符号信号３０４ａ’，３０４ｂ’が一致し、乗算器３０２での演算が誤っていないと判定された場合には、処理中間結果３０６が処理結果３０３として出力される。逆に、検出回路３０４ｃにおいて、符号信号３０４ａ’，３０４ｂ’が一致せず、乗算器３０２での演算が誤っていると判定された場合には、処理結果３０３として、たとえば例外を示す所定のフォーマットの定数が出力される。
【００６４】
次に、上記した構成の乗算装置３００の動作について説明する。乗算装置３００には、入力としてオペランドＯＰ１，ＯＰ２が供給される。乗算器３０２は、２つのオペランドＯＰ１，ＯＰ２を取り込み、所定の乗算処理を行って、処理中間結果（ＯＰ１×ＯＰ２）３０６を得る。
【００６５】
これに対し、結果選択制御装置３０４内の符号化回路３０４ａは、上記オペランドＯＰ１，ＯＰ２の符号化を行う。本実施形態では、符号化回路３０４ａでの符号化処理として、「３」を法とした剰余演算（モジュラー演算）“ＭＯＤ３”を考える。“ＭＯＤ３”とは、ある数を「３」で割ったときの余りを求める演算命令である。この場合、除算は整数の範囲で定義する。
【００６６】
すなわち、オペランドＯＰ１，ＯＰ２の符号化を行う符号化回路３０４ａでは、
ＭＯＤ３（ＯＰ１）、
ＭＯＤ３（ＯＰ２）、
ＭＯＤ３（ＭＯＤ３（ＯＰ１）×ＭＯＤ３（ＯＰ２））  …  (１)
が、それぞれ算出される。
【００６７】
一方、符号化回路３０４ｂは、上記乗算器３０２の処理中間結果３０６の符号化を行う。同様に、“ＭＯＤ３”を考えた場合、この符号化回路３０４ｂでは、
ＭＯＤ３（処理中間結果３０６）  …  (２)
が算出される。
【００６８】
ここで、“ＭＯＤ３”の数学的な特徴として、２数ａ，ｂに対して、
ＭＯＤ３（ａ×ｂ）＝ＭＯＤ３（ＭＯＤ３（ａ）×ＭＯＤ３（ｂ））  …  (３)
が成り立つ。
【００６９】
すなわち、「ｍ」を自然数とし、２つの整数ａ，ｂがｍ│（ａ−ｂ）であるとき、整数ａおよび整数ｂは自然数ｍを法（ｍｏｄｕｌｕｓ）として合同であるといい、
ａ≡ｂ（ｍｏｄ  ｍ）
と書く。
【００７０】
また、合同の記号（≡）は、等号の記号（＝）と同じ性質があり、
ａ≡ａ（ｍｏｄ  ｍ）
ａ≡ｂ（ｍｏｄ  ｍ）ならば、ｂ≡ａ（ｍｏｄ  ｍ）
ａ≡ｂ（ｍｏｄ  ｍ），ｂ≡ｃ（ｍｏｄ  ｍ）ならば、ａ≡ｃ（ｍｏｄ  ｍ）
となる。
【００７１】
さらに、次の定理が成り立つ。
【００７２】
ａ≡ｂ（ｍｏｄ  ｍ），ｃ≡ｄ（ｍｏｄ  ｍ）ならば、
ａ＋ｃ≡ｂ＋ｄ（ｍｏｄ  ｍ）
ａ−ｃ≡ｂ−ｄ（ｍｏｄ  ｍ）
ａ×ｃ≡ｂ×ｄ（ｍｏｄ  ｍ）
である。
【００７３】
検出回路３０４ｃは、上記符号化回路３０４ａの出力である、オペランドＯＰ１，ＯＰ２の符号化により得られた符号信号３０４ａ’と、上記符号化回路３０４ｂの出力である、処理中間結果３０６の符号化により得られた符号信号３０４ｂ’とを比較する。つまり、上記算出の結果（１）と上記算出の結果（２）とを比較する。比較の結果、（１）＝（２）の場合は、算出の結果（１）および（２）が正しい場合であり、この場合に限って乗算器３０２の処理中間結果３０６は誤っていないと判定する。
【００７４】
一方、（１）≠（２）の場合は、以下の、
（ア）：算出の結果（１）が、何らかの要因で誤った場合
（イ）：算出の結果（２）が、何らかの要因で誤った場合
（ウ）：算出の結果（１）および（２）が、ともに何らかの要因で誤った場合
の三通りの状況が考えられる。
【００７５】
状況（イ）の場合、実際には処理中間結果３０６が正しいにもかかわらず、演算結果が誤っているという、誤った判定がされてしまう。しかし、乗算器３０２と結果選択制御装置３０４のハードウエア量を比較すると、
乗算器３０２のハードウエア量＞＞結果選択制御装置３０４のハードウエア量
の関係がある。したがって、状況（ア），（イ），（ウ）の確率を考えると、（１）≠（２）の場合は、
状況（ア）の確率  ＞＞  状況（イ），（ウ）の確率  …  （４）
であると考えられる。
【００７６】
フォールトトレラントの立場では、「誤り」を「正解」と判定することは承認されないが、「正解」を「誤り」と冗長に判定することは許容される。本実施形態の場合にも、上記の関係（４）から、「正解」を「誤り」と冗長に判定することがあるが、許容の範囲内である。
【００７７】
例外処理制御装置３０４ｄは、上記検出回路３０４ｃの出力である検出信号３０４ｃ’にしたがい、（１）＝（２）の場合には、処理中間結果３０６を処理結果３０３として出力させるための選択制御信号３０８を選択装置３０５に出力する。一方、（１）≠（２）の場合には、例外フラグ３０７により外部にステータスを出力するとともに、処理結果３０３の出力を制御する選択制御信号３０８を上記選択装置３０５に出力する。
【００７８】
このような構成とした場合にも、上記した第１の実施形態の場合と同様に、不良が検出された論理装置（乗算装置）をシステムから切り離すとともに、その論理装置に割り当てられた演算処理を他の有効な論理装置に再実行させることが可能となる。これにより、システムとしての機能を損なうことなく、セキュリティの確保が可能となる。
【００７９】
特に、論理装置を少ないハードウエア量によって構成することが可能であり、より少ないコストで、高信頼度のシステムを実現できる。
【００８０】
その他、本願発明は、上記（各）実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記（各）実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。たとえば、（各）実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題（の少なくとも１つ）が解決でき、発明の効果の欄で述べられている効果（の少なくとも１つ）が得られる場合には、その構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００８１】
【図１】本発明の第１の実施形態にしたがった、フォールトトレラント・システム（演算処理装置）の構成を示すブロック図。
【図２】図１に示したシステムの、不良検出部の構成例を示すブロック図。
【図３】図１に示したシステムの、オペランド・ネットワークの構成例を示すブロック図。
【図４】図１に示したシステムの、処理結果ネットワークの構成例を示すブロック図。
【図５】図１に示したシステムの、動作の一例を説明するために示すフローチャート。
【図６】本発明の第２の実施形態にしたがった、フォールトトレラント・システム（演算処理装置）の構成を示すブロック図。
【図７】図６に示したシステムの、論理装置の基本構成を示すブロック図。
【図８】図７に示した論理装置の具体例（乗算装置）を示すブロック図。
【図９】図８に示した乗算装置の詳細を示すブロック図。
【符号の説明】
【００８２】
１０１…メインプロセッサ、１０２，２０２…論理装置制御部、１０３，２０３…不良検出部、１０３ａ…不良頻度カウンタ、１０３ｂ…記憶回路、１０３ｃ…比較・判定器、１１１ａ，１１１ｂ，１１１ｃ，〜，１１１ｎ…コプロセッサ、１２１，２２１…記憶装置、１３１，２３１…オペランド・ネットワーク、１４１，２４１…処理結果ネットワーク、２０１…シングルプロセッサ、２１１ａ，２１１ｂ，２１１ｃ，〜，２１１ｎ…論理装置、２１２…論理処理装置、２１３…結果選択制御装置、２１３ａ，２１３ｂ…符号化回路、２１３ｃ…検出・例外処理制御部、２１４…選択装置、３００…乗算装置、３０２…乗算器、３０４…結果選択制御装置、３０４ａ，３０４ｂ…符号化回路、３０４ｃ…検出回路、３０４ｄ…例外処理制御装置、３０５…選択装置。
【図１】
2006228121.tif 000003
【図２】
2006228121.tif 000004
【図３】
2006228121.tif 000005
【図４】
2006228121.tif 000006
【図５】
2006228121.tif 000007
【図６】
2006228121.tif 000008
【図７】
2006228121.tif 000009
【図８】
2006228121.tif 000010
【図９】
2006228121.tif 000011