マルチメディア処理 LSI の 高性能化に関する研究
Study on high performance architecture for multimedia processing LSIs
2005 年 3 月
早稲田大学大学院理工学研究科
河合 浩行
目次
第 1章 序論 ...5
1.1. マルチメディア処理LSIの高性能化における課題...6
1.2. マルチメディア処理LSIにおける高性能化と設計効率化...9
1.3. 本研究の目的... 14
1.4. 本論文の内容... 15
第 2章 データ転送方式による高性能化 ... 23
2.1. 緒言 ... 24
2.2. 画像認識処理LSIの高性能化 ... 24
2.2.1. 画像認識LSIの概要... 24
2.2.2. 局所的データ転送方式 ... 25
2.2.3. 大局的データ転送方式 ... 28
2.3. 3次元グラフィックスLSIの高性能化... 36
2.3.1. 3次元グラフィックスLSIの概要 ... 36
2.3.2. 局所的データ転送方式 ... 36
2.4. 結言... 40
第 3章 条件分岐のロス削減による高性能化...43
3.1. 緒言... 44
3.2. マルチ分岐制御方式 ... 44
3.3. 多数決分岐制御方式 ... 47
3.4. 遠隔分岐制御方式... 50
3.5. 結言... 52
第 4章 ハイブリッドアーキテクチャによる高性能化 ...55
4.1. 緒言... 56
4.2. 集約型後処理方式... 56
4.2.1. リンケージユニット ... 56
4.2.2. クリップテスト回路 ... 59
4.3. 結言... 63
第 5章 高性能マルチメディア処理LSIの設計効率化 ...67
5.1. 緒言... 68
5.2. テストパターン自動編集手法... 68
5.2.1. テストパターン編集の概念 ... 68
5.2.2. アクセスシーケンス ... 70
5.2.3. 組み込みマクロセル・テストパターン自動編集... 72
5.3. 高性能LSIのテスト容易化設計... 72
第 6章 試作LSIの評価結果... 81
6.1. 緒言... 82
6.2. 3 次元グラフィックスLSI(GE1)実現への応用結果... 83
6.2.1. GE1の機能概要 ... 83
6.2.2. GE1のハードウエア構成... 84
6.2.3. 評価結果 ... 89
6.3. 実時間画像認識処理LSI(IRE)実現への応用結果... 92
6.3.1. IREの機能概要... 92
6.3.2. IREのハードウエア構成 ... 93
6.3.3. 評価結果 ... 96
6.4. ビデオ信号処理LSI(DISP)実現への応用結果... 98
6.4.1. DISPの機能概要 ... 98
6.4.2. DISPのハードウエア構成... 99
6.4.3. 評価結果 ... 101
6.5. 結言... 106
第 7章 結論... 111
謝辞 ... 117
著者研究業績... 119
第 1 章
序論
1.1. マルチメディア処理LSI の高性能化における課題
半導体プロセス技術と LSI設計技術は驚異的な速度で進歩を続けており、社会全 般の至るところで LSIを組み込んだシステムが構築され、そのシステムにより提供 されるサービスを意識することなく享受するユビキタス社会が現出し始めている。
あらゆる情報の発信母体である媒体(メディア)が扱う情報は、文字、画像・映像、
音声に集約される。これら情報をデジタル情報として扱えるように変換・処理し、
目的に応じて統合し、インターネットなどのネットワーク網を通じてそれら情報を 相互に送受信することにより、アナログ情報を扱う場合には想像し得なかった勢い で情報の共有化が進んでいる。1980年代後半から本格的な技術展開が検討され始め たマルチメディア処理は、文字情報だけでなく、映像や音声情報をインタラクティ ブにコンピュータで処理することを指している。今後の更なるマルチメディア処理 の普及には、広帯域のデータ伝送技術などに加えて、大量のデータを高速に処理で きる高性能LSIが不可欠となっている[1][2][3]。
シ ス テ ム へ の 応 用 が 始 ま っ て い る 画 像 処 理 技 術 と し て は 、 文 字 認 識 技 術 を 使 う OCR(Optical Character Reader)や自動車の自動走行などに応用され始めたオプ ティカルフローなどの画像認識技術、携帯電話、PDAや FA機器、電化製品などの GUI(Graphical User Interface)、カーナビゲーションシステムや家庭用ゲーム機 に用いられる2次元/3次元グラフィックス技術、そしてTV電話/TV会議システ ムや DVD レコーダーに用いられるビデオ信号処理技術がある。応用製品の普及に 伴い、これら画像処理技術に対する高性能化と処理機能の多機能化への要求が今後 一層高まると考えられる。各種画像処理に要求される演算処理量を図 1.1 に示す。
図に示されるように、画像認識処理、3 次元グラフィックス処理およびビデオ信号 処理はともに1GOPS を超える高い処理性能を必要としている[4][5][6][7][8]。
一方、システムの中核を担うCPUの性能トレンドは図1.2に示す通りである[9]。
図1.2 に示されているように、高性能 CPUの動作周波数は4GHzに近づいた辺り から向上率に低下傾向が現れている。その理由の一つは、チップの消費電力を抑え ることが困難になってきたことが上げられる。同様の傾向は組み込み用マイクロプ ロセッサにおいても見られる。組み込み用マイクロプロセッサに対する低消費電力 要求は高性能 CPU に対するものより厳しく、CPU より低い数百 MHz 帯において 動作周波数向上率の低下が現れ始めている。VLSI の消費電力の推移を図 1.3 に示 す[10][11]。1990 年 までは5V 単一電源であったために微細化の進展とともに3年 で4倍消費電力が増加した。1990年代に入ると、使用される電源電圧が低下し、増 加率が3年で 1.4 倍に低下した。ITRS (International Technology Roadmap for
Semiconductors)は2005年以降の消費電力増加率の目標値を3年で1.1倍としてお
り、消費電力を抑制するための技術開発が重要となっている。このようにCPUの
図 1.1 画像処理の演算処理量
図 1.2 CPU 性能の推移
図 1.3 VLSI の消費電力推移
高性能化は多くの技術的課題の解決を必要とするようになってきた。
マルチメディアシステムにおいて、CPU性能は OS(Operating System)などの 処理の実行に割り振られなければならないため、CPU 性能のうち画像処理に向けら れる実行性能は限られる。CPUと組み合わせることによって多機能化と高性能化要 求に対応するために、特に処理量が多い画像処理用アクセラレータとして画像処理 専用 LSI の開発が盛んに行われてきた[12][13][14][15][16][17][18]。画像処理 LSI は複数アルゴリズムに対応できるようにプログラム制御方式を採用しているものと、
単一機能をターゲットとしてハードワイヤード方式を採用する LSI に大別できる。
画像認識処理、グラフィックス処理やビデオ信号処理のシステム性能の更なる向上 を実現するためには、半導体微細化技術の進展に加えて、高性能かつ多様化する処 理に対応できる柔軟なLSI アーキテクチャ技術の開発が必要である。一方、半導体 微細化の進展はシステム・オン・チップの流れを加速している。そのため、画像処 理機能等のマルチメディア処理機能もまた例外ではなく、CPUやその他の機能コ アと組み合わされ1チップに集積される傾向にある。こうした要求に応えるべく、
プログラム制御方式をベースとして、高性能化だけではなく、機能の多様化、シス
テム LSIの小型化、さらにはそのシステムLSI を使用するシステム開発工期短縮も 考慮したアーキテクチャ技術の開発が重要となっている [19][20][21][22]。
1.2. マルチメディア処理LSI における高性能化と設計効率化
画像認識処理は大きく3段階の処理に分類される。第一段階は画像前処理、第二 段 階 は 特徴抽 出 処 理、そ し て 最後が マ ッ チング 処 理 である[23]。 例 え ば 、 ノイズ 除 去のための空間フィルタリング処理などの画像前処理は局所画像データと係数行列 の畳み込み演算を多用し膨大な演算能力を必要とする。第二段階では、ヒストグラ ム、面積やモーメントといったような特徴量が画像前処理後の画像から抽出される。
一般に、この特徴抽出処理は条件分岐命令を多用する。第三段階では、特徴量にも とづいて入力画像とテンプレートとの類似度が評価され、類似度をソーティングす ることによって、テンプレートの中からいくつかの候補が選択される。この類似度 を求める処理はマッチング処理と呼ばれ、その演算量はテンプレート数とテンプレ ート毎の特徴ベクタの次元数に依存する。日本語文字認識システムでは、1文字を 認識するために約 0.8×106個の距離計算が実行されているものもある。図 1.4に画 像認識処理の一例として文字認識における処理内容と演算量を示す。この演算量は JIS第 一 水 準 の 印 刷 文 字 を 処 理 す るOCRシ ス テ ム の シ ミ ュ レ ー シ ョ ン 結 果 よ り 求 め た。また、図の下に、各処理の特徴を明らかにするために、条件分岐処理と繰り返 し処理について概略傾向を示している。距離計算は演算量の多い繰り返し処理が多 い。他方、文字列切り出し処理では演算量は少ないが、条件分岐処理が多くなって いる。また、特徴抽出処理は中間的な位置づけであることが分かる。このように画 像認識システムにおける処理は多様且つ高い演算能力を必要とする。OCRシステム では条件分岐処理が多い部分をCPUでS/W 処理し、繰り返しの多い処理は専用画像 処理LSIで高速に処理するというアプローチがとられている。
従来の画像処理 LSIは2種類のアプローチに分類することができる。一方はハー ド ワ イ ヤ ー ド ア プ ロ ー チ で あ り 、 他 方 は プ ロ グ ラ マ ブ ル DSP(Digital Signal
Processor)アプローチである。後者はさらに、Flynn氏の分類定義によるところの
SISD(Single Instruction stream Single Data stream)、SIMD(Single Instruction stream Multiple Data stream)、 そ し て MIMD(Multiple Instruction stream Multiple Data stream)という3つのサブグループに分類できる。従来のハードワ イヤード LSIの主要な応用分野は、機能面の柔軟性が低いために、画像の実時間前 処理に制限されている[17][24]。 ハードワイヤード LSI をシステム基板に実装した システムでは、アルゴリズム変更が必要となった場合、変更後のアルゴリズムに対 応した LSIに置き換えなければならない。また、システム機能の一部を変更する必 要が生じた場合、システム設計者はその都度システム基板の再設計に多大な時間を
(印刷(JIS第一水準)OCRシ ステム:シミュレーション結果)
図 1.4 画像認識処理(文字認識処理内容と演算量分布)
費やさなければならないという問題がある。
従来のプログラマブル DSPの多くは SISDタイプに属している[25][26]。それら は高い機能的自由度を有しているが、リアルタイムに画像前処理を実行するに十分 な処理能力を持っていない。SIMD グループや MIMD グループに属する並列処理 DSPは、SISDタイプ DSPにおける処理能力上の障害を克服すべく導入された。し かしながら、それら並列処理 DSP のデータ転送機能は局所画像処理にのみ対応可 能なレベルのかなり制限のあるものとなっている。そのために、それら DSP は例 えば 効率よくマ ッチング処 理を行うこ とができな い[16][18] [27]。 リア ルタイム に 画像認識処理を行うに十分な処理能力と機能面での柔軟性を持ったプログラマブル DSP向きアーキテクチャ技術開発が重要な課題である。合わせて、認識処理に必須 である類似度計算(並列処理)と、類似度計算結果にもとづいて候補を選択するソ ーティング処理(逐次処理)の処理フローを滑らかに結合する手法も重要な課題と である。
一方、3次元グラフィックスは今日プロフェッショナルユースの CAD/CAMか らコンピュータゲームといったアプリケーションまで広く用いられ、またインター ネットでの商業広告、カーナビゲーションシステムそして携帯情報端末(携帯電話
Frame Buffer
Geometry LSI
Rendering Controller
CPU
Clipping Traversal
Setup Edge Proccesing Texture Generation
Pixel Operation Transformation
Lighting
図 1.5 3 次元グラフィックス処理フロー
や PDA な ど)にも用いられている。3次元グラフィックスのこうした応用分野の 広がりは、OpenGL と Direct3D といった業界標準的な3次元グラフィックス API
(Application Program Interface)の策定・普及と合わせて、CPU とグラフィッ クス用 LSI の高性能化が大きく寄与している[5][28][29]。図 1.5に3次元グラフィ ッ ク ス の 典 型 的 な 処 理 フ ロ ー を 示 す[30][31]。 ま た 、 グ ラ フ ィ ッ ク ス ・ サ ブ シ ス テ ムの構成を図 1.6 に示す[28]。3次元グラフィックス処理は3グループに分類する ことができる。第一のグループはトラバーサル処理と呼ばれ、CPUが描画対象(オ ブジェクト)の形状や属性を含むグラフィックスデータを生成する処理である。ジ オメトリ処理は座標変換、クリッピング処理と光源計算処理を総称するものである。
座標変換は通常4x4行列のコンボリュ−ション演算によって実行される。クリッ ピング処理はさらに2個のプロセス、すなわちクリップテストと実クリップ処理に 分けることができる。クリップテストでは、描画オブジェクトを形作る線分や三角 形がビューボリューム内にあるか否かを試験により判定する。実クリップ処理では、
オブジェクトの線分や三角形がビューボリュームを構成するクリップ面と交差する 場合、これら線分や三角形を内部と外部で分断し、内部にある部分のみを後段の描 画処理に引き渡す。これにより、無駄な演算と外部メモリアクセスを減らすことが 可能となる。光源計算は、より現実的な表現を得るために、環境光、拡散光、反射 光とスポットライトによる照明効果を算出する処理である。上述のジオメトリ処理 は、最終的に表示される絵の品質を高めるために高い演算精度を必要とするため、
図 1.6 3次元グラフィックス・サブシステム
CPU もしくはジオメトリ処理専用 LSI によって処理される。第三番目の処理ステ ップは、レンダリング処理と呼ばれる。レンダリング処理において、ポリゴンに含 まれる画素毎の位置情報と色情報が、ジオメトリ処理の出力であるポリゴン頂点の 座標値と色情報から内挿演算によって算出された後、フレームバッファメモリに書 き込まれる。レンダリング処理の出力は、一般に整数値で表現されており、レンダ リング処理は、一部を除いて、整数演算で実行可能である。これまでのレンダリン グコントローラ LSIは、単一 LSI上に複数の処理パイプラインを集積し、並列処理 によってレンダリング処理の高速化を図っている[32]。
こ れ ま で 特 定 用 途 向 け の 高 価 格 シ ス テ ム の 技 術 で あ っ た 3 次 元 グ ラ フ ィ ッ ク ス 技術の一般化という流れはまだ始まったばかりであり、3次元グラフィックス技術 が今後多様な応用分野に広がっていくためには、より高速なインタラクティビティ とより現実感溢れる3次元イメージ画像生成技術が必要とされる。そうした技術開 発と普及促進のためには、半導体技術を駆使した CPU とグラフィックス LSI の更 なる高性能化・小型化が重要となる。ここ数年3次元グラフィックスLSI は性能向 上に関して飛躍的な進歩を遂げた。しかしながら、これら3次元グラフィックス LSI では、主として、画素単位の描画処理を行うレンダリング性能の向上が行われ、ポ リゴンの頂点単位の処理を行うジオメトリ処理はCPUの処理性能に依存してきた。
CPUの性能は半導体技術の進歩に合わせて、ムーアの法則に沿って改善されてい くと考えられてきたが、システムの機能の高度化が CPU 性能の向上を上回る勢い
で進んでいる。3次元グラフィックス応用システム機能の高度化は、CPU にジオメ トリ処理以外の非常に多くの複雑なタスク処理を要求し、CPUによるジオメトリ処 理がシステム性能のボトルネックになると考えられている[33] [34]。今後の高機能 システムにとって、ジオメトリ処理 LSIの高性能化が重要になりつつある。
これまでに発表されているジオメトリ処理LSIは2つのカテゴリーに分類できる。
一方はハードワイヤードアプローチであり、他方はプログラマブルアプローチであ る。ハードワイヤード方式の LSIは、処理回路の並列度を上げることにより処理能 力を 改善するこ とを目指し ている[35] [36][37]。 しかし、デ ファクトス タンダー ド の3次元グラフィックス API である OpenGL が市場からの高機能化要求に応える べく、扱う処理モードの拡張・見直しを継続しており、こうした機能拡張に柔軟に 対応可能なプログラマブル方式 LSIの高性能化が望まれている[28]。グラフィック スLSI の技術進歩は止まるところを知らず、LSI製造技術の進歩と相まって、今後 の 3次元 グラ フィッ クス の応用 分野 は、ハ イエ ンド PC、 高性能 ゲー ム機、 携帯ゲ ーム機、携帯電話や PDA に止まらず、情報家電製品などのより身近な用途に広が りつつあり、その動きを支える基盤技術として、多様な機能要求に柔軟に対応でき るプログラマブル方式ジオメトリ処理LSIの高性能化に向けたアーキテクチャ手法 の開発が課題である。
以上の画像認識処理LSIと3次元グラフィックス用ジオメトリ処理LSIにおける 課題を解決するために、機能面で柔軟性を持つプログラム制御方式の並列処理をベ ースとする新しいアーキテクチャを提案する。アーキテクチャ手法として、データ 転送機能、SIMD 型アーキテクチャの性能低下要因となる条件分岐処理により生じ る処理時間オーバーヘッドを低減するための条件分岐処理方式、さらに並列処理コ アとその結果を集約しLSIスループットを高めるための集約型後処理ユニットを結 合させるハイブリッドアーキテクチャを提案する。
上述の画像認識処理LSI や3次元グラフィックス LSIを含む ASIC(Application Specific IC ) は シ ス テ ム の 小 型 化 ・ 低 価 格 化 に 欠 か せ な い キ ー コ ン ポ ー ネ ン ト に なっている。半導体プロセス技術の進歩に伴い ASICの 集積度と速度性能は飛躍的 に向上し、システムのオン・チップ化が進行している。こうした ASICの大規模化・
高機能化は回路設計やテスト設計(テスト回路設計とテストパターン生成)の時間 を増大させつつある。回路設計時間は既存の設計資産を再利用するセルベース設計
(ビルディング・ブロック型スタンダード・セル)方式を使って短縮できる。セル ベース設計方式では乗算器、RAM、ROM 等の機能ユニット(セル)に関する設計 時に必要なデータ(論理図、レイアウトデータ)が予めライブラリ・データベース に登録されている。LSI 設計者は必要なセル及びそのセルの設計データをデータベ ースから取り出してASIC設計に使用し設計時間を短縮できる。
一方テスト設計の面から考えると、LSI のテストパターンは出荷段階での良否判 定基準となるものであり、故障検出率の高いテストパターンが望まれる。ところが
高故障検出率を持つテストパターンを人手で作成する場合、故障シミュレーション には膨大な時間を要する。また、ASIC が大 規模になるほど制御・観測に使える ピ ン数に対する素子数の比が増加しテストパターン生成がより困難となる。そこでテ ストパターン生成時間の短縮とテストパターン生成容易化のために、自動テストパ ターン生成プログラム及びテストパターン自動生成を考慮した特別な回路(テスト 容易化回路)が採用されている[38]。テスト容易化設計として、テスト時に LSI内 部のレジスタの状態を直接観測・制御できるようにするスキャン方式が広く採用さ
れている[39][40][41]。 その他 LSI内部にテストパターン生成機能と故障検出機能
を持たせる BIST(Built-in Self-Test)回路も研究されている[42][43][44]。 しか し、これらの方式は付加ゲート数の増加が多く、大規模システム LSIの面積にさら なる増加を引き起こし、通常動作時(非テスト時)の LSI動作速度の低下や故障の 見逃しといった問題がある[45]。 マルチメディア処理 LSIの高性能化を考える上で も設計効率向上とテスト容易化設計は重要である。特に、通常動作の速度性能に影 響を与えず付加回路量を少なくできるテスト容易化設計手法の開発が課題となって いる。
1.3. 本研究の目的
本論文は、1.2 節で明らかにしたマルチメディア処理 LSI の高性能化に向けた課 題を解決することを目的とする。マルチメディア処理 LSIの高性能化のための課題 への解決策として、機能柔軟性を持つプログラム制御方式の並列処理をベースとす る新しいアーキテクチャ手法を提案する。提案するアーキテクチャ手法は、大局的
(チップレベル)データ転送機能と局所的(演算ユニット内部)データ転送機能の 両面でのデータ転送手法、SIMD型アーキテクチャの性能低下要因となる条件分岐 処理により生じる処理時間オーバーヘッドを低減するための条件分岐処理方式、さ らに並列処理コアとその結果を集約しLSIスループットを高める集約型後処理ユニ ットを結合させるハイブリッドアーキテクチャを提案する。また、大規模な高性能 システム LSIの設計効率化のため、セルベース設計環境における効果的なテストパ ターン生成法としてデータベースを活用しテストパターンアセンブリという新しい 概念を導入したテストパターン生成法を提案するとともに、付加回路量が少なくか つ高性能LSIの通常動作速度に影響を与えないテスト容易化設計を提案する。更に、
上記提案手法をマルチメディア処理 LSIに適用し、それらの有効性を考察する。
1.4. 本論文の内容
第1章: 序論
本研究に関連する分野における歴史的背景と研究内容の概説,およびマルチメデ ィア処理 LSIとして画像認識処理 LSIと3次元処理 LSIの動向について述べる。
第2章: データ転送方式による高性能化
「データ転送方式による高性能化」では、マルチメディア処理 LSIの高性能化に 欠かせない効率的なデータ転送方式を提案する。
マルチメディア処理の基盤技術の一つである実時間画像認識処理では、これまで システムは画像処理アルゴリズム毎に専用化されたLSIを組み合わせて構築されて きた。こうしたシステムはアルゴリズムや処理シーケンスの変更に対し柔軟性が低 いという問題がある。柔軟性を高くするためにプログラム制御方式が適用されてい る。しかしプログラム制御では、命令制御による各種データの転送制御に多大な時 間を費やすため、LSI の動作周波数を高くしその時間を補償しなければならない。
したがって、プログラム制御による実現はシステムの性能と消費電力面で問題があ る。本章では、特に多量のデータを扱い、かつ処理内容に応じてデータへのアクセ ス方法が異なる実時間画像認識処理(画像前処理、特徴抽出処理、マッチング処理)
に対応しうるプログラム制御方式プロセッサアーキテクチャを得ることを目的とし て、特にデータ転送方式について検討を行いチップレベルと演算器レベルという2 階層で効率的なデータ転送方法を提案する。
チップレベルの大局的転送方式は、DMAC(Direct Memory Access Controller)、
階層化バス、マルチバンク構成データメモリとオーバーラップアドレッシング法か らなる共通プラットフォーム・アーキテクチャ上で、画像認識処理において必要と される多様なデータ転送形態を実現できることを示す。
演算器レベルの局所的転送方式として、画像認識処理アルゴリズムから演算器間 接続パスの使用頻度解析を行い、処理性能向上に有効な演算器間接続を明らかにす る。また、他のマルチメディア処理である3次元グラフィックス処理のひとつであ るジオメトリ処理で必要な累乗計算の高速化にも、局所的データ転送パスが、ハー ドウエア付加量を抑えながら、処理性能向上に寄与しうることを示す。
第3章: 分岐処理のロス削減による高性能化
「分岐処理のロス削減による高性能化」では、マルチメディア処理LSI の高性能 化に不可欠な条件分岐を伴う処理の高速処理方式を提案する。
画像処理、グラフィックス処理や画像圧縮処理はベクトル演算を多用する。ベク トル演算性能を向上するために一般的に用いられる方法はパイプライン処理である。
画像認識における特徴抽出処理、3次元グラフィックスにおけるジオメトリ(幾何 学演算)処理では、処理結果に基づく条件分岐処理が必要である。パイプライン方 式は連続的にデータ処理を続けるときに最小1クロックサイクルのスループットを 達成できるアーキテクチャである。しかし条件分岐処理がパイプライン化されたハ ードウエアへのデータの連続する流れを阻害し実効的な処理性能の低下を引き起こ す。条件分岐による性能低下を抑止する方法として、マルチ分岐制御、多数決分岐 制御と遠隔分岐制御という3種類の分岐制御方式を提案し、その有効性を考察する。
マルチ分岐制御はLSI 外部より与えられる制御コードを解析して Case 文に相当す る処理をハードウエアで実現する分岐制御方式である。多数決分岐制御は、並列演 処理ハードウエアを構成する演算ユニット(Processing Unit: 以後PUと略す)毎 の状態フラグに対して一種の多数決判断を導入し、分岐先選択を可能とするもので ある。遠隔分岐制御は、実時間処理が求められるアプリケーションであるプログラ ムシーケンスを繰り返す場合に、その繰り返し処理命令自身を繰り返し対象プログ ラム領域から離れたところに配置することを可能とし、繰り返し対象プログラム領 域に含まれる命令数を従来方式より削減減らすことを可能とする。
第4章: ハイブリッドアーキテクチャによる高性能化
「ハイブリッドアーキテクチャによる高性能化」では、汎用性を持った並列演算 コアと専用ハードウエアのハイブリッドアーキテクチャを提案する。
並列処理部と並列 PU出力を統合する集約型後処理方式を提案し、画像認識処理 においてその有効性を考察する。さらに、3次元グラフィックスのジオメトリ処理 の中でもプログラム制御による実現では処理オーバーヘッドが極めて大きく、その 処理の高速化が困難と考えられてきたクリップテストが、集約型後処理方式の考え 方を導入することにより効率よく処理しうることを考察する。
第5章: 高性能マルチメディア LSIの設計効率化
「高性能マルチメディア LSIの設計効率化」では、セルベース設計 LSI中に埋め 込まれたライブラリマクロセルやマルチメディア処理LSIに用いられる並列演算コ ア等のリピートマクロセルに対する、大規模 VLSI におけるテスト生成時間の指数 関数的増大に対処しうるテスト生成容易化手法を提案する。
提案手法は、テスト容易化回路設計とテストパターン自動編集方法に関するもので ある。テスト容易化回路として、クロック制御方式とバスドライバ回路を提案する。
これらテスト回路を用いることにより高性能 LSI の通常動作性能に影響を与えず、
さらに通常動作のために設けられている回路をテスト時にも有効活用でき付加回路 量を低減できる。テストパターン自動編集方法は、データベースを活用したテスト パターンアセンブリという新しい概念を導入したものであり、LSI に埋め込まれた マクロセルの高故障検出率テストパターンを故障シミュレーションを行うことなく 生成できることを示す。
繰り返し用いられるマクロセルがLSIに組み込まれた状態でのテストパターン生 成は LSI規模の増大するにつれて膨大な時間を要する。この問題に対して、他の各 種設計情報と同じくデータベース化した当該マクロセル単体テストパターンを使い、
LSIの外部端子から LSIに埋め込まれたマクロセルの入出力端子に至る信号伝播経 路を探索し、その経路を活性化する手順(アクセスシーケンス)に基づいてセル単 体テストパターンをLSIレベルテストパターンに自動編集する方法を提案する。こ の方法はテスト容易化設計に自由度を許容でき、上述の高性能 LSIの性能に影響を 与えず付加回路量を減らすテスト容易化設計と組み合わせることができる。
第6章: 試作 LSIの評価結果
本章では、第2章、第3章、第4章で提案したアーキテクチャ手法を導入したマ ルチメディア処理 LSIについて述べ、それぞれの LSIの試作結果および評価結果に つ い て 考 察 す る 。 さ ら に 、 第 5 章 で 提 案 し た テ ス ト 容 易 化 手 法 を ビ デ オ 信 号 処 理 DSPに適用した結果について考察する。
第7章: 結論
本研究で得られた,マルチメディア処理LSIのアーキテクチャ手法、設計効率化 技術とそれらの実現結果について総括し、今後の課題について述べる。
「マルチメディア処理 LSI の高性能化に関する研究」
第1章
第2章
第3章
第4章 第5章
第6章
マルチメディア処理 LSIの高性能化実現上の課題
設計効率化 高性能化
「データ転送方式による高性能化」
・ 大 局 的 転 送 方 式 ( チ ッ プ レ ベ ル )
・ 局 所 的 転 送 方 式 ( 演 算 器 レ ベ ル )
「分岐処理のロス削減による高性能化」
・ マ ル チ 分 岐 制 御 方 式
・ 多 数 決 分 岐 制 御 方 式
・ 遠 隔 分 岐 制 御 方 式
「ハイブリッドアーキテクチャによる 高性能化」
・ 集 約 型 後 処 理 方 式 − リ ン ケ ー ジ ユ ニ ッ ト
− ク リ ッ プ テ ス ト 回 路
「 高 性 能 マ ル チ メ デ ィ ア LSI の設計効率化」
・ テ ス ト 容 易 化 回 路
・ 組 み 込 み マ ク ロ セ ル 用 テ ス ト パ タ ー ン 自 動 編 集 手 法
・ ジオメトリ処理 LSI(GE1)による高性能化の検証
・ 画像認識 LSI(IRE) による高性能化の検証
・ ビデオ信号処理 DSP(DISP)による高性能化と設計効率化の検証 第7章
結論
参考文献
[1] 日経エレクトロニクス、“21 世紀へ、始動するマルチメディア”、No.471、
1989.4.17、pp.121-146(1989).
[2] 富永英義、“マルチメディア時代の画像入力技術(総論)”、テレビジョン学 会誌 Vol.44、No.11、pp.1481−1485 (1990).
[3] J. FLANAGAN, “Technologies for Multimedia Information Systems”、
電 子 情 報 通 信 学 会 論 文 誌 、D-II、Vol.J75-D-II、No.2、pp.164-178 (1992 年 2月).
[4] 安 田 浩 、“ 画 像 処 理 LSI の 今 後 の 展 望 ”、 テ レ ビ ジ ョ ン 学 会 誌 、 Vol.40、
No.12 (1986).
[5] 河合浩行、“グラフィックス LSI”、2004半導体テクノロジー大全、pp.55-58 (2004).
[6] H. Kawai, Y. Inoue, R. Streitenberger and M. Yoshimoto, “A Highly Parallel DSP Architecture for Image Recognition,” IEICE TRANS.
FUNDAMENTALS, VOL.E78-A, NO.8, pp.963-970 (Aug. 1995).
[7] K. Inoue, H. Nakamura, H. Kawai,“A 10Mb Frame Buffer Memory with Z-Compare and A-Blend Units,”IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL.30, NO.12, pp.1563-1568 (Dec. 1995).
[8] K. Inoue, H. Nakamura, H. Kawai, T, Tani, Y. Sakemi, H. Matsuoka, M.Ishikawa, J.Matsumoto, K.Yamamoto, K.Takahashi, M.Yamawaki, E.
Yokomoto, C.A. Hart, J. Lin, K. Ishihara, K. Shimotori, " A 10Mb 3D frame buffer memory with Z-compare and A-bend units," 1995 ISSCC Digest of Technical Papers, pp.302-303 (Feb. 1995).
[9] 日 経 BP NIKKEI ELECTRONICS、“ シ ン グ ル コ ア よ り マ ル チ コ ア ”、
2004.8.30、pp.97-131 (2004年 8月).
[10] T. Sakurai, “Perspectives on Power-Aware Electronics,” 2003 ISSCC Digest of Technical Papers, pp.26-29 (2003).
[11] 日経 BP NIKKEI MICRODEVICES、“LSI メーカーの緊急課題 熱を 制する“、No.225、pp.21-43 (March 2004).
[12] 松本 、他、“画 像処理分野 をねらった データフロ ー型プロセ ッ サ LSI”、 日 経エレクトロニクス 1984.4.9、pp.181-218、(1984).
[13] Kanuma A. et al., ”A 20MHz 32b Pipelined CMOS Image Processor,”
1986 ISSCC Digest of Technical Papers, pp.102-103 (1986).
[14] Mori T., et al., “A Micro-Programmable Real-time Image Processor,”
1986 ISSCC Digest of Technical Papers、pp.144-145(1986).
[15] Aono K., et al.,“Implementation of a Bipolar Real-time Image Signal
Processor RISP-II,” IEEE Journal of Solid State Circuits, Vol.22、No.3, pp.403-408(1987).
[16] K. Asada et al., ”A BiCMOS Image Signal Processor with Line Memories,” 1987 ISSCC Digest of Technical Papers, THPM 15.2(Feb.
1987).
[17] J. Norsworthy, David M. Pfeiffer, Michael K. Corry, Jay A. Thompson, “A Parallel Image Processor Chip,” 1988 ISSCC Digest of Technical Papers, pp.158-159(1988).
[18] Maruyama, M., Nakahira, H., Araki, T., Sakiyama, S., Kitao, Y., Aono, K.
and Yamada, H., ”A 200MIPS Image Signal Multiprocessor on a Single Chip,” 1990 ISSCC Digest of Technical Papers, pp.122−123 (Feb. 1990).
[19] 亀山正俊 、河合浩行 、藤本仁志 、児玉幸夫 、岩崎建樹 、”携帯端末用”Z3D”
グラフィックスエンジン”、三菱電機技報、Vol.76、No.8、pp.29-32 (2002 年 8月).
[20] M. Kameyama, Y. Kato, H. Fujimoto, H. Negishi, Y. Kodama, Y. Inoue, H.
Kawai, "3D Graphics LSI Core for Mobile Phone "Z3D"," Graphics Hardware 2003, ACM SIGGRAPH / Eurographics Workshop Proceedings, pp.60-67 (July 2003).
[21] 亀山正俊、大西宏、加藤義幸、河合浩行、児玉幸夫、“携帯用 3D-LSIコア
Z3D(1) −ハードウェアアーキテクチャ−”、電子情報通信学会 2003 年総
合大会、D-11-122 (2003年3月).
[22] 河合浩行、小原淳子、井上善嗣、根岸博康、亀山正俊、"携帯用 3D-LSIコ ア Z3D(2) −ジオメトリエンジン−"、電子情報通信学会2003 年総合大会、
D-11-123 (2003年3月).
[23] 賀 好 宣 捷 、“ 画 像 処 理 技 術 の 動 向 ”、 シ ャ ー プ 技 報 、 第 34 号 、pp.15-21 (1986).
[24] P. Ruetz and R. Brodersen,"A realtime image processing chip set," IEEE ISSCC Dig. Tech. Papers, pp.148-149 (Feb. 1986).
[25] K. Aono, M. Maruyama, T. Mori, H. Yamada, and K. Hataya, "A Realtime Image Signal Processor (version II) with Micro-programmable and Expandable Architecture," in Proc. Of ESSCIRC'86, pp.98‐100 ( Sept.
1986).
[26] T. Oto, K. Kitagami, T. demura, Y. Araki, and T. Takada, "A NEW DSP ARCHITECTURE SUITED OR IMAGE ANALYSIS," Proc. of IEEE ICASSP'91, pp.1181-1184 (1991).
[27] T. Fukushima, Y. Kobayashi, and T. Bandoh, "An image signal processor," in IEEE ISSCC Dig. Tech. Papers, pp.258-259 (Feb. 1983).
[28] 亀山正俊、根岸博康、中村尚、笹田達義、河合浩行、“三次元グラフィック ス 技 術 と 3D チ ッ プ セ ッ ト へ の 応 用 ”、 三 菱 電 機 技 報 、Vol.72、No.9、 pp.10-13 (1998年 9月).
[29] 脇本欣吾、笹田達義、河合浩行、根岸博康、松岡秀人、"第二世代3次元グ ラフィックスチップセット"、 三菱電機技報、Vol.72 No.3、pp.20-23 (1998 年 3月).
[30] J.D. Foley, A. van Dam, S.K. Feiner, and J.F. Hughes, "Computer Graphics Principles and Practice," Second Edition, Addison-Wesley Publishing Company (1990).
[31] OpenGL Architecture Review Board, "OpenGL Programming Manual,"
The Official Guide to Learning OpenGL, Release 1, Addison-Wesley (1993).
[32] 中 村 尚 、 井 上 一 成 、 河 合 浩 行 "三 次 元 グ ラ フ ィ ッ ク ス 用 フ レ ー ム バ ッ フ ア メモリ(3D-RAM)"、三菱電機技報、Vol.69、No.3、pp.292-296 (1995年 3月).
[33] N. Trevett, " A 3D Geometry and Lighting Processor for the PC,"
Symposium Record, Hot Chips IX, pp. 235-246 (Aug. 1997).
[34] M. Awaga, "3D graphics geometry processor for PC," IEICE Trans.
ELECTRON, Vol. E81-C, No. 5, pp. 733-736 (May 1998).
[35] N.Trevett, "GLINT Gamma3: A High-Performance Geometry Accelerator," 11th MICROPROCESSOR FORUM, 3D Graphics Accelerator Session, pp. 1-10 (0ct. 1998).
[36] V. Eerola, "Pyramid3D Real-time Graphics Processor," Symposium Record, Hot Chips IX, pp. 253-264 (Aug. 1997).
[37] H. Suzuki, H. Kawai, H. Makino and Y. Matsuda, “Novel VLIW Code Compaction Method for a 3D Geometry Processor," IEICE TRANS.
FUNDAMENTALS, Vol.E84-A, No.11, pp.2885-2893 (Nov. 2001).
[38] M. Emori, T. Aikyo, Y. Machida, J. Shikatani, "ASIC CAD System Based on Hierarchical Design –for –Testability," Proc. IEEE ITC, pp.404-409 (1990).
[39] E.B. Eichelberger, T.W. Williams, "A Logic Design Structure for LSI Testing," Proc. 14th DAC, pp.462-468 (1977).
[40] A. Yamada et al., "Automatic System Level Test Generation and Fault Location for Large Digital Systems," Proc.15th DAC, pp.347-352 (1978).
[41] H. Ando, "Testing VLSI with Random Access Scan," COMPCON80, pp.50-52 (1980).
[42] A. Samad, M. Bell, "Automating ASIC Design for-Testability-the VLSI
Test Assistant," Proc. IEEE ITC 1989, pp.819-828 (1989).
[43] Mc Cluskey E.J. "Built-in Self-test Techniques," IEEE Design & Test, Vol.2, No.2, pp.21-28 (April 1985).
[44] 樹下行三、”VLSIのテスト容易化設計技術の研究動向”、情報処理、Vol.30、
No.12、pp.1451-1460 (1989).
[45] 岩崎一彦,畠山一実,宮本俊介、”テスト容易化設計技術の専用 VLSIへの 適用”、情報処理、Vol.30、No.12、pp.1479-1486 (1989).
第 2 章
データ転送方式による
高性能化
2.1. 緒言
本章では、マルチメディア処理LSI の高性能化に欠かせない効率的なデータ転送 方式を提案する。マルチメディア処理の一つである実時間画像認識処理は、外部入 力されるかもしくはメモリに格納された大量のデータを効率よく扱う必要がある。
これまでは画像処理機能毎に専用化されたLSIを組み合わせてシステムを構築して きた。こうしたシステムは、アルゴリズム変更や処理シーケンスの変更に対し、柔 軟性が低いという問題がある。システムの柔軟性を高くするにはプログラム制御方 式LSI が適している。命令制御による各種データの転送制御はオーバーヘッドが大 きくなるため、一般的にLSIの動作周波数を高くしその時間を補償している。した がって、これまでのプログラム制御方式アプローチはシステムの消費電力面で課題 を持っている。本章では、特に多量のデータを扱い、かつ処理内容に応じてデータ のハンドリング方法が異なる実時間画像認識処理(画像前処理、特徴抽出処理、マ ッチング処理)に対応しうるプログラム制御方式プロセッサアーキテクチャを得る ことを目的として、特にデータ転送方式について検討を行い、共通のプラットフォ ーム・アーキテクチャ上でチップレベルと演算器レベルという2階層で効率的なデ ータ転送方法を提案する。
チップレベルの大局的転送方式は、DMAC(Direct Memory Access Controller)、
階層化バス、マルチバンク構成データメモリと新しいオーバーラップアドレッシン グ方法を用いて共通プラットフォーム・アーキテクチャを構築することにより、画 像認識処理における多様なデータ転送形態を実現できることを示す。
演算器レベルの局所的転送方式として、画像認識処理アルゴリズムを用いて演算 器間接続パス使用頻度の定量的解析を行い、処理性能向上に有効な最適化された演 算器間接続を明らかにする。さらに、他のマルチメディア処理として、3次元グラ フィックス処理のひとつであるジオメトリ処理における累乗計算の高速化に対して、
局所的データ転送パスが、少ないハードウエア付加量で処理性能を向上するのに有 効であることを示す。
2.2. 画像認識処理 LSIの高性能化 [1]
2.2.1. 画像認識 LSI の概要
画像認識処理は、前処理、特徴抽出処理、マッチング処理からなり、各処理には 様々なアルゴリズムがある。従来の画像認識システムにおいては、専用 LSIによる 高速化あるいは DSP によるプログラマビリティの向上という 2 つのアプローチがと
られてきた[2] [3][4]。 前者は、主に実時間前処理に用いられ高速処理性能を有する が、種々のアルゴリズムに対する柔軟性に欠ける。そのために、システム機能が変 更された場合には、その都度 LSIおよびシステムボードの再設計に多大な時間とコ ストを要するという問題がある。また、後者は、アルゴリズムに対するフレキシビ リティを備えているが、SISD(Single Instruction stream Single Data stream)
型DSPの場合には、その処理性能は実時間前処理を行うには不十分である。今回、
多くの画像認識アルゴリズムに広く対応しかつ高い処理性能を実現しうるSIMD型 画像認識プロセッサLSI向けアーキテクチャの検討を行った。
2.2.2. 局所的データ転送方式 [5]
パイプライン処理は同一の処理を大量データに施す処理を含む画像認識処理の高 速化に有効である。複合演算処理は、演算器間に局所的データ転送パスを設け演算 器をパイプラインチェイン方式で動作させることにより、高いデータスループット を得ることができる。本節では、どのような複合演算機能が画像認識処理の高性能
表 2.1 サンプルプログラム
Category Function
5*5 smoothing filter Edge detection (Laplacian)
Edge detection ( Kirsch, binary image ) Edge detection ( Kisrch, gray scale image) Thinning ( Deuch )
Preprocessing
Density (of black pixels in a local region) Projection profile
Histogram Filet
Area
Local Direction Code (LDC) Peripheral (PHL)
Moment DCT (8*8)
Pattern matching (binary image) Pattern matching (gray scale image) Vector matching ( City-block ) Feature Extraction
Matching
Operation
Σaxb
Σa Σa Σa max, min
Σa Σa Σa Σaxb Σaxb Σa and b,
Sorting Σ|a-b|,
Sorting Σa
化 に 有 効 か に つ い て 検 討 を 行 っ た 。 こ の 検 討 は 、HDL(Hardware Description
Language)モデルと表 2.1に示した画像前処理、特徴抽出処理とマッチング処理か
らなる 17 種類のサンプルプログラムを使って行った。各サンプルプログラムで用 いられる主な演算を表 2.1 の Operation 欄 に示す。多くの複合演算機能の実装は、
LSI の面積増大につながり、消費電力増大、クロック周波数の低下を引き起こす。
そ の た め 、 ハ ー ド ウ エ ア で の 実 現 と ソ フ ト ウ エ ア で の 実 現 の 切 り 分 け の 最 適 化 が LSI のコスト性能比を高める上で重要である。本節では、LSI の性能を左右する演 算ユニットのアーキテクチャを決定するにあたり、複合演算機能が処理性能にどれ だけ寄与するかを定量的に解析し、ハードウエア実装すべき複合演算機能を決定す る。図 2.1に検討に用いた演算ユニットの構成を示す。演算器は画像処理 LSIに広 く搭載されている演算器を使用することとし、図 2.1 に示すように、算術論理演算
用(ALU)、乗算器(MPY)、ビット演算器(BMU)と累算器(AU)を持つことを
前提条件とした。局所パスの候補は、図2.1 示した a〜iの計 9個である。図 2.2は、
各 局 所 パ ス ご と に サ ン プ ル プ ロ グ ラ ム に よ る 使 用 頻 度 を ま と め た も の で あ る 。 図 2.2 に お いて、縦軸はパス使用頻度(最大値、平均値)であり、横軸はその局所 パ スを使ったサンプルプログラム数を示している。ここで、使用頻度とは、あるサン プルプログラム実行にかかる総サイクル数に対する各局所パスが活性化されたサイ クル数の比である。図2.2より パス aとパスbの使用頻度の最大値はともに97.6%
であり、これら2個のパスは高速処理実現に不可欠であることを示している。パス cとパスfはともに9種類のサンプルプログラムで使用されており、これらをハー
図 2.1 局所データパス候補
図2.2 局所データパス活性化頻度
表 2.2 複合処理機能
命令セット 機能
lrada llada ara subsr subsra subaba sacc andbc andbca enrbc enrbca mpyr mac
Logical right shift -and-accumulate Logical left shift -and-accumulate Arithmetic right shift-accumulate Subtract-square-arithmetic right shift
Subtract-square-arithmetic right shift-accumulate Subtract-absolute-accumulate
Set immediate data to WR And-"1"bit count
And-"1"bit count-accumulate Exnor-"1"bit count
Exnor-"1"bit count-accumulate Multiply-arithmetic right shift
Multiply-arithmetic right shift-accumulate
ドウエア化することは多くの画像処理アルゴリズムの高性能化にとって有効である。
パスg、パスhとパス iの使用頻度は低いため、専用パスは設けず S/Wで個別演算 命令を組み合わせて実現してもトータル性能への影響は少ない。パスdは、パス e とパス fの組み合わせで実現することとし削除した。以上の結果として、上記 a、b、
c、eと fの計5パスを備えた演算ユニットアーキテクチャは、画像認識処理(画像 前処理、特徴抽出処理、マッチング処理)の高性能化に最適化されたものである。
表 2.2 に、本演算ユニットアーキテクチャにおいて実行可能な13種類の複合処理 を定義し、対応する演算命令を示す。
2.2.3. 大局的データ転送方式 [5]
画像認識処理において必要とされるデータ転送機能は以下の4種類に分類できる。
1)局所画像切り出し
ラスタスキャン入力データから局所空間データを切り出す処理。
空間フィルタ処理など。
2)テーブル参照
ラベリング処理、ヒストグラム処理。
3)ブロードキャスト転送 マッチング処理など。
4)演算ユニット間データシフト 特徴抽出処理など。
局所画像切り出しとテーブル参照は、データメモリ(DM)と演算ユニット(PU)
間のデータ転送機能であり、ブロードキャスト転送とデータシフト転送は PU間デ ータ転送である。データシフトは、i番目の PUが{(i+n)MOD P}番目の PUか らの出力を受け取る機能である。ここでPは演算ユニットの並列数である。
共通のハードウエアプラットフォーム・アーキテクチャ上で上記1)から4)の データ転送機能を実現するために、階層化バス構造、ハイブリッドアドレシング・
ダイレクト・メモリアクセス制御、オーバーラップアドレシング機能付アドレス生 成ユニットとデータメモリのマルチバンク化を採用するアーキテクチャを以下に述 べる。
2.2.3.1. 階層化バス
図 2.3 SIMD型プロセッサ
図 2.3 に示すように、画像認識処理プロセッサにおけるバスとして、グローバルバ スとローカルバスの2レベルの階層化バス構成を採用する[6]。本例では SIMDコア 並列度は8とした。グローバルバスは、GPU0-7、GDM、GID と GDI0-7 で ある。
グローバルバスは、シフト転送、ブロードキャスト転送とDMAC(Direct Memory
Access)転送に寄与する。命令でシフト値nを指定することによって、 GPUバス
を経由して、i番目(0≦i≦7)のPU が{(i+n)MOD8}番目の PUの出力を受信でき る。GDM バスと GID バスはブロードキャスト転送に用いる。GDM バスは選択さ れたデータメモリから読み出されたデータをブロードキャストするためのデータバ スである。GID バスは即値データを転送するために用いる。GDI0-7バスは、8本 の DMA 転 送用バスであり、1対1に対応するデータメモリに外部入力データを転 送するために用いる。GDI0はさらに、データメモリ DM0にラスタスキャンデータ を転送するときにも使用する。各 PU 内のデータメモリと各演算器間のデータ転送 にはローカルバス(Aバス、B バスと Cバス)を設ける。A バスと Bバスは PU内 各演算器に対する演算入力データ転送用である。A バスと Bバスはセレクタを介し
てGPU、GID、GDMバスと対応するデータメモリ DMのいずれかに接続可能であ
る。Cバスは、対応するデータメモリ DMと直接接続され、演算結果の転送に使わ れる。これらローカルバス上のデータ転送は、グローバルバスを使うデータ転送と 独立に実行可能であり、SIMD コ アの並列処理性能を最大限に活かすためのシーム レスなデータ供給が可能である。
2.2.3.2. ダイレクト・メモリアクセス制御
外部メモリからデータメモリDMへのデータ転送は内蔵するダイレクト・メモリ アクセス(DMA)コントローラにより制御する[7]。DMAコントローラは独立した アドレスレジスタを内部/外部データメモリ用に備え、外部データメモリ I/F 部の DMA 専用ポートを経由してデータ転送を行なう。DMA 転送データは GDI バスを 介して内部データ・メモリに転送される。GDI0 はラスター・スキャン画像デー タ 転送用バスを兼ねる。DIバスはパラレル・データ転送用データ・バスである。DMA コントローラ内の DMA 制御レジスタにより DMA 転送開始指示及び使用する内部 バス選択を行なう。DMA 転送終了時、DMA 部はウエイト状態に入る。DMA コン トローラ内にある制御レジスタは転送終了後も前回設定された値を保持する。DMA コントローラは FIFOモードと非 FIFOモードという2通りの動作モードをサポー トする。DMA 制御レジスタに FIFO モードを設定することにより、ラスタ・スキ ャン画像データの転送/局所画像切り出しが行なえる。FIFOモード時、DMA転送 はデータメモリアドレス生成ユニット(AGU)のカーネル切り出し処理と同期して 動 作する よう にハー ドウ エアで 制御 される。DMA 転 送 は カーネル切 り出し処理 の 終 了 ま で ウ エ イ ト 状 態 に な り 次 の 転 送 を 行 な わ ず デ ー タ 上 書 き を 防 止 す る 。FIFO モードでは、内部データ転送には IMIバスが自動的に選択される。FIFO モードで はDMA制御レジスタのうち転送ワード数レジスタは無効となる。DMA制御レジス タに非 FIFOモードを設定することにより、8個のデータの同時転送が可能である。
こ のモー ドで は、DMA 転 送は命令 動作と独立 に行なわれ 、内部デー タバスとし て DI0-7 バ ス が 自 動 的 に 選 択 さ れ る 。 デ ー タ メ モ リ D M0− 7 の バ ン ク 分 割 と こ の 非 FIFOモード転送により SIMDコア部に効率良くデータを供給でき処理の高性能化 が可能となる。
2.2.3.3. オーバーラップアドレス生成ユニット
アドレス生成ユニット(AGU)は、3ユニット構成(AGUA、 AGUB、AGUC)
を採用し、2ソース/1ディスティネーションの3アドレスを同時に生成可能であ る。AGUB には、局所画像処理の高速化に有効な特殊なアドレシング機能として図
2.4 に 示 す新たに提案するオーバーラップアドレシング機能を付加している。こ の アドレシング機能では、AGUBの 生成するアドレス数が局所画像(カーネル)の水 平画素数と等しくなるまでベースアドレス値のインクリメント処理を行い、連続す るアドレスを生成する。AGUBが 生成する各カーネルの2番目の画素読み出しアド レス(図中1番目カーネルのアドレス1)が AR10n レジスタに保持されるように
AR10nレ ジスタは書き込み制御される。このAR10nレジスタに保持されているア
ドレスが次のカーネルの先頭画素読み出しアドレスとなる。AGUBのこのアドレス 生成機能は、DMA コ ントローラによりデータメモリ DM にデータを上書きするの を 禁止す るた めに、DMA コ ン トロ ーラの動作 と同期して 実行するよ う制御する 。 局所画像の切り出しは、このオーバーラップアドレシング機能によりソフトウエア の介在なしに連続的に行うことができる[7]。
Control Logic
+
1
Kernel-Size(=3) FIFO-Flag
2 1*
0
3 2*
1
4 3*
2
1st. Kernel 2nd. Kernel 3rd. Kernel
(* → ar10n) ar10n ar10
図 2.4 オーバーラップアドレシング
2.2.3.4. マルチバンクデータメモリ
データメモリDM0-7は各演算ユニットPUと接続されるローカルメモリであり、
対応する PUへの演算ソースの供給および演算結果の保持を行う。各 DMはシング ルポート SRAMを3バンク使い構成する。一般に画像処理システムでは、画像認識 処理プロセッサの外部 IO はボード上の配線容量の影響を受けて LSI 内部程高速動 作できない。したがって、外部データ入力時間間隔内に最低1注目画素分の処理を 行えれば、リアルタイムに画像前処理を行うことが可能となる。ここで導入するマ ルチバンク構成データメモリと DMA 転送の組み合わせは、SIMD 演算コアへの効 率的なデータ供給を可能とする。DMのアドレスには、図 2.3に示すように、AGU 出力(GAD0-2)、DMAアドレス(GDMA)、と演算器出力データが接続される。テ ーブル参照機能は、DM のアドレスとして演算器出力データを選択することで実現 できる。DM動作としてFIFO動作を選択した場合、GIDバスと隣接 DM出力が各 DMの入力ポートに接続され、DMを最大水平サイズが(ワード数/バンク x3バン ク)画素(例えば、512ワードx3バンク=1536画素)の大容量FIFOメモリとし て機能する。FIFOモードでは、隣接DMから読み出されたデータが DM(DM0を 除く)への書き込みデータに選択され、GDMA バスで指定される全 DM に共通の 書き込み先アドレスに書き込まれる。DM0 には GDI0バ ス経由で入力される外部入 力データが書き込みデータとなる。
2.2.3.5. 大局的データ転送
2.2.3.1〜2.2.3.4節で述べたアーキテクチャ手法を共通ハードウエア・プラットフ
ォームとすることにより、画像認識処理で必要となるチップレベルデータ転送形態 である、LSI レベルでの大局的なデータ転送機能である局所画像切り出し、テーブ ル参照、ブロードキャスト転送と PU 間データシフトが実現できることを以下に述 べる。
(1)局所画像切り出し
ラスタスキャン入力画像から局所画像を切り出す処理は、FIFO メモリと FIFO メモリから局所画像を構成する画素データを読み出す機能で実現できる。図2.5 は、
FIFOモードにおけるデータメモリ DM バンクへのアクセスシーケンスを具体的に 示したものである。また、図2.6 はFIFOモードにおける DM間の接続構成を示し ている。これらの図で、各 DMにある DDMレジスタは、AGUBにより特殊な命令 を使うことなく自動的に生成される連続アドレスを使い各DMのバンクAから読み 出されるデータ列の中心画素データをフェッチする。DDMレジスタに保持された
図2.5 FIFOモード時の DMバンク選択シーケンス
bank bank bank GDMA
GDI0
A B C
bank bank bank
A B C
bank bank bank
A B C
GAD1
to PU0 to PU1 to PU2
DM1 DM2 DM0
DDM0 DDM1 DDM2
図2.6 FIFOモード(局所画像切り出し)転送
データはローカルパスを経由して右隣りの DM に転送され、その DM のバンク B に書き込まれる。全てのDM0-7への書き込み動作は DMAコントローラの制御によ って命令動作と独立に実行され、DM0 にラスタスキャン入力データが書き込まれる のに同期して実行される。AGUB によるアドレス生成も、DMA コ ントローラによ る DM への上書きを防ぐために、DMA コ ントローラの動作に同期して行う。DM のバンク Aから1スキャンライン分の読み出しが終わると、次のラインデータを読 み出すために読み出し対象バンクはバンク Bに切り替えられる。同時に、書き込み 対象バンクはバンクCに切り替えられる。このデータ転送機能は、AGUB中のレジ スタ更新に命令によるアドレス更新処理を必要とせず、水平サイズ5画素の空間フ ィルタが、DMA転送の時間間隔(5サイクル)内に実行可能である。
(2)テーブル参照
本アーキテクチャにより、各 PUは参照テーブルに対するリード・モディファイ・
ライトを含むテーブル参照を実行できる。テーブル参照機能はDMのアドレスバス として演算ユニットの出力データを選択することにより可能となる。図 2.7 はテー ブル参照処理におけるデータフローを示している。リード・モディファイ・ライト 動作のために、演算ユニットの出力データはパイプライン遅延回路(PD)を介して DM の書き込みアドレスポートに接続され、PU からの書き込みデータとの待ち合 わせを行う。今回検討に用いた画像認識処理プロセッサでは、8個の異なったアド レスに対するテーブル参照処理が8並列 PUによって同時処理可能となり、ヒスト グラム処理などを大幅に高速化できる。
bank bank bank
A B C
DM0
Write Address
Read Address
bank bank bank
A B C
DM1
bank bank bank
A B C
DM2
PD: Pipeline Delay
PU0 PU1 PU2
PD PD PD
Read Address
Read Address Write
Address Write
Address
図 2.7 テーブル参照モード転送
bank bank bank
A B C
DM0
bank bank bank
A B C
DM1
bank bank bank
A B C
DM2
GDM-Bus
PU0 PU1 PU2
DDM0 DDM1 DDM2
図 2.8 ブロードキャストモード転送
(3)ブロードキャスト転送
図 2.8はブロードキャスト転送における DMとPU間のデータフローを示してい る。ブロードキャストされるデータは、DM からの読み出しデータか命令で与える 即値データのいずれかである。図 2.8 は、GDM バスを介したブロードキャスト転 送を示している。非 FIFOモードでは、各 DM 内にある DDMレジスタは常に PU の演算ソースの一方を保持する。本方式では、8個の DDMレジスタ中のいずれか のデータを命令により選択し、GDMバスを経由して全 PUに転送可能である。
(4)シフト転送
図 2.9 は、3個の PUのみが活性化された構成におけるシフト処理の概要を示し たものである。GPU0-2は、3系統の 16bit バスでありPU0-2間のデータシフト処 理用転送経路となる。シフト量nを持つ命令が発行されると、i番目の PUが、GPU バスを経由して、{(i+n)MOD3}番めの PUからの出力データを受信する。図2.9 は、n=1の場合を例示したものである。このシフト機能によって、通常 PU が並 列に動作する SIMDア ーキテクチャに PU間の横方向連携の自由度を付加でき、柔 軟なアーキテクチャとすることができる。
GPU0 GPU1 GPU2 Shift value
PU1 PU2
PU0
図 2.9 シフトモード転送
2.3. 3次元グラフィックス LSIの高性能化 2.3.1. 3次元グラフィックス LSIの概要
3次元グラフィックス処理LSIの開発が盛んに行われているが、システム性能の 向上を考える上で CPU の処理負荷を軽減することが重要な課題となっている。3 次元グラフィックス処理の中で CPU にとって大きな負荷となっているジオメトリ 処理を実行するジオメトリ処理LSI に対する要求が高まっている。ジオメトリ処理 には、座標変換、光源計算、クリッピング処理と投影処理等が含まれる。ジオメト リ処理の入力データは描画オブジェクトを構成する頂点毎の座標値および色データ などであり、座標要素データおよび色要素データに対する処理はそれぞれ同一とな る場合が多くあり、SIMD型アーキテクチャによる並列処理が適している。しかし、
光源計算処理では累乗演算という特殊な演算が必要であるなど、単に汎用的な演算 器を組み合わせた SIMD型アーキテクチャ導入だけでは、ジオメトリ処理の高性能 化にとって不十分である。本節では、高性能なジオメトリ処理 LSI実現に向けたア ーキテクチャ技術として、演算ユニット内部の局所的なデータ転送方式による3次 元グラフィックス特有の複雑な演算処理を高性能化する手法を提案する。
2.3.2. 局所的データ転送方式 [8]
ジオメトリ処理において、描画するオブジェクト表面が光源からの光によってど