chapter11 4 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Chapter11- 4( 前半 ) PowerPoint Presentation
Download Presentation
Chapter11- 4( 前半 )

Loading in 2 Seconds...

play fullscreen
1 / 22

Chapter11- 4( 前半 ) - PowerPoint PPT Presentation


  • 127 Views
  • Uploaded on

Chapter11- 4( 前半 ). 6311627 加藤健. 4章. システムレベル で の パイプラインの作り方. システムレベルでのパイプラインの作り方. エッジ検出アルゴリズムでの先読み → → → →. バイトバッファ配列へのアクセスが必要. パフォーマンスが低下. パイプラインレベルで の 並列 処理 を行う. 劇的にフィルタの実効 スループットが向上. システムレベル で のパイプライン の作り方. イメージフィルタアルゴリズムをサブプロセスへ分割. フィルタの複雑さが軽減 アルゴリズムのパフォーマンスが改善.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Chapter11- 4( 前半 )' - lee-rocha


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
chapter11 4

Chapter11-4(前半)

6311627

加藤健

slide2
4章

システムレベルでの

パイプラインの作り方

slide3
システムレベルでのパイプラインの作り方

エッジ検出アルゴリズムでの先読み

バイトバッファ配列へのアクセスが必要

パフォーマンスが低下

パイプラインレベルでの並列処理を行う

劇的にフィルタの実効スループットが向上

slide4
システムレベルでのパイプラインの作り方
  • イメージフィルタアルゴリズムをサブプロセスへ分割
  • フィルタの複雑さが軽減
  • アルゴリズムのパフォーマンスが改善
slide5
システムレベルでのパイプラインの作り方
  • パイプラインの動作は7章で説明したものと

ほぼ同様(今回は高レベル)

  • パイプラインはプログラマにより設計される

(コンパイラにより自動的に生成されない)

slide6
システムレベルでのパイプラインの作り方
  • エッジ検出の実装には各ピクセルを処理するために3×3のウインドウが必要
  • 本書のアルゴリズムでは、上流のプロセスが3つのストリームとしてウインドウを生成

バイトバッファとそれに対応する

循環バッファのオーバーヘッドが不要に

slide7
システムレベルでのパイプラインの作り方
  • 画像データをco_memory_readblockを使用してイメージバッファからロード。その後co_stream_writeを使用して24ビットのピクセルのストリームに変換
  • ジェネレータによりウインドウの各列を表すストリームを生成する。
slide8
システムレベルでのパイプラインの作り方
  • 3つのピクセルデータは中央のピクセルの値を計算するために使われる。

 この値はco_stream_writeからストリーミングされる

4.co_stream_readを使用して結果のピクセルデータを呼び出し、co_memory_writeblockを使用して新しいイメージバッファに格納

slide9
システムレベルでのパイプラインの作り方

4つのプロセスはパイプラインにより並列で動作

リアルタイム動画処理に十分な速さを実現

2クロックサイクルの速度で

処理されたピクセルを生成可能

slide10
DMAの入力プロセス
  • これまでのアルゴリズムでは入出力画像が

保存されているかを無視していた

  • 実際は、外部RAMやハードウェアインターフェイスを介して入出力される
  • Impulse C は大量のデータを移動するための

ストリームと、共有メモリのメカニズムを提供している

slide11
DMAの入力プロセス
  • これまでの例ではストリームを使用
  • 選択決定の要因はプラットフォーム固有
  • 留意する点は4つ

特定のアプリケーションでは

共有メモリを使用するとパフォーマンスが向上

slide12
DMAの入力プロセス
  • 各ストリームの処理に何サイクル必要か
  • プロセッサが転送に関わっているかとCPUとバスの組み合わせに依存
  • バスがストリーム上でデータを受信する際、ポーリングすると、大幅なオーバーヘッドが発生
slide13
DMAの入力プロセス
  • メモリ転送のために何サイクル必要か
  • 1と同様に使用されているメモリとバスのアーキテクチャに依存している
slide14
DMAの入力プロセス

3-1.CPUがキャッシュを持っているか

3-2. そのデータはキャッシュに存在するか

slide15
DMAの入力プロセス

4.Impulse Cのハードウェアのプロセスと

同じバス上のメモリか

  • そうであるなら、CPUへのアクセス競合をおこし、パフォーマンスが低下する
slide16
DMAの入力プロセス
  • 4章においてベンチマークの例を用いてこれらの問題について議論した
  • 今回はストリーミングデータを用いるアプローチと共有メモリを用いるアプローチの比較実験のためにNiosⅡが埋め込まれたAlteraのStratix FPGAを使用
slide17
DMAの入力プロセス
  • NiosⅡが埋め込まれたAlteraのStratixFPGAはストリームよりもDMA転送を使用したほうが効率的なFPGA
  • 他のプラットフォームにおいてXilinxのMicroBlazeプロセッサとFSLバスを使用するとDMA転送より高速なパフォーマンスになることもある
slide18
DMAの入力プロセス
  • DMAを用いた共有メモリとのアクセスはハードウェアが転送中、別の処理を行うと転送がブロックされる欠点がある
  • 画像データを読み込み、データストリームから送信することがパイプラインの第一プロセス

データ転送が計算とオーバーラップできるように

共有メモリ操作を処理するためのプロセスを含む必要がある

slide19
DMAの入力プロセス
  • 図11‐9からわかること
  • to_streamプロセスは
  • co_signal go
  • co_memoryimgmem
  • co_streamoutput_stream

の3要素を持つ

slide20
DMAの入力プロセス

2. プロセス実行機能では、それぞれ

  • co_memory_readblock関数は共有メモリからのピクセルデータの読み取り
  • co_stream_write関数は出力ストリームへの書き込みを行う
  • co_signalはCPUと同期し、画像メモリの処理準備ができているかを確認

 を行っている。

slide21
DMAの入力プロセス

3.

  • 24bitのデータを受け入れるように設計されているため16bitのピクセルデータを受理する
  • 画像データは16bit符合なし整数として格納するが32bitのメモリが使用されている
  • DMAは配列に1つずつ要素を転送することで、倍のバストランザクションを必要とする
slide22
DMAの入力プロセス
  • これらのプロセスは多くの種類の入力ソースと共に使用できるように変更する、あるいは手製のハードウェアブロックに置き換えることが可能