(57)【要約】  画像処理システムにおいては、画素データについての計算を、ビットシリアル処理要素（ＰＥ）のアレーにより実行できる。該アレーを構成するＰＥの密度を最大にするために、ビットシリアルＰＥは、最小のロジックにて実現される。より少ないクロックサイクルで演算を実行できるようにするために、ＰＥのアーキテクチャーの改良が行われる。その際、改良に必要な追加のロジックを最小にするよう注意が払われる。アレーにおけるＰＥの密度を最高にする一方、ＰＥのビットシリアルの性質もまた維持される。ここに記載したＰＥの改良は、差分絶対値和（ＳＡＤ）演算、除算、乗算、及び変換（例えばＦＦＴ）シャッフル工程の性能の改善、強化を含む。【特許請求の範囲】
【請求項１】
複数の処理要素を備えた処理アレーであって、
ａ．前記処理要素の各々は、すべての処理要素に与えられる１命令に応じて同じ演算を同時に実行し；
ｂ．各処理要素は、ｍビットデータ値に算術演算を実行し、各演算からキャリー及びボロー結果の一つを伝搬し、前記演算へのキャリー及びボロー入力の一つからなる信号を受け付けるよう構成され；
ｃ．伝搬するキャリー及びボロー値の選択が、その処理要素に対してローカルなマスク値によって各処理要素に対して個別に実行される、
ことを特徴とする処理アレー。
【請求項２】
ｍビット演算をＭ／ｍ回反復することによりＭビットオペランドに対する演算を実行する請求項１に記載の処理アレー。
【請求項３】
ｍとして１を選ぶ請求項１に記載の処理アレー。
【請求項４】
加算ではマスク値を０に設定し、減算ではマスク値を１に設定することからなるＡｄｄｓｕｂ演算を実行する請求項１に記載の処理アレー。
【請求項５】
前記マスクをソースオペランドの符号の値に設定して０とソースオペランドのＡｄｄｓｕｂを実行することによって絶対値を計算する請求項４に記載の処理アレー。
【請求項６】
前記マスクを２つのデータ値の差の符号の値に設定して差分絶対値和と前記差のＡｄｄｓｕｂを実行することによって差分絶対値和の１工程を実行する請求項４に記載の処理アレー。
【請求項７】
前記マスクを剰余の符号の値に設定して前記剰余と分母のＡｄｄｓｕｂを実行することによって除算演算の１パスを行なう請求項４に記載の処理アレー。
【請求項８】
前記マスクを剰余の符号の値に設定して前記剰余と分母のＡｄｄｓｕｂを実行することによってモジュラス演算の１パスを行なう請求項４に記載の処理アレー。
【請求項９】
複数の処理要素を備える処理アレーであって、
ａ．前記処理要素の各々が、すべての処理要素に与えられる１命令に応じて同じ演算を同時に実行し；
ｂ．前記処理要素が２次元メッシュを形成するように相互接続され、各処理要素は北、南、東及び西の最も近い４つの隣接要素に連結され；
ｃ．各処理要素はＮＳレジスタを備え、ＮＳレジスタは、データを保持するよう構成され、北シフトを指定する命令に応じて保持データを北隣接要素に送る一方で南隣接要素からデータを受け取るよう構成され、また南シフトを指定する命令に応じて保持データを南隣接要素に送る一方で北隣接要素からデータを受け取るよう構成され、；
ｄ．各処理要素はＥＷレジスタを備え、ＥＷレジスタは、データを保持するよう構成され、東シフトを指定する命令に応じて保持データを東隣接要素に送る一方で西隣接要素からデータを受け取るよう構成され、また西シフトを指定する命令に応じて保持データを西隣接要素に送る一方で東隣接要素からデータを受け取るよう構成され；
ｅ．東西軸と南北軸の一方に沿った反対方向へのデータの同時シフトが、それぞれＮＳ及びＥＷレジスタを用いて反対方向にデータを送り受け取ることによって実行される、
ことを特徴とする処理アレー。
【請求項１０】
ＮＳレジスタが北と南のうち一方への特定データのシフトを実行し、ＥＷレジスタがその反対方向への他のデータの同時シフトを実行する請求項９に記載の処理アレー。
【請求項１１】
ＥＷレジスタが東と西のうち一方への特定データのシフトを実行し、ＮＳレジスタがその反対方向への他のデータの同シフトを実行する請求項９に記載の処理アレー。
【請求項１２】
命令に応じてデータを反対方向に同時シフトする請求項９に記載の処理アレー。
【請求項１３】
記憶された構成信号に応じてデータを反対方向に同時シフトする請求項１０に記載の処理アレー。
【請求項１４】
記憶された構成信号に応じてデータを反対方向に同時シフトする請求項１１に記載の処理アレー。
【請求項１５】
ＥＷレジスタによるデータの同時シフトが、ＮＳレジスタによる南北シフトに使用される信号経路を介して用いられる請求項１０に記載の処理アレー。
【請求項１６】
ＮＳレジスタによるデータの同時シフトが、ＥＷレジスタによる東西シフトに使用される信号経路を介して用いられる請求項１１に記載の処理アレー。
【請求項１７】
反対方向へのデータの同時シフトを用いてバタフライシャッフル演算を実行する請求項９に記載の処理アレー。
【請求項１８】
複数の処理要素を備えた処理アレーであって、
ａ．各処理要素が、１パス内でｍビット乗数とｎビット被乗数との乗算を実行する手段を備え、前記パスがｎサイクルからなり、各サイクルが、被乗数レジスタへの被乗数ビットのロード、アキュムレータレジスタへのアキュムレータビットのロード、部分積値の生成、及び計算したアキュムレータビットのメモリへの記憶を含み；
ｂ．前記部分積がｍ＋１ビットからなり、その最下位ビットが計算されたアキュムレータビットとして送られ、残りのｍビットがｍビット部分積レジスタに記憶され；
ｃ．前記部分積が、アキュムレータビットと、記憶された部分積と、被乗数ビットとｍビット乗数とのｍビット積とを合計することにより計算される、
ことを特徴とする処理アレー。
【請求項１９】
初期のアキュムレータ値を０にして単一パスを実行することによってｍビット乗数による乗算を行なう請求項１８に記載の処理アレー。
【請求項２０】
Ｍビット乗数による乗算がＭ／ｍ回のパスで実行され、第１パスでのｍビット乗数がＭビット乗数の最下ｍビットからなり、初期のアキュムレータ値が０であり、アキュムレータへのアクセスが第１パスではビット０にて開始し、後続の各パスでは、
ａ．アキュムレータ値へのアクセスが、前のパスの初期アクセスからmビットオフセットしたところで開始し；
ｂ．前記ｍビット乗数が、前のパスでの選択ポイントからｍビットオフセットしたところで前記Ｍビット乗数から選択される、
ことを特徴とする請求項１８に記載の処理アレー。
【請求項２１】
ｍが２である請求項１８に記載の処理アレー。
【請求項２２】
記憶された部分積をパスの初めにクリアするための手段をさらに含む請求項１８に記載の処理アレー。
【請求項２３】
ｍビット積の最上位ビットを反転することによって符号付き乗数の乗算を実行する請求項１８に記載の処理アレー。
【請求項２４】
最終パス中に各ｍビット積の最上位ビットを反転することによって符号付き乗数による乗算を実行する請求項２０に記載の処理アレー。
【請求項２５】
前記ｎサイクルの後に追加のｍサイクルを実行し、該ｍサイクル中、前記被乗数ビットが被乗数符号ビットであり、前記アキュムレータビットがアキュムレータ符号ビットである、請求項１８に記載の処理アレー。
【請求項２６】
前記ｎサイクルの後に追加のｍサイクルを実行し、該ｍサイクル中、前記被乗数ビットが被乗数符号ビットであり、前記アキュムレータビットがアキュムレータ符号ビットである、請求項２０に記載の処理アレー。
【請求項２７】
符号なし被乗数では前記被乗数符号ビット及び前記アキュムレータ符号ビットを０で表す請求項２６に記載の処理アレー。
【請求項２８】
前記ｍサイクル中、符号なし被乗数では次のパスのためｍ乗数ビットのロードを実行する請求項２７に記載の処理アレー。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はＳＩＭＤ並列処理、特にビットシリアル処理要素に関する。
【背景技術】
【０００２】
最高度の平行度を用いる並列処理アーキテクチャは、シングル・インストラクション・マルチプル・データ（ＳＩＭＤ）アプローチに従い、かつ最も簡単に実現可能な処理要素（ＰＥ）構造である単一ビット算術プロセッサを用いるものである。各ＰＥは非常に低い処理スループットしかもたないが、ＰＥのロジックの簡単さが、非常に多数のＰＥを有するプロセッサアレーの構成を支える。非常に高い処理スループットが、このように多数のＰＥをＳＩＭＤプロセッサアレー中で組み合わせることにより達成される。
【０００３】
ビットシリアルＳＩＭＤアーキテクチャの１つの変形は、ＰＥが２Ｄメッシュとして接続されるものであり、各ＰＥがアレー内でその４つの隣接ＰＥと直ぐ北、南、東及び西に接続されている。この２Ｄ構造は、画像の画素データなどのように２Ｄ構造を有するデータの処理に適するが、これに限定されるものではない。
【発明の開示】
【課題を解決するための手段】
【０００４】
発明の概要
本発明の一態様では、複数の処理要素を備えた処理アレーであって、
・前記処理要素の各々は、すべての処理要素に与えられる１命令に応じて同じ演算を同時に実行し；
・各処理要素は、ｍビットデータ値に算術演算を実行し、各演算からキャリー及びボロー結果の一つを伝搬し、前記演算へのキャリー及びボロー入力の一つからなる信号を受け取るよう構成され；
・伝搬するキャリー及びボロー値の選択が、その処理要素に対してローカルなマスク値によって各処理要素に対して個別に実行される、
ことを特徴とする処理アレーが提供される。
【０００５】
別の態様では、本発明は、複数の処理要素を備える処理アレーであって、
・前記処理要素の各々が、すべての処理要素に与えられる１命令に応じて同じ演算を同時に実行し；
・前記処理要素が２次元メッシュを形成するように相互接続され、各処理要素は北、南、東及び西の最も近い４つの隣接要素に連結され；
・各処理要素はＮＳレジスタを備え、ＮＳレジスタは、データを保持するよう構成され、北シフトを指定する命令に応じて保持データを北隣接要素に送る一方で南隣接要素からデータを受け取るよう構成され、また南シフトを指定する命令に応じて保持データを南隣接要素に送る一方で北隣接要素からデータを受け取るよう構成され、；
・各処理要素はＥＷレジスタを備え、ＥＷレジスタは、データを保持するよう構成され、東シフトを指定する命令に応じて保持データを東隣接要素に送る一方で西隣接要素からデータを受け取るよう構成され、また西シフトを指定する命令に応じて保持データを西隣接要素に送る一方で東隣接要素からデータを受け取るよう構成され；
・東西軸と南北軸の一方に沿った反対方向へのデータの同時シフトが、それぞれＮＳ及びＥＷレジスタを用いて反対方向にデータを送り受け取ることによって実行される、
ことを特徴とする処理アレーを提供する。
【０００６】
さらに別の態様では、本発明は、複数の処理要素を備えた処理アレーであって、
・各処理要素が、１パス内でｍビット乗数とｎビット被乗数との乗算を実行する手段を備え、前記パスがｎサイクルからなり、各サイクルで、被乗数レジスタへの被乗数ビットのロード、アキュムレータレジスタへのアキュムレータビットのロード、部分積値の生成、及び計算したアキュムレータビットのメモリへの記憶を行い；
・前記部分積がｍ＋１ビットからなり、その最下位ビットが計算されたアキュムレータビットとして送られ、残りのｍビットにより表される値がｍビット部分積レジスタに記憶され；
・前記部分積が、アキュムレータビットと、記憶された部分積と、被乗数ビットとｍビット乗数とのｍビット積とを合計することにより計算される、
ことを特徴とする処理アレーを提供する。
【０００７】
本発明の種々の態様の更なる詳細及び利点が、添付図面と以下の説明で明らかになる。
【発明を実施するための最良の形態】
【０００８】
本発明の詳細な説明
本発明の実施態様は、主に画素データを処理するのに用いられる並列プロセッサの一部となり得る。このプロセッサは、処理要素（ＰＥ）のアレー、シーケンス制御ロジック、及び画素入力／出力ロジックからなる。そのアーキテクチャは、シングル・インストラクション・マルチプル・データ（ＳＩＭＤ）を含むことができ、ＳＩＭＤでは、単一の命令ストリームが、すべてのＰＥによる実行を制御し、すべてのＰＥが各命令を同時に実行する。ＰＥのアレーをＰＥアレーと称し、並列プロセッサの全体をＰＥアレープロセッサと称する。代表的な実施態様ではＳＩＭＤアレーの特定の大きさが与えられるが、本発明の範囲はこれらの数に限定されるものではなく、任意のＭ×ＮのＰＥアレーに適用できることは当業者には明らかである。
【０００９】
ＰＥアレーはＰＥのメッシュ接続アレーである。各ＰＥ１００はメモリ、レジスタ、及び１ビットデータを処理する計算ロジックからなる。本発明の代表的な実施態様では、本アレーは４８行６４列のＰＥからなる。ＰＥアレーはＳＩＭＤアレープロセッサロジックの大部分を構成し、画素データの計算のほぼすべてを実行する。
【００１０】
図１の代表的なＰＥ１００は、１ビットデータを処理するためにＲＡＭ１１０、ＡＬＵ１０１、論理ブロックＡ１２０、Ｂ１３０、及びレジスタＣ１４０、Ｄ１５０、ＮＳ１６０、ＥＷ１７０、ＡＬ１８０、ＢＬ１９０、並びにＣＭ１０５を備える。ＡＬＵ１０１は、全加算器回路と同じように簡単にし得るか、又はもっと複雑な例では更に先進の演算能力を含み得る。これらのレジスタのセットは、ＰＥのＲＡＭ１１０から画素データをロードし、ＡＬＵ１０１による処理のために保持する。ＣＭレジスタは画素データの入力及び出力を行なう。
【００１１】
ＰＥのＲＡＭ１１０は各ＰＥ１００について事実上１ビット幅であり、ＰＥ１００による処理のために画素データを記憶する。マルチビット画素値は、ＰＥのＲＡＭ１１０に記憶されたマルチビットにより表される。マルチビットオペランドに対する演算は、オペランド画素の対応するビットを順に処理することによって実行される。代表的な実施態様では、ＰＥのＲＡＭ１１０は１サイクル当たり２回リードし、１回ライトする。他の実施態様では、他のマルチアクセスアプローチを用いることもでき、又は１サイクル当たり１回のリード又はライトアクセスを行なうこともできる。
【００１２】
代表的なＰＥアレー１０００は、図２に示されるように４８行６４列のＰＥからなる。画素の番号付けは、アレーの北西コーナーの０、０から南東コーナーの４７、６３に進む。
【００１３】
代表的なＳＩＭＤアレープロセッサ２０００のＰＥは、図２に示されるように２Ｄ格子状に配置される。各ＰＥはその４つの最も近い隣接ＰＥに接続され、特にＰＥはアレー内でその北、南、東及び西に直接接続される。代表的な実施態様でのＰＥとＰＥとの接続経路は１ビット幅で双方向である。
【００１４】
処理中、アレーのすべてのＰＥは、各々の演算工程を同時に実行する。オペランドビットのあらゆるリード又はライト、ＰＥレジスタ間でのあらゆるビット移動、あらゆるＡＬＵ出力が、アレーのすべてのＰＥにより同時に実行される。この演算パターンを説明する際には、対応する画像ビットを集合的に考えるのが有効である。対応する画像ビットのアレーサイズの集合を、「ビットプレーン」という。（シリアル）命令ストリームの観点から、ＳＩＭＤアレー演算はビットプレーン演算としてモデル化される。
【００１５】
この代表的な実施態様における各命令は、ビットプレーンのフロー又は処理を指示するコマンドからなる。１つの命令が、各レジスタリソースに１つ、ＰＥのＲＡＭライトポートに１つ含んだ複数のコマンドフィールド、及びＡＬＵ１０１による処理を制御する追加フィールドを含み得る。このアプローチは、１つの処理サイクルでアレー制御を行なうアレー命令についての従来のマクロ命令の実行である。
【００１６】
代表的なＰＥアレー１０００は階層的に実現され、ＰＥがＰＥグループ（ＰＥＧ）に分けられている。各ＰＥＧ２００は６４個のＰＥからなり、本発明のこの特定例では８×８アレーセグメントを表す。よって、４８×６４ＰＥアレー１０００は、各列が８個のＰＥＧを有する６列のＰＥＧにより実現される。各ＰＥＧ２００は、ＰＥとＰＥとの接続がＰＥＧの境界を超えて与えられるように、その隣接のＰＥＧに連結される。この連結は継ぎ目がないので、ビットプレーン演算の観点から、ＰＥＧの区分は見かけ上は分からない。
【００１７】
代表的なＰＥＧ２００は、６４ビット幅のマルチアクセスＰＥ  ＲＡＭ２１０、ＰＥＧ制御ロジック２３０、及びＰＥアレー２０２中に６４個のＰＥを構成するレジスタ・計算ロジックを備える。ＰＥ  ＲＡＭ２１０の各ビットスライスは、６４個のＰＥのうちの１つに連結され、ＰＥアレー２０２中の各ＰＥに対して有効な１ビット幅のＰＥ  ＲＡＭを与える。
【００１８】
北、南、東及び西に隣接するものとの接続に加えて、代表的なＰＥＧの各々は、ＰＥアレー２０２の内外の画素データの移動のために８ビット入力及び出力経路を含む。ＣＭレジスタプレーンは、入力及び出力中にビットプレーンデータの演算を行なう。データは、ビットプレーン形式にてＰＥアレー２０２の内外に移動させる。
【００１９】
上述したＰＥアレーは、画素データに演算を行なうための計算ロジックを備える。これらの演算を行なうため、ＰＥアレーは、アレーの内外での画素データの移動のために命令源及びサポートを要する。
【００２０】
代表的なＳＩＭＤアレープロセッサ２０００を図５に示す。ＳＩＭＤアレープロセッサ２０００は、プログラムシーケンサー３００を含み、命令ストリームをＰＥアレー１０００に与える。ＰＥアレー１０００の内外での画素データの移動を制御するために、画素Ｉ／Ｏユニット４００も設けられる。集合的に、これらのユニットがＳＩＭＤアレープロセッサ２０００を成す。
【００２１】
ＳＩＭＤアレープロセッサ２０００は、アレーサイズの画像セグメントにアルゴリズムを実行するのに用いることができる。このプロセッサは、集積回路デバイス上に実装するか、又は単一デバイス上でより大きなシステムの一部として実装し得る。どちらの実装でも、ＳＩＭＤアレープロセッサ２０００はシステム制御プロセッサ（ここでは「ＣＰＵ」という）に従属する。ＳＩＭＤアレープロセッサ２０００とＣＰＵとのインターフェースによって、ＣＰＵによる代表的なＳＩＭＤアレープロセッサ２０００の初期化及び制御を行なう。
【００２２】
画素Ｉ／Ｏユニット４００は、ＰＥアレー１０００と外部記憶装置との間での画像バスを介した画素データの移動を制御する。画素データの移動はＰＥアレーの計算と同時に行われるので、画素データの処理のスループットがより大きくなる。画素Ｉ／Ｏユニット４００は、画素形式とビットプレーン形式との間で画像データの変換を行なう。画像バスのデータは画素形式であり、ＰＥアレーデータはビットプレーン形式であり、これらの形式間でのデータの変換が、Ｉ／Ｏ処理の一部として画素Ｉ／Ｏユニット４００により実行される。
【００２３】
ＳＩＭＤアレープロセッサ２０００は、「サブフレーム」として公知のアレーサイズのセグメントの画像データを処理する。典型的なシナリオでは、処理すべき画像フレームは、ＰＥアレー１０００の大きさよりも十分に大きい。画像フレームの処理は、画像フレームが完全に処理されるまで、サブフレーム画像セグメントを順に処理することによって実行される。
【００２４】
改善された代表的なＰＥの実装の詳細な説明をここで行なう。冒頭で紹介したアーキテクチャーなどのベースラインＰＥアーキテクチャーを説明する。このアーキテクチャーに対する改善が詳細に説明され、以下の事項を含む：
・ＰＥに基づいて選択可能なキャリー-ボロー信号、
・双方向シフトの能力、及び
・強化された乗算能力。
【００２５】
ＰＥ１００は、７個のレジスタ、関連信号選択ロジック、計算ロジック、及び３個のメモリデータポートを備える。入力メモリデータポートは、ａｒａｍ、ｂｒａｍで示され、出力メモリポートはｗｒａｍポートである。各ＰＥは、その４個の隣接したＰＥに、ＮＩ／ＮＯ、ＳＩ／ＳＯ、ＥＩ／ＥＯ及びＷＩ／ＮＯシフトプレーン入力及び出力を介して接続される。
【００２６】
レジスタ入力の各々は、マルチプレクサー、すなわち、Ｃ  ｍｕｘ１４４、Ｄ  ｍｕｘ１５４、ＮＳ  ｍｕｘ１６４、ＥＷ  ｍｕｘ１７４、ＡＬ  ｍｕｘ１８４、ＢＬ  ｍｕｘ１９４により選択される。ｗｒａｍ出力はＲＡＭ  ｍｕｘ１１４により選択される。
【００２７】
ＰＥ１００の動作は、図６に示すようなＰＥ命令ワードによりクロック毎に制御される。命令ワードはコマンドフィールドを含み、その各々は（Ａｌｕ＿ｃｍｄを除いて）、選択値をレジスタ（又はｗｒａｍ）マルチプレクサーの１つに与える。ＡＬＵ１０１のコマンドフィールド（Ａｌｕ＿ｃｍｄ）は、いくつかのＰＥ信号が生成される方法を定義することによって計算ロジックの動作を制御する。
【００２８】
ＰＥ１００の動作は、２つの動作モード、すなわち通常動作と乗算について記載し得る。通常動作は、０ＸＸＸ又は１００１のＡｌｕ＿ｃｍｄにより示される。乗算は１ＸＸ０のＡｌｕ＿ｃｍｄにより示される。
【００２９】
通常モードで動作するＰＥ１００の図を図７に示す。ＣＭレジスタ１０５は計算に関与しないので、図示していない。
【００３０】
通常のＰＥ動作中、第１ソースオペランドの各ビットが、ＮＳ１６０及びＡＬレジスタ１８０に夫々ロードされる。ＡＬレジスタ１８０から、そのデータが「ａ」入力を介してＡＬＵ１０１に与えられる。Ａｌｕ＿ｃｍｄに依存して、そのデータが、Ａマスクロジック１２０によりＤレジスタ１５０の値と結合され又は結合されず、「ａ」値を生成する。
【００３１】
同様に、第２ソースオペランドの各ビットがＥＷ１７０及びＢＬ１９０にロードされ、「ｂ」入力を介してＡＬＵ１０１に与えられる。個別のＡｌｕ＿ｃｍｄ信号が、Ｂマスクロジック１３０によりマスキングが適用されるか否かを決定する。
【００３２】
通常動作では、Ｃレジスタ１４０が所望のスタート値に初期化され得る。動作の過程で、ＡＬＵ１０１のキャリー又はボロー結果が、ＣＯ（ＡＬＵ出力）信号を介してＣレジスタ１４０に伝えられ得る。このようにして、マルチビットＡＤＤ及びＳＵＢＴＲＡＣＴ演算を実行できる。
【００３３】
各目的オペランドビットが、出力信号を介してＰＥ  ＲＡＭ１１０に書き込まれる。この信号は、実行される動作に依存して「Ｐｌｕｓ」又は「Ｃｏ」（図７）などの選択されたＡＬＵ出力とし得る。通常動作では、ＡＬＵ１０１は全加算器回路として定義される。このＰｌｕｓ及びＣｏ信号は、全加算器の総和及びキャリー（又はボロー）出力を表す（図８参照）。
【００３４】
オペランドのマスキングが望まれる場合には、Ｄレジスタ１５０にマスク値がロードされ得る。マスキングにより、演算を条件付きで実行できる。条件付きのＡＤＤ、ＳＵＢＴＲＡＣＴ及びＦＯＲＫ（条件付き割り当て）がオペランドマスキングを介してサポートされる。
【００３５】
Ｗｒａｍ及びＰＥレジスタのコマンドフィールドの定義を図９に示す。これらのコマンドフィールドの各々は、マルチプレクサーに対する選択コードを与える。マルチプレクサーはレジスタ（又はＷｒａｍポート）に対する複数の入力値から順に選択する。
【００３６】
ＮＳレジスタ１６０及びＥＷレジスタ１７０には、第１及び第２ソースオペランドデータが夫々ロードされる。オペランドがスカラーである場合、どちらかのレジスタに０又は１が直接ロードされ得る。オペランドがサブフレーム画像である場合、Ａｒａｍ又はＢｒａｍ値がロードされる。
【００３７】
ＮＳ１６０及びＥＷ１７０もまた、ビットプレーンシフトに使用できる。例えば、もしＮＳ１６０がＮＩ値をロードするならば、北から（すなわち南への）シフトが生じる。もしＮＳ１６０がＳＩをロードするならば、南からのシフトが生じる。同様にＥＷ１７０がＥＩをロードすることにより東からシフトし得、又はＷＩをロードすることにより西からシフトし得る。
【００３８】
オペランドビットが、夫々ＮＳ１６０及びＥＷ１７０からＡＬ１８０及びＢＬレジスタ１９０に伝えられる（例えばＡＬ＝ＮＳ、ＢＬ＝ＥＷ）。ＡＬ１８０及びＢＬ１９０はまた、シフトされたＮＳ及びＥＷ値をロードできる（例えばＡＬ＝ＮＩ、ＢＬ＝ＷＩ）。
【００３９】
Ｃレジスタ１４０は、スカラー０又は１で初期化してもよいし、Ａｒａｍ又はＢｒａｍを介してＰＥ  ＲＡＭ１１０からロードしてもよい。別法として、Ｃレジスタ１４０は、Ｃｏをロードすることによりキャリー又はボローＡＬＵ出力を伝搬できる。Ｄレジスタ１５０には、Ｃ  ｍｕｘ１４４信号を選択することにより新しい値をロードできる。Ｃ  ｍｕｘ１４４値は、Ｃマルチプレクサーの出力からＤレジスタ１５０をロードする、すなわちＤ１５０及びＣレジスタ１４０はそのサイクル中、同じ値をロードする。
【００４０】
Ａｌｕ＿ｃｍｄが０ＸＸＸである通常動作中は、Ａｌｕ＿ｃｍｄの最下３ビットが、それぞれＣｏ、ａ及びｂ値の独立制御を行なう（図１０参照）。Ａｌｕ＿ｃｍｄ［０］は、Ｃｏがキャリー又はボロー値として定義されているかを決める。アクティブなＡｌｕ＿ｃｍｄ［１］値により、ＡＬ値がＤ値によりＯＲマスクされ、ＡＬＵの「ａ」入力信号を生成する。アクティブなＡｌｕ＿ｃｍｄ［２］値により、ＢＬ値がＤ値によりＡＮＤマスクされ、ＡＬＵの「ｂ」入力信号を生成する。
【００４１】
Ａｌｕ＿ｃｍｄが１００１であるとき、Ｂｗ＿ｃｙ信号がＣｏ値として選択される。Ｂｗ＿ｃｙ信号は、Ｄレジスタ１５０が０であるときボローであり、Ｄレジスタ１５０が１であるときキャリーである。Ｂｗ＿ｃｙの使用により、各ＰＥは、ローカルのＤ値に基づいてＡＤＤ又はＳＵＢＴＲＡＣＴのどちらを実行するかを決めることができる。Ｂｗ＿ｃｙの特徴についての３つの使用を示す。第１は、絶対値演算を行い、第２は、より速い差分絶対値和（ＳＡＤ）工程を行い、第３は、より速い除算を実行する方法である。これらの用途の各々は、ボロー／キャリーＢｗ＿ｃｙを用いてＡｄｄｓｕｂ関数を実行する。Ａｄｄｓｕｂ（Ａ，Ｂ，Ｍ）は、下記のように定義し得る：
もし（Ｍ）ならば、
（Ａ−Ｂ）を戻し、
そうでなければ、
（Ａ＋Ｂ）を戻す。
【００４２】
現在、絶対値（ＡＢＳ）は一連のＮＥＧＡＴＥ及びＦＯＲＫ演算により実行される。しかしながら、この演算の組み合わせは、単一パス演算の時間の２倍を必要とし、スペースを割り当てなければならない一時的な画像を生成する。Ｂｗ＿ｃｙ信号は、簡単な単一パスＡＢＳ関数を可能にする。
【００４３】
改善されたＡＢＳ関数が、ソースオペランドの符号ビットをＤレジスタ１５０にロードすることにより実行される。次に、第１ソースオペランドとして０を、第２ソースオペランドとしてＡＢＳソースオペランド（Ｓｒｃ）を用いてＡＤＤが実行される。演算の各ビットについて、Ｂｗ＿ｃｙ信号がＡｌｕ＿ｃｍｄにより選択され、Ｃｏ信号を介してＣレジスタ１４０に伝えられる。事実上、得られる演算は次の通りである。
Ｄｅｓｔ＝Ａｄｄｓｕｂ（０，Ｓｒｃ，Ｓｒｃの符号）
【００４４】
ソース画素が負の場合には、Ｄｅｓｔオペランドはその画素の負数であり、そうでなければ、Ｄｅｓｔオペランドは画素と同じ値であることが分かる。
【００４５】
Ｂｗ＿Ｃｙ信号の第２の使用は、より速いＳＡＤ工程を実行することである。ＳＡＤの各工程では、２つのテンプレートの対応する画素（Ｐ１、Ｐ２）が比較される。２つの画素の差の大きさが、現在の総計（Ｓｕｍ）に加えられる。このＳＡＤ工程は、下記の３つの演算を含む。
Ｔｍｐ＝Ｐ１−Ｐ２
Ｔｍｐ＝ＡＢＳ（Ｔｍｐ）
Ｓｕｍ＝Ｓｕｍ＋Ｔｍｐ
【００４６】
Ｂｗ＿Ｃｙ信号を用いて演算の数を３から２に減らすことができる。Ｄレジスタに伝えられる差の符号を用いて、Ｐ１とＰ２の減算が実行される。次に、その差についてＳｕｍとのＡｄｄｓｕｂが実行される。したがって、差が負の場合には、その値がＳｕｍから引かれ、差が正の場合には、その値がＳｕｍに加えられる。これは次のように示される。
Ｔｍｐ＝Ｐ１−Ｐ２
Ｄ＝Ｔｍｐの符号
Ｓｕｍ＝Ａｄｄｓｕｂ（Ｓｕｍ，Ｔｍｐ，Ｔｍｐの符号）
【００４７】
Ｄ１５０へのＴｍｐの符号のローディングは、実行時間を増加させないように、減算演算に含めることができる。
【００４８】
Ｂｗ＿ｃｙ信号の第３の使用は、より速い除算演算を実行することである。ビットシリアルＰＥでは、除算は、生成される商ビットの数に等しいパス数を必要とする。各パスは１つの商ビットを生成する。代表的なＰＥでは、各パスは比較と条件付き減算とを必要とする：
商［ｉ］＝分母＜＝剰余［ｒｍｓｂ：ｉ］
（商［ｉ］＝＝１）ならば、
剰余［ｒｍｓｂ：ｉ］＝剰余［ｒｍｓｂ：ｉ］−分母
（ここでｒｍｓｂは剰余オペランドサイズ−１）
【００４９】
上述の方法では、商ビット（「ｉ」のインデックスが付けられた）は、逆の順序で生成される、すなわち、最上位ビットが最初に生成され、最下位ビットが最後に生成される。各パスは、分母オペランドへの２回の演算を要求する。したがって、この演算に必要な全体の時間は、だいたい２＊Ｑ＊Ｄサイクルである（ここでＱは商のサイズであり、Ｄは分母のサイズである）。
【００５０】
Ｂｗ＿ｃｙ信号は、１回のＡｄｄｓｕｂ演算によって符号なし除算の１パスを実行する手段を提供する。改良されたこの方法では、剰余値は、各パス中に実行されるＡｄｄｓｕｂ演算の結果として正又は負をとり得る。剰余の符号は、各パスでＡｄｄｓｕｂが加算として機能するか又は減算として機能するかを決める。剰余が負の場合には、加算が実行され、剰余が正の場合には、減算が実行される。剰余はＡｄｄｓｕｂの結果として符号を変え得るが、その大きさは連続する各々のパスで０に近づく傾向にある。この除算方法では、各パスは次のものを含む。
商［ｉ］＝剰余の符号の否定
剰余［ｒｍｓｂ：ｉ］＝
Ａｄｄｓｕｂ（剰余［ｒｍｓｂ：ｉ］，分母，商［ｉ］）
除算のこの方法では、商ビット（「ｉ」のインデックスが付された）は、逆の順序で生成される。各パスは、分母に対する１回の（Ａｄｄｓｕｂ）演算を必要とする。したがって、この演算の全体の時間はほぼＱ＊Ｄサイクルである。
【００５１】
また、上述した除算技術を用いて、より速いモジュラス演算を行なうこともできる。除算の終わりにて剰余値が調べられて０より小さいならば、分母がそれに加えられ、除算演算の正しい剰余値が与えられる。（商の結果のみが除算演算に必要とされる場合には、この訂正工程は不要である。）
【００５２】
ＳＩＭＤアレーの各ＰＥは、ビットプレーンデータをシフトするために、その最も近い４つの隣接ＰＥに接続される。例えば、ＰＥのＮＯ（北出力）信号は、北のＰＥのＳＩ（南入力）信号に接続される。このようにして、各ＰＥのＮＯ、ＳＯ、ＥＯ及びＷＯ出力が、最も近い４つの隣接ＰＥのＳＩ、ＮＩ、ＷＩ及びＥＩ入力に接続される。
【００５３】
通常のシフトが実行される場合、ＰＥアレーのＮＳレジスタプレーンが北又は南（両方ではない）にシフトし得る。ＥＷレジスタプレーンは、東又は西（両方ではない）にシフトし得る。ＮＳ及びＥＷレジスタプレーンは、個別のビットプレーンの同時の南北及び東西シフトが容易に実行されるように、独立である。
【００５４】
通常シフトでは、ＰＥのＮＯ及びＳＯ信号は、ＮＳ１６０のレジスタ値に設定されるが、ＥＯ及びＷＯ信号はＥＷレジスタ値に設定される。ＳＩ信号は南にＰＥのＮＯ出力に連結されるので、ＳＩ  ＰＥ入力をＮＳレジスタ１６０にロードすることによって、北へのシフトが実行される。残りのシフト方向は、対応するＰＥ入力をＮＳ１６０及びＥＷレジスタ１７０にロードすることにより行われる。通常のシフトコマンドを図９に示す。
【００５５】
ある演算では、（直交方向よりむしろ）反対方向にビットプレーンを同時にシフトするのが有利である。このような演算の例は、ＦＦＴ中に実行されるバタフライシャッフル演算である。バタフライシャッフルの１工程は、次のような４画素値からなる２グループについての位置交換を伴い得る。
ｐ０  ｐ１  ｐ２  ｐ３  ｐ４  ｐ５  ｐ６  ｐ７  ／／交換前
ｐ４  ｐ５  ｐ６  ｐ７  ｐ０  ｐ１  ｐ２  ｐ３  ／／交換後
【００５６】
この例での画素は、行又は列に沿って配置し得る。行データでは、東西方向の双方向シフトが交換の速度をファクター２だけ上げる。このような交換に必要な双方向シフトは、改善されたＰＥの能力である。
【００５７】
ＰＥの改善により、上述の例のような交換パターンが実行されるように反対方向のシフトが行われる。２つの構成信号、Ｒｘ（行交換）とＣｘ（列交換）は、どちらのシフト構成がアクティブであるか否かを示す。Ｒｘ信号とＣｘ信号は相互に排他的である、すなわち同時にアクティブにはなり得ない。どちらもアクティブでないとき、通常のシフト構成が示される。Ｒｘ及びＣｘ構成信号は、設計者に便利な任意の方法にて実現できる。代表的なＰＥアレーでは、Ｒｘ及びＣｘは各ＰＥＧ２００内に存在するレジスタである。この実施態様では、ＲｘとＣｘは、アレー中のすべてのＰＥＧに対して同じ値を有さなければならない。すなわち、アレー全体に対して１つのシフト構成が特定される。
【００５８】
双方向シフトはＡＬ、ＢＬ、ＮＳ及びＥＷコマンドの簡単な変更によってＰＥ命令ワードに加えられる。ＥＩ及びＮＩコマンド選択はＥＷ＿ｉｎ及びＮＳ＿ｉｎ信号と取り換えられる（図１２参照）。Ｒｘ及びＣｘがアクティブでなければ、ＥＷ＿ｉｎ及びＮＳ＿ｉｎ信号はそれぞれＥＩ及びＮＩであると定義される。この構成では、図１２のコマンドは図９のものと同じである。
【００５９】
Ｒｘ信号がアクティブなとき、行交換シフトがＮＳ／ＡＬ＝ＮＳ＿ｉｎ及びＥＷ／ＢＬ＝ＥＩを用いることにより実行される。これらのコマンドにより、ＥＷプレーンが東からシフトし、ＮＳプレーンが西からシフトする。図１３から、アクティブなＲｘにより、ＥＯ信号がＮＳ値に設定され、ＮＳ＿ｉｎ信号がＷＩに設定されることで、ＮＳプレーンが西からシフトすることが分かる。
【００６０】
Ｃｘ信号がアクティブなとき、行交換シフトがＥＷ／ＢＬ＝ＥＷ＿ｉｎ及びＮＳ／ＡＬ＝ＮＩを用いることにより実行される。これらのコマンドにより、ＮＳプレーンが北からシフトし、ＥＷプレーンが南からシフトする。図１３から、アクティブなＣｘにより、ＮＯ信号がＥＷ値に設定され、ＥＷ＿ｉｎ信号がＳＩに設定されることで、ＥＷプレーンが南からシフトすることが分かる。
【００６１】
２つのマルチビットオペランドの乗算は、「通常」構成のＰＥを用いて実行できる。乗算は、ｍ回のパスを必要とするマルチパス演算であり、各「パス」はｎビットの条件付き加算からなる。ここで、ｍは乗数のビット数であり、ｎは被乗数のビット数である。各パスでは、連続ビットの乗数がＤレジスタにロードされる。つぎに、累積された部分積への被乗数の条件付き加算が（適当なビットオフセットにて）実行される。このようにして、ほぼｍ＊ｎでビットシリアル乗算が実行される。
【００６２】
上述のビットシリアル乗算は、各パスにて被乗数と乗数の単一ビットを効果的に掛ける。ビットシリアル乗算を改善する方法の一つは、各パスに適用される乗数のビット数を増すことである。このことを行なう方法をここで説明する。この方法は、本方法をサポートするのに要するＰＥレジスタの数を１だけ減らす点において、先行技術の方法に対する改善である。
【００６３】
改善された代表的な乗算では、各パス中に被乗数を２ビット乗数で乗算し、この実行のために６個のＰＥレジスタを必要とする。同じ方法が、（図１５に示す代表的な実施態様では全加算器１０２及び全加算器１０３に加えて）適当な加算器をＡＬＵ１０１’に加えること、及び適応される追加の乗数ビットの各々に対して２個のＰＥレジスタを加えることによって、（１パス当たり）任意数の乗数ビットに拡張できる。
【００６４】
改善された乗算方法は、２つの８ビットオペランドの乗算を例として説明できる。（第１のパスについての最初の２サイクルを図１４に示す。）最初の２つの乗数ビット、ｍ１とｍ０が乗数レジスタにロードされる。乗数ビットは第１パスの間中変わらない。第１サイクルでは、被乗数ビットｎ０が被乗数レジスタにロードされ、アキュムレータビットａ０がアキュムレータレジスタにロードされ、部分積レジスタがクリアされる。乗算の各サイクルでは、乗数ビットと被乗数ビットが掛けられ、その２ビットの結果が２ビット部分積及び１ビットアキュムレータに加えられ、３ビット部分積の結果を得る。Ｂｗ＿ｃｙ部分積ビットの最下位ｐ（第１サイクルではｐ０）がメモリに記憶され、その次の２つの部分積ビットが次のサイクルのために部分積レジスタにロードされる。
【００６５】
アキュムレータ及び被乗数の第２ビット（ａ１及びｎ１）がロードされると共に０の代わりに部分積レジスタが前の乗算サイクルからの部分積を含むことを除いて、第２サイクルは第１サイクルと同様である。後続の各サイクルでは、部分積の最下位ビットがアキュムレータ画像に記憶される。
【００６６】
第１パスでは、ｐ０がａ０として記憶され、ｐ１がａ１として記憶され、等々。第２パスでは、第１サイクルにてａ２がロードされ（同時にｎ０がロードされ）かつｐ０値がａ２に書き込まれるように、アキュムレータ画像がビットオフセット２にてアクセスされる。乗数ビットｍ２及びｍ３がロードされて第２パスを開始する。
【００６７】
改善された乗算を実行するためのＰＥレジスタの配置を図１５に示す。ＰＥの配置では、Ｄレジスタ１５０が被乗数ビットのために用いられ、ＥＷレジスタ１７０及びＮＳレジスタ１６０が乗数ビットのために用いられ、ＡＬレジスタ１８０及びＢＬレジスタ１９０が部分積ビットのために用いられ、Ｃレジスタ１４０がアキュムレータビットのために用いられるのが示されている。乗算ＡＬＵ１０１’は、３つの部分積出力を作るのに必要な乗算と総和を行なう。部分積ビットを表すＰＥ信号は、Ｍ０、Ｍ１及びＭ２で示される。
【００６８】
改善された乗算のためのレジスタの再定義は、ＰＥ命令ワードのＡＬ、ＢＬ及びＤコマンドフィールドにより選択される信号の付加により行われる（図１６）。これらの信号は、ＡＬ＿Ｏｐ０、ＡＬ＿Ｏｐ１、ＢＬ＿Ｏｐ０、ＢＬ＿Ｏｐ１及びＤ＿Ｏｐで示され、図１７に示されるようように定義される。Ａｌｕ＿ｃｍｄが１ＸＸ０でないとき（乗算モード）、ＡＬ、ＢＬ及びＤコマンドは、図９に示されるような「通常」動作のために定義されることが分かる。
【００６９】
Ａｌｕ＿ｃｍｄが１ＸＸ０のときは、図１７の信号が乗算のために定義される。特にＡＬ＿Ｏｐ０とＢＬ＿Ｏｐ０は、Ｍ２及びＭ１のＡＬＵ出力をＡＬレジスタ１８０及びＢＬレジスタ１９０と結合する。１ＸＸ０の範囲内では、Ａｌｕ＿ｃｍｄ［１］及びＡｌｕ＿ｃｍｄ［２］ビットが、改善された乗算演算のために必要な更なる制御を行なう。
【００７０】
アクティブなＡｌｕ＿ｃｍｄ［１］は、積の高位ビットの反転を示す（図１７のＥＷ＊Ｄ）。この信号は、乗算の最終パス中にアクティブにされる。ここで乗数は符号付き画像である。また、アクティブなＡｌｕ＿ｃｍｄ［１］により、最終パスの第１サイクル中に、ＡＬレジスタが０の代わりに１に設定される。これは、被乗数の高位ビットにより生成された部分積の２の補数反転の一部である。
【００７１】
アクティブなＡｌｕ＿ｃｍｄ［２］信号により、Ａｒａｍ値が、Ｄレジスタ１５０にロードされるように、Ｄ＿Ｏｐと結合される。
【００７２】
ＰＥのビットシリアルな性質により、任意のサイズのソース及び目的オペランドについて乗算演算を実行できる。ソースオペランドは、符号付き又は符号なしの画像又はスカラーオペランドとし得る。乗算シーケンサーをロジックにて実現することは、多くの制約を課すかもしれない。例えばＳｒｃ２（被乗数）オペランドを非スカラー（画像）オペランドに限定し、Ｓｒｃ２及びＤｅｓｔオペランドサイズを２ビット以上に限定し、ソースオペランドにＤｅｓｔオペランドで上書きすることを禁止する。ＰＥのアーキテクチャー自体により課される制約の一つは、改善された乗算を垂直演算に限定することである（すなわちスキューなし）。
【００７３】
乗算のためにメモリアクセスを順序付ける方法を図１８に示す。この例では、６ビット乗数（ｘ）と４ビット被乗数（ｙ）が掛けられる。乗算の各パスでは、２つの乗数ビットを被乗数オペランドに掛け、部分積をアキュムレータ値に加える。第１パスでは、ｘ１ｘ０をｙに掛けて第１のアキュムレータ値（５）．．．（０）を得る。第２パスでは、ｘ３ｘ２をｙに掛けてその６ビット積をアキュムレータビット（５）．．．（２）に加えて次のアキュムレータ（７）．．．（２）を得る。下位のアキュムレータビット（１）．．．（０）は第１パス後は変えられないことに留意されたい。第３パスでは、ｘ５ｘ４をｙに掛けてその６ビット積をアキュムレータビット（７）．．．（４）に加えて最終的な積ビット（９）．．．（４）を得る。アキュムレータビット（３）．．．（０）はこのパスにより影響されない。
【００７４】
この演算のためのＰＥ  Ｒａｍのアクセスパターンを図１８に示す。各パスでは、２つの乗数ビットがロードされる。このパスは、被乗数及びアキュムレータビットのシーケンシャルロードと、得られた新しいアキュムレータビットの記憶とからなる。各パスでは、被乗数画像が最下位ビットから最上位ビットに横断される。しかしながら、アキュムレータ画像は、各パスで２ビット高い開始ポイントにてアクセスされる（ロード及び記憶の両方にて）。アキュムレータのサイズはまた、アキュムレータへのライト数がすべてのパスで同じになるように、各パスで２ビットだけ大きくなる。
【００７５】
図１８に示した乗算演算は、図１９に示す命令シーケンスにより実行される。各パスでは、２つの乗数ビットがＮＳ１６０及びＥＷ１７０にロードされる。次に、被乗数ビットがＤレジスタ１５０に順次にロードされ、アキュムレータビット（Ｚ）がＣレジスタ１４０に順次にロードされる。すべての被乗数ビットが読み出された後、そのパスのために新しいアキュムレータ値の生成を完了するために追加の２サイクルを実行しなければならない。これらの２サイクル中、（古い）アキュムレータ値及び被乗数はＣ及びＤにて符号が拡張される。また、これら２サイクル中に、次のパスに備えて、ＮＳレジスタ１６０及びＥＷレジスタ１７０にロードされる。（非ゼロのＤ値によって前のＮＳ及びＥＷ値が各パスで最終アキュムレータ値と干渉してしまうので、この同時処理は被乗数が符号なしの場合にのみ可能である。）ＡＬＵ＿Ｃｍｄは同様のパターンに従い、各パスの最初の４サイクル中は１１００に設定され、２つの符号拡張サイクル中は１０００に設定される。ＡＬレジスタ１８０及びＢＬレジスタ１９０は、各パスの最初のサイクル中に０をロードし（ａｌ＿ｏｐ１，ｂｌ＿ｏｐ１）、残りのサイクル中にＭ１／Ｍ２をロードする（ａｌ＿ｏｐ０，ｂｌ＿ｏｐ０）。Ｗｒａｍライトコマンドは乗算の間中１であり、Ｍ０値を記憶する。アキュムレータは最初は０なので、最初のパス中、Ｃレジスタ１４０に０がロードされる。画像が符号なしの場合には、最後のパスは通常パスと同じである。しかし、符号付きの乗数画像では、最後のパス中に「反転」ビットが設定される（ＡＬＵ＿Ｃｍｄ＝ＸＸ１Ｘ）。
【図面の簡単な説明】
【００７６】
【図１】代表的な処理要素（ＰＥ）を示す概略図である。
【図２】処理要素のアレーのグラフ表示である。
【図３】処理要素グループ（ＰＥＧ）からなるＰＥアレーを示す概略図である。
【図４】ＰＥＧの概略図である。
【図５】ＳＩＭＤアレープロセッサの概略図である。
【図６】ＰＥ命令ワードの構成要素（コマンドフィールド）を示す表である。
【図７】通常動作のために構成された処理要素の詳細概略図である。
【図８】ＰＥのＡＬＵの通常動作を示す真理値表である。
【図９】ＰＥコマンドの定義を示す表である。
【図１０】ＰＥのＡＬＵコマンドの定義を示す表である。
【図１１】Ｂｗ＿ｃｙ（ボロー／キャリー）信号の定義を示す表である。
【図１２】双方向シフトが選択されたときのＮＳ及びＥＷコマンドの定義を示す表である。
【図１３】双方向シフトに用いられる信号の定義を示す表である。
【図１４】乗算演算中のオペランドデータの移動パターンを示すグラフ説明図である。
【図１５】乗算演算のために構成された処理要素の詳細概略図である。
【図１６】乗算演算中のＡＬ、ＢＬ及びＤコマンドの定義を示す表である。
【図１７】乗算演算中に用いられる信号の定義を示す表である。
【図１８】開示した乗算技術を用いた乗算演算のグラフ図である。
【図１９】代表的な乗算演算に必要なコマンド列を示す表である。
【符号の説明】
【００７７】
１００    処理装置（ＰＥ）
１０１    演算論理装置（ＡＬＵ）
１０５    ＣＭレジスタ
１１０    ＰＥのＲＡＭ
１２０    Ａ論理ブロック
１３０    Ｂ論理ブロック
１５０    Ｄレジスタ
１６０    ＮＳレジスタ
１７０    ＥＷレジスタ
１８０    ＡＬレジスタ
１９０    ＢＬレジスタ
【図１】
2007536628.tif 000002
【図２】
2007536628.tif 000003
【図３】
2007536628.tif 000004
【図４】
2007536628.tif 000005
【図５】
2007536628.tif 000006
【図６】
2007536628.tif 000007
【図７】
2007536628.tif 000008
【図８】
2007536628.tif 000009
【図９】
2007536628.tif 000010
【図１０】
2007536628.tif 000011
【図１１】
2007536628.tif 000012
【図１２】
2007536628.tif 000013
【図１３】
2007536628.tif 000014
【図１４】
2007536628.tif 000015
【図１５】
2007536628.tif 000016
【図１６】
2007536628.tif 000017
【図１７】
2007536628.tif 000018
【図１８】
2007536628.tif 000019
【図１９】
2007536628.tif 000020
【国際調査報告】
2007536628.tif 000021
2007536628.tif 000022