• 検索結果がありません。

データクラス分け演算プロセッサの構成

ドキュメント内 電気通信大学大学院 情報理工学研究科 (ページ 48-53)

第 3 章 データクラス分け演算プロセッサ 27

3.3 データクラス分け演算プロセッサの構成

3.3.1 データクラス分け演算プロセッサの全体構成

図3.2はデータクラス分け演算プロセッサの構成を示す.

図 3.2: データクラス分け演算プロセッサの構成.

データクラス分け演算プロセッサには,外部メモリから転送されるデータをデータ入力より行 データ入力線を通じて,行0から行n-1n個の行データメモリに行データとして入力され,ま た,一方の列データ入力線を通じて,列0から列m-1m個の列データメモリに列データとして 入力され,網羅的並列比較演算に必要なデータが記憶されている.

1行n個並びに1列m個,合計n個+m個のそれぞれの行データ並びに列データからは,行デー タ演算データ線並びに列データ演算データ線が網羅状に布線されており,その行列データ線の布 線のクロスポイント(交点)には演算器,もしくは比較演算器が設置され,全ての演算器は行列 の双方のデータが並列に入力される構成となっており,n×m個の演算器がn行,m列のデータを 網羅的に演算可能な構成となっている.演算器は一般的なALUでも,その他の演算器でも構わな い.比較演算器については後述する.

また,演算器は外部から入力指定される演算器条件と,外部に演算結果の出力をするための演 算結果出力に繋がっている.以上の構成とする事により,行と列のマトリックスデータを全並列 組み合わせ的にSIMD比較演算する事が出来る.演算器がALUであった場合,行データ演算デー タ線並びに列データ演算データ線が多ビットデータ線となり,SIMD演算指定され比較論理演算 を並列に実行し,その比較演算結果を出力する構成となる.

以降,行列比較演算を最も有効に利用出来る応用例と,集積度が高く,演算効率が高く,デー タの一致や類似を検索するのに都合のよい1ビット演算器による比較演算器を用いた組み合わせ 並列比較演算方法を紹介する.データを比較しクラス分け演算する上で必要不可欠な演算は,一 致,不一致,類似,そして大小,範囲とその組み合わせで判定される共通の演算である.

3.3.2 データクラス分け演算プロセッサの動作原理

図3.3は以上の要点をまとめたものであり,データの比較の概念を示す.

図 3.3: データの比較の概念.

ここでは,LSBからMSBまで8ビットのデータの一致,不一致,類似,そして大小,範囲とそ の組み合わせの例を,例A,例B,例Cの3例ずつ示したものである.一致の場合,列,行すべ てのビットが一致している.不一致の場合,8ビットデータ同士のどこかが不一致であれば,デー タ全体として不一致である.データ同士の値(距離)が近い事をもって類似とする類似比較は,

LSB側の幾つかのビットを無視して比較する事により,実現する事が出来る.BCD(Binary-coded

decimal)によるデータであれば,10進数の下位の桁を無視するような比較が可能である.また,

データ同士の大小は,MSB側に近い不一致のビットが行,列いずれかである事を判定する事で実 現出来る.大小,2回の比較に合格したデータは範囲比較に合格した事になる.これらを組み合わ せして共通の判定を下す事も出来る.また,コンピューティング全体の中でデータの比較演算は 大きなウェイトを占めており,特にビッグデータ解析に不可欠な演算である.

図3.3の下部に示すように,比較対象のフィールドデータが複数ある場合には,データを連結 し,それぞれのフィールド毎に演算条件を設定して利用する事が出来る.例えばデータベースの フィールドデータが年齢,身長,体重,性別,既婚/未婚のような5種類のフィールドデータで あった場合,年齢7ビット(128歳),身長8ビット(256cm),体重8ビット(256kg),性別1 ビット(男/女),1ビット(既婚/未婚),合計25ビットに5つのフィールドデータを用意し1 フィールド毎に演算条件を設定し1ビット毎に25回繰り返しクラス分け演算を行えばよい.演算 の詳細は後述する.

以上説明の,1ビット毎の演算を1クロック演算,1単位のフィールドの演算を1フィールド演 算,対象となるフィールドの演算を1バッチ演算と定義すると,この例はフィールドが5で,1バッ チ演算が25クロック演算となる.任意ビット,任意フィールドからなるデータの比較は,一般の 情報処理と同様に同一データ形式であれば,行,列1ビット毎個別に行列比較を繰り返す事によ り,同一演算指定でSIMD型演算が実現出来る.つまりこの方法は,CPUやGPUで1対のデー タ同士を個別に逐次比較するのではなく,1つの命令ですべての演算器が大量のデータを並列に比 較処理を実行出来る事を意味しており,この方法は超並列比較演算を実現させるために好都合で ある.

また,ALUのようにデータ幅(オペランド幅)が32ビットや64ビットのような固定データ幅 の演算器ではないので,メモリセルにデータを無駄なく割り付け出来,メモリ効率と演算効率が 高くなる.後述する極めて単純な構成の比較演算器を超並列化して,LSIを実装する事が出来る 事を意味している.

3.3.3 データクラス分け演算プロセッサの詳細

図3.4は上述の比較演算器を用いたデータクラス分け演算プロセッサの構成をより具体的に示 す.図に示す通り,1行n個,1列m個のデータは,n×m個の比較演算器に網羅的に接続されて 並列比較演算が可能な構成になっている.

行方向のメモリデータは後述するように,行方向データとして行列変換され1メモリセル毎,n 個並列に,行データアドレスでアクセス(選択)可能な構成になっており,アクセスされたアドレ スのメモリセルのデータは,行データバッファに代入され,この行データバッファの出力は,行方 向の比較演算器の一致回路の行入力に並列に入力される.行アドレス0をアクセスした場合,行 0,列0並びに行0,列1の比較演算器の行入力には「1」が代入される.また,行1,列0並びに 行1,列1の比較演算器の行入力には「0」が代入される.図示はされていないが,n行,m列比 較演算器の行にデータが入力される事になる.列方向も同様な構成であり,列アドレス0をアク セスすると,行0,列0並びに行1,列0の比較演算器の列入力に「1」が代入される.また,行0,

列1並びに行1,列1の比較演算器の列入力に「0」が代入される.図示はされていないが,n行,

m列比較演算器の列にデータが入力される事になる.

ここでは行列各4ビットのデータ構成であるので,行列ともアドレス0からアドレス3までの データを順次比較演算器に送り込む事により,比較演算器は必要な行と列データの比較演算を実 行する事が出来る.一致を求める演算の場合,行1,列1の比較演算器は4ビットの行列データが

「0101」と同じであるので,演算結果出力からマッチアドレスを出力する事になる.

以上の説明は4ビットデータ1組によるものであったが,年齢,性別,身長,体重など比較す るデータが複数あり,そのデータ幅が1ビットから64ビットあるいはそれ以上任意のデータ幅の データであっても,任意組,行列データとして割り付けし利用する事が出来る.さらに,後述する が,1バッチ分n×mのデータを複数バッチ分データ入力しておき,複数バッチ連続的に比較演算 を繰り返す事も可能である.1ビット毎の比較演算は一見非効率のような印象を与えるが,この方 式の演算効果については後述する.また,この回路に行列データの加算器を組み込み1ビット毎 に演算を行えば,加減算演算を実現する事も可能である.外部から行列データを取り込む際,プ ロセッサのデータ入力の直後にデータの行列変換回路を備えておくと,ホスト側でデータの行列 変換を行う必要がなくなるので,システム全体が効率的となる.

図 3.4: データクラス分け演算プロセッサ.

3.3.4 データクラス分け演算プロセッサの演算器

図3.5はデータクラス分け演算プロセッサの比較演算器を示す.この比較演算器は上述の図3.4 で説明の通り,行列一致回路,1ビット演算器,演算結果出力から構成されている.行列一致回路 は,1ビット毎に与えられる行と列のデータが一致か,不一致かを比較する回路である.論理積

(AND)回路や,NAND回路,論理和(OR)回路で構成されている.

1ビット演算器は,論理回路とその選択回路,並びに演算結果部で構成され,図3.3で示した1 ビット毎の一致,不一致,類似,大小,範囲などの比較演算を行うものである.行列一致判定回 路で判定されたデータと一時記憶レジスタに記憶されているデータを,演算条件に基づき論理積,

論理和,排他論理並びに論理否定で演算し,所定の演算を行い勝ち抜いた一時記憶レジスタや一 致回数カウンタがマッチアドレスとなるように構成されている.

図 3.5: データクラス分け演算プロセッサの比較演算器.

例えば,8ビットのデータであれば1ビット毎に入力される行列データを指定された演算条件で 最大8回実行する事により,行列データの一致,不一致,類似,大小比較のクラス分け演算を実 現する事が出来る.また,年齢,性別,体重,身長など複数のデータの合格数を判定するような 演算の場合,一致回数カウンタを利用し所定値以上のカウント値になっているかどうかの判定を 行う事も可能な構成である.この比較演算器には,回路規模が大きくなる加算器などの四則演算 回路が不要となっている事が大きな特徴である.

ドキュメント内 電気通信大学大学院 情報理工学研究科 (ページ 48-53)