並列処理プロセッサへの 実数演算機構の開発 数理情報科学専攻 福永研究室 大橋 常毅 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi 研究背景-TPCORE 当研究室で開発しているプロセッサ Transputer-T425互換を目指し作成 並列プログラミング言語Occamが実行可能 昨年度の研究(VirtualChannel&Router)により ネットワークトポロジの制限から開放 50MHzで動作(Xilinx・Virtex5) IEEE1355-link OS-link TP TP Router TP 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi 研究背景-開発の動機 TPCOREを画像処理に応用したい 画像処理では大量の実数演算が必要 (高速フーリエ変換,フィルタリングなど) これまでは整数演算が主な処理対象 実数演算について最適な実装方法を模索することに 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi 研究背景-TPCOREの問題点 実数演算のための命令が完備されていない Occamの実数型に対する演算子が使えず 独自開発したライブラリで実数演算を行っている データを文字列として扱っている 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi IEEE754 Transputerの実数データ形式 31 30 29 24 23 22 21 20 19 3 2 1 …… 符号ビット:s 指数部:e 仮数部:f LSB MSB 数の表現(正規数) T425での実数演算の流れ 指数部・仮数部の分離 論理演算 整数演算 指数部・仮数部の結合 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi TPCOREの拡張 マイクロ コード ROM 制御部 マイクロ コード ROM TPCOREはマイクロプログラム 方式を採用している 各回路はマイクロコードROMのビットパターンに従って動作 命令追加には マイクロプログラムの作成 回路の機能を拡張 制御信号 alua alub Creg Breg ALU Areg err databus Aregをaluaに接続 Bregをalubに接続 ALUでalua+alubを実行 databusにALUの出力を接続 Aregにdatabusの値を代入 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi ソフトウェア実装の限界 T425の命令には直接実数演算を行う命令がない 内部的にはソフトウェア実装 専用ハードウェア(FPU)で実数演算を行えば更なる高速化が望める 1命令で実行 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi FPUの組み込み方 FPUを内蔵させる T800がFPUを内蔵したTransputer プロセッサの命令として効率的に実行できる 高速演算可能だが実装可能な演算は命令セットに依存 外付け回路として通信命令でアクセス 実装する演算に制限がない 通信のオーバーヘッドが発生 通信プロトコルの拡張で対応 四則演算 三角関数 平方根 対数関数など 四則演算のみ TP FPU TP FPU FPU 内蔵型 内部のバスで接続 外付け型 外部リンクで接続 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi 内蔵型FPU1(T800へのアップグレード) T800互換のためには以下の演算が必要 四則演算 特定の数(2,32) による乗算・除算 絶対値 大小,イコール判定 NaN,Inf 判定 整数型⇔実数型の変換 単精度⇔倍精度の変換 端数切捨て 上記以外の演算はソフトウェア的に実行(三角関数,平方根など) 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi 内蔵型FPU2 FPUをTPCOREにどのように組み込むか? CPU部分をなるべく変更しない実装 データバスで接続(32bit-パラレルバス) マイクロードROMのアドレスでFPUを制御 Memory controller CPU OS-link0 OS-link1 OS-link2 1355-link RAM 8K×8bit 32bit 8bit link部 Memory FPU FPU データのやり取り 制御方法 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi 外付け型FPU 画像処理では三角関数の利用頻度が高い(高速フーリエ変換、回転処理など) 四則演算と三角関数をハードウェア実装 ルーターを用いて複数のTPCOREでFPUを共有させる事ができる リンク速度は50Mbps(シリアル通信) TPCORE以外の計算要素(PE)を含めたシステム構築の足掛かりに (ヘテロジニアスマルチコア) TP TP Router リンク速度 50Mbps TP FPU 四則演算 + 三角関数 TP TP Router PE PE 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi 性能評価1 TP FPU TP FPU ソフト T425互換 外付け 内蔵 単純ループ ADDループ SEQ temp:=0.0(REAL32) clock? before SEQ index=0 FOR LOOP temp=temp+DELTA clock? after ソフトと比較して 内蔵 :310倍 外付け :50倍 T425互換:60倍 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi 外付けFPUの通信時間 FPUの処理(18clock) 1Loop(472clcok) TPから FPUへ FPUから TPへ 通信(213) 通信準備(259) 通信時間(213)よりも通信準備(259)の方が時間がかかっている 通信時間そのものもFPUの処理時間(18)に対して大きい データを一列に並べて 送信しているだけ 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi 性能評価2 高速フーリエ変換(FFT) Occamライブラリの三角関数と外付けFPUの三角関数演算で比較 四則演算 TRI FUNC UNIT TRI FUNC UNIT TP 四則演算 TP 三角関数 三角関数 FPU T425互換-cd 内蔵-cd [Hz] 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi
首都大学東京 修士論文発表会 T.Ohashi まとめ 3つの方法でTPCOREの実数演算に ついて実装・評価 T425の命令の補完 FPUをTPCOREに内蔵 外付け回路としてのFPU 内蔵FPUで実数演算性能は大幅に上昇 外付けFPUも演算規模によっては有効 今後 処理単位を上げて外付け回路を実装・評価 リンク速度の高速化、高速I/O-IFの導入 画像処理(動画解析)に最適なシステムの構築 TP FFT ビデオカメラ TP TP カメラIF Router FFT 回転 補正 2011.02.04 首都大学東京 修士論文発表会 T.Ohashi