JP2011118752A - コンパイル装置 - Google Patents
コンパイル装置 Download PDFInfo
- Publication number
- JP2011118752A JP2011118752A JP2009276672A JP2009276672A JP2011118752A JP 2011118752 A JP2011118752 A JP 2011118752A JP 2009276672 A JP2009276672 A JP 2009276672A JP 2009276672 A JP2009276672 A JP 2009276672A JP 2011118752 A JP2011118752 A JP 2011118752A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- pixel position
- unit
- processing task
- frame memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 237
- 230000015654 memory Effects 0.000 claims abstract description 173
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 9
- 238000011161 development Methods 0.000 abstract description 7
- 230000001934 delay Effects 0.000 abstract 2
- 238000000034 method Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 13
- 230000002950 deficient Effects 0.000 description 10
- 238000012937 correction Methods 0.000 description 9
- 230000010365 information processing Effects 0.000 description 5
- 238000003705 background correction Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/445—Exploiting fine grain parallelism, i.e. parallelism at instruction level
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】コンパイル装置1は、ソースファイル107に記述されている複数の処理タスク21a〜21d間の処理遅延量を各処理タスク21a〜21dが処理する各画素の処理状態に応じて算出する処理遅延量解析部16と、各処理タスク21a〜21dの読み込み先のフレームメモリのアクセス範囲に基づいて、各処理タスク21a〜21d毎に必要となるラインメモリのサイズを算出するラインメモリ量判定部17とを有する。そして、コンパイル装置1は、処理遅延量及び必要となるラインメモリのサイズに基づいて、複数の処理タスク21a〜21dをパイプライン実行可能な命令コードに変換するパイプライン化部18を有する。
【選択図】図2
Description
(第1の実施の形態)
まず、図1に基づき、本実施の形態に係る情報処理システムの構成を説明する。図1は、本発明の第1の実施の形態に係る情報処理システムの構成を示すブロック図である。
具体的には、画素位置解析/付加部15は、出次数が0のノードをノードxとし、ノードxに入力されるエッジをエッジαとし、エッジαを出力しているノードをノードyとし、ノードx、エッジα及びノードyに対し、図6に示す処理を行う。即ち、図5の例では、フレームメモリ22eがノードx、エッジ23jがエッジα、処理タスク21dがノードyとなる。
なお、図10のフローチャートでは、2つの処理タスクをパイプライン実行する場合について説明したが、3つ以上の処理タスクをパイプライン実行するようにしてもよい。この場合、3つ以上の処理タスクの実行をステップS21とステップS24の間に入れるように図10のフローチャートを変更すればよい。
そして、パイプライン化部18は、各処理タスクがフレームメモリへ書き込むデータアクセスを、確保した対応するラインメモリに対し行うようにストア先アドレスを変更する。
次に、第2の実施の形態について説明する。第2の実施の形態では、第1の実施の形態のコンパイル装置1によって得られる各処理タスクの実行内容のみを含む命令列、処理遅延量及び必要なラインメモリのサイズを受け取り、処理を実行する画像処理プロセッサについて説明する。
図11に示すように、画像処理プロセッサ31は、画像入力ユニット41と、命令メモリ42と、相対位置レジスタ43と、命令フェッチ/デコードユニット44と、メモリアクセスユニット45と、データメモリ46と、演算器47とを有する。また、画像入力ユニット41は、画像入力位置カウンタ48を有する。命令フェッチ/デコードユニット44は、画素位置計算ユニット49と、命令デコーダ50とを有する。
Claims (5)
- フレームメモリを用いるように記述されたソースプログラムをコンパイルするコンパイル装置であって、
前記ソースプログラム内の複数の処理タスク間の処理遅延量を、各処理タスクが処理する各画素の処理状態に応じて算出する処理遅延量算出部と、
前記各処理タスクの読み込み先のフレームメモリのアクセス範囲に基づいて、前記各処理タスク毎に必要となるラインメモリのサイズを算出するラインメモリ量算出部と、
前記処理遅延量及び前記必要となるラインメモリのサイズに基づいて、前記複数の処理タスクをパイプライン実行可能な命令コードに変換する命令コード変換部と、
を有することを特徴とするコンパイル装置。 - 前記複数のフレームメモリに対する前記複数の処理タスクのアクセス状態に基づいて、前記複数の処理タスクのノードと、前記複数のフレームメモリのノードとを有向のエッジで接続した有向グラフを生成する有向グラフ生成部を有することを特徴とする請求項1に記載のコンパイル装置。
- 前記複数の処理タスクが、読み込み先のフレームメモリに対し、ある周期でアクセスするアクセス範囲を抽出するアクセス範囲抽出部と、
前記アクセス範囲抽出部が抽出した前記アクセス範囲を対応する前記有向のエッジのラベルに付加するアクセス範囲付加部と、
を有することを特徴とする請求項2に記載のコンパイル装置。 - パイプライン実行する際に、最も遅れて実行される処理タスク、あるいは、最も遅れて書き込まれるフレームメモリを基準ノードに決定し、決定した前記基準ノードに基準となる画素位置の情報を設定する基準ノード決定部と、
前記基準ノード決定部で設定された前記基準となる画素位置の情報に基づいて、各フレームメモリに書き込まれるデータの画素位置の情報及び各処理タスクが処理を実行する画素位置の情報を算出し、それぞれ対応するフレームメモリ及び処理タスクに前記画素位置の情報を付加する画素位置算出付加部と、
を有することを特徴とする請求項3に記載のコンパイル装置。 - 前記処理遅延量算出部は、前記複数の処理タスクのそれぞれに付加された前記画素位置の情報の差分を算出することにより、前記複数の処理タスク間の前記処理遅延量を算出することを特徴とする請求項4に記載のコンパイル装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009276672A JP5185242B2 (ja) | 2009-12-04 | 2009-12-04 | コンパイル装置 |
US12/876,599 US8413123B2 (en) | 2009-12-04 | 2010-09-07 | Compiling device and compiling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009276672A JP5185242B2 (ja) | 2009-12-04 | 2009-12-04 | コンパイル装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011118752A true JP2011118752A (ja) | 2011-06-16 |
JP5185242B2 JP5185242B2 (ja) | 2013-04-17 |
Family
ID=44083284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009276672A Expired - Fee Related JP5185242B2 (ja) | 2009-12-04 | 2009-12-04 | コンパイル装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8413123B2 (ja) |
JP (1) | JP5185242B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018512633A (ja) * | 2015-01-22 | 2018-05-17 | グーグル エルエルシー | 画像信号プロセッサのための仮想ラインバッファ |
US10321077B2 (en) | 2015-04-23 | 2019-06-11 | Google Llc | Line buffer unit for image processor |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9921269B2 (en) * | 2010-12-20 | 2018-03-20 | King Yuan Electronics Co., Ltd. | Comparison device and method for comparing test pattern files of a wafer tester |
US9836053B2 (en) | 2015-01-04 | 2017-12-05 | Zero Zero Robotics Inc. | System and method for automated aerial system operation |
US10126745B2 (en) | 2015-01-04 | 2018-11-13 | Hangzhou Zero Zero Technology Co., Ltd. | System and method for automated aerial system operation |
WO2017187275A2 (en) | 2016-04-24 | 2017-11-02 | Hangzhou Zero Zero Technology Co., Ltd. | Aerial system propulsion assembly and method of use |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214801A (ja) * | 1993-01-18 | 1994-08-05 | Fujitsu Ltd | 自動並列化翻訳装置及び方法 |
JPH1139167A (ja) * | 1997-07-17 | 1999-02-12 | Matsushita Electric Ind Co Ltd | 機械語命令列またはアセンブリ言語命令列を最適化する最適化装置、及び、高級言語で記載されたソースプログラムを機械語またはアセンブリ言語の命令列に変換するコンパイラ |
JP2003216943A (ja) * | 2002-01-22 | 2003-07-31 | Toshiba Corp | 画像処理装置、この装置に用いられるコンパイラおよび画像処理方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991465A (en) * | 1996-08-29 | 1999-11-23 | Apple Computer, Inc. | Modular digital image processing via an image processing chain with modifiable parameter controls |
JP3896087B2 (ja) * | 2003-01-28 | 2007-03-22 | 松下電器産業株式会社 | コンパイラ装置およびコンパイル方法 |
JP4136825B2 (ja) * | 2003-08-08 | 2008-08-20 | キヤノン株式会社 | 画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム |
US7263532B2 (en) * | 2003-09-23 | 2007-08-28 | Microsoft Corporation | Region-based memory management for object-oriented programs |
US20050288928A1 (en) * | 2004-06-24 | 2005-12-29 | Vladimir Bergl | Memory efficient decoding graph compilation system and method |
JP4056511B2 (ja) | 2004-09-27 | 2008-03-05 | 富士通株式会社 | 画像処理装置 |
TWI281635B (en) * | 2005-01-14 | 2007-05-21 | Via Tech Inc | Image frame processing method |
US7694288B2 (en) * | 2005-10-24 | 2010-04-06 | Analog Devices, Inc. | Static single assignment form pattern matcher |
JP2007179165A (ja) * | 2005-12-27 | 2007-07-12 | Internatl Business Mach Corp <Ibm> | Uml設計モデルから、確率的な性能評価モデルを導出するコンピュータ・プログラムおよび確率的な性能評価モデルを導出する方法 |
US7787021B2 (en) * | 2006-10-30 | 2010-08-31 | Texas Instruments Incorporated | Programmable architecture for flexible camera image pipe processing |
ATE456837T1 (de) * | 2007-06-29 | 2010-02-15 | Ericsson Telefon Ab L M | Verschleierung von ausführungsspuren eines computerprogrammcodes |
JP5100611B2 (ja) | 2008-10-28 | 2012-12-19 | 株式会社東芝 | 画像処理装置 |
JP4901891B2 (ja) | 2008-11-05 | 2012-03-21 | 株式会社東芝 | 画像処理プロセッサ |
-
2009
- 2009-12-04 JP JP2009276672A patent/JP5185242B2/ja not_active Expired - Fee Related
-
2010
- 2010-09-07 US US12/876,599 patent/US8413123B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214801A (ja) * | 1993-01-18 | 1994-08-05 | Fujitsu Ltd | 自動並列化翻訳装置及び方法 |
JPH1139167A (ja) * | 1997-07-17 | 1999-02-12 | Matsushita Electric Ind Co Ltd | 機械語命令列またはアセンブリ言語命令列を最適化する最適化装置、及び、高級言語で記載されたソースプログラムを機械語またはアセンブリ言語の命令列に変換するコンパイラ |
JP2003216943A (ja) * | 2002-01-22 | 2003-07-31 | Toshiba Corp | 画像処理装置、この装置に用いられるコンパイラおよび画像処理方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018512633A (ja) * | 2015-01-22 | 2018-05-17 | グーグル エルエルシー | 画像信号プロセッサのための仮想ラインバッファ |
US10277833B2 (en) | 2015-01-22 | 2019-04-30 | Google Llc | Virtual linebuffers for image signal processors |
US10516833B2 (en) | 2015-01-22 | 2019-12-24 | Google Llc | Virtual linebuffers for image signal processors |
US10791284B2 (en) | 2015-01-22 | 2020-09-29 | Google Llc | Virtual linebuffers for image signal processors |
US10321077B2 (en) | 2015-04-23 | 2019-06-11 | Google Llc | Line buffer unit for image processor |
US10638073B2 (en) | 2015-04-23 | 2020-04-28 | Google Llc | Line buffer unit for image processor |
US11190718B2 (en) | 2015-04-23 | 2021-11-30 | Google Llc | Line buffer unit for image processor |
Also Published As
Publication number | Publication date |
---|---|
US8413123B2 (en) | 2013-04-02 |
JP5185242B2 (ja) | 2013-04-17 |
US20110138371A1 (en) | 2011-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5185242B2 (ja) | コンパイル装置 | |
CN107533751B (zh) | 用于图像处理器的线缓冲器单元 | |
CN107533750B (zh) | 虚拟图像处理器及在其上处理图像数据的方法和系统 | |
US20070261038A1 (en) | Code Translation and Pipeline Optimization | |
US9256408B2 (en) | Optimizing texture commands for graphics processing unit | |
JP4718901B2 (ja) | 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム | |
JP2007304840A (ja) | コンパイル方法、デバッグ方法、コンパイルプログラムおよびデバッグプログラム | |
JP2007183900A (ja) | ハイレベル言語のハードウェア記述言語への自動変換方法 | |
JP3938580B2 (ja) | 情報処理装置、情報処理方法、半導体装置、コンピュータプログラム | |
US20120284701A1 (en) | Efficient conditional flow control compilation | |
US20140365735A1 (en) | Computing apparatus, computing method, and computing program | |
KR20150035161A (ko) | 그래픽 처리 장치 및 이의 동작 방법 | |
JP5536593B2 (ja) | 最適化装置、最適化方法およびコンパイラ・プログラム | |
WO2020004098A1 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP3863544B1 (ja) | 演算処理装置及び演算処理方法 | |
US11842200B2 (en) | Multi-modal gather operation | |
JP2006331391A (ja) | データ処理装置及びデータ処理方法 | |
JP2008071314A (ja) | 組み込み用プログラム開発装置、及びプログラム自動生成方法 | |
JP2009181558A (ja) | プログラム変換装置 | |
JP2005322110A (ja) | プログラム変換装置及びプロセッサ | |
JP2011209859A (ja) | 情報処理装置 | |
JP5233354B2 (ja) | プロパティ検証システム、プロパティ検証方法、及びプログラム | |
WO2007131089A2 (en) | Code translation and pipeline optimization | |
JP5263498B2 (ja) | 信号処理プロセッサ及び半導体装置 | |
JP2007272672A (ja) | コンパイル最適化方法およびコンパイラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121220 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130117 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160125 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |