JP2020035471A - 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ - Google Patents
画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ Download PDFInfo
- Publication number
- JP2020035471A JP2020035471A JP2019197437A JP2019197437A JP2020035471A JP 2020035471 A JP2020035471 A JP 2020035471A JP 2019197437 A JP2019197437 A JP 2019197437A JP 2019197437 A JP2019197437 A JP 2019197437A JP 2020035471 A JP2020035471 A JP 2020035471A
- Authority
- JP
- Japan
- Prior art keywords
- array
- execution
- execution lane
- instructions
- data
- 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
- 230000015654 memory Effects 0.000 claims description 66
- 238000012545 processing Methods 0.000 claims description 33
- 238000003860 storage Methods 0.000 claims description 19
- 238000013461 design Methods 0.000 description 24
- 238000000034 method Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 12
- 125000001475 halogen functional group Chemical group 0.000 description 12
- 238000013459 approach Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000013019 agitation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000005574 cross-species transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8023—Two dimensional arrays, e.g. mesh, torus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3871—Asynchronous instruction pipeline, e.g. using handshake signals between stages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3888—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N3/00—Scanning details of television systems; Combination thereof with generation of supply voltages
- H04N3/10—Scanning details of television systems; Combination thereof with generation of supply voltages by means not exclusively optical-mechanical
- H04N3/14—Scanning details of television systems; Combination thereof with generation of supply voltages by means not exclusively optical-mechanical by means of electrically scanned solid-state devices
- H04N3/15—Scanning details of television systems; Combination thereof with generation of supply voltages by means not exclusively optical-mechanical by means of electrically scanned solid-state devices for picture signal generation
- H04N3/1575—Picture signal readout register, e.g. shift registers, interline shift registers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N3/00—Scanning details of television systems; Combination thereof with generation of supply voltages
- H04N3/10—Scanning details of television systems; Combination thereof with generation of supply voltages by means not exclusively optical-mechanical
- H04N3/14—Scanning details of television systems; Combination thereof with generation of supply voltages by means not exclusively optical-mechanical by means of electrically scanned solid-state devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
Description
本発明の分野は、一般に画像処理に関し、より詳細には、画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャに関する。
画像処理は、典型的には、アレイに編成されたピクセル値の処理を含む。ここで、空間的に編成された二次元アレイは、画像の二次元的性質を捕捉する(追加の次元は、時間(例えば二次元画像のシーケンス)およびデータタイプ(例えば色)を含み得る。典型的なケースでは、アレイ化されたピクセル値は、静止画像または動きの画像を捕捉するためにフレームのシーケンスを生成したカメラによって提供される。伝統的な画像プロセッサは、典型的には、2つの極端な側面のいずれかに分類される。
装置が記載される。装置は、命令をフェッチし発行するためのプログラムコントローラを含む。装置は、命令を実行するよう少なくとも1つの実行ユニットを有する実行レーンを含む。実行レーンは、二次元シフトレジスタアレイ構造に結合される実行レーンアレイの一部であり、実行レーンアレイの実行レーンは、それぞれのアレイ位置に位置し、二次元シフトレジスタアレイにおいてそれぞれの同じアレイ位置で専用レジスタに結合される。
以下の説明および添付の図面は、本発明の実施形態を例示するために使用される。
a.画像プロセッサハードウェアアーキテクチャおよび動作
図1は、ハードウェアで実現される画像プロセッサのためのアーキテクチャ100の実施形態を示す。画像プロセッサは、例えば、シミュレートされた環境内で仮想プロセッサ用に書かれたプログラムコードを、ハードウェアプロセッサによって実際に実行されるプログラムコードに変換するコンパイラによって対象とされてもよい。図4に示すように、アーキテクチャ100は、複数のラインバッファユニット101_1〜101_Mを含み、それらは、複数のステンシルプロセッサユニット102_1〜102_Nおよび対応するシート生成部ユニット103_1〜103_Nに、ネットワーク104(例えば、ネットワークオンチップ(NOC)(オンチップスイッチネットワーク、オンチップリングネットワークまたは他の種類のネットワークを含む))を介して相互接続される。一実施形態では、どのラインバッファユニットが、ネットワーク104を介してどのシート生成部および対応するステンシルプロセッサに接続してもよい。
のシートを対応するステンシルプロセッサに提示する。
タの広い帯域が存在する。以下でより詳細に説明するように、一実施形態では、ステンシルプロセッサは、データを、それらの重なり合うステンシル内で、左から右への態様で、画像データにわたって処理する(そして、次のラインのセットに対して、上から下の順序で繰り返す)。このように、ステンシルプロセッサがそれらの動作を前方に進めるにつれて、ベタ黒出力ピクセルブロックの数は、水平方向に右に成長する。上述したように、ラインバッファユニット101は、ステンシルプロセッサが今後の拡張された数のサイクルにわたって動作するのに十分な入来フレームからの入力画像データのライングループを解析することを担う。ライングループの例示的な図示は、陰影領域203として示されている。一実施形態では、ラインバッファユニット101は、ライングループをシート生成部との間で送受信するための異なるダイナミクスを理解することができる。例えば、「完全なグループ」と呼ばれる1つのモードによれば、画像データの完全な全幅のラインが、ラインバッファユニットとシート生成部との間で渡される。「仮想的に高い」と呼ばれる第2のモードによれば、ライングループは最初に全幅行のサブセットと共に渡される。その後、残りの行は、より小さい(全幅未満の)片で順番に渡される。
。重なりは、シート生成部が重なり合うデータを2回再送信することによって簡単に処理することができる。別の実現例では、次のシートをステンシルプロセッサに供給するために、シート生成部は、ステンシルプロセッサに新たなデータを送るだけに進んでもよく、ステンシルプロセッサは、前のシートからの重なり合うデータを再利用する。
図3aは、ステンシルプロセッサアーキテクチャ300の一実施形態を示す。図3aにおいて見られるように、ステンシルプロセッサは、データ計算ユニット301、スカラープロセッサ302および関連するメモリ303およびI/Oユニット304を含む。データ計算ユニット301は、実行レーンのアレイ305、二次元シフトアレイ構造306、およびアレイの特定の行または列に関連する別個のランダムアクセスメモリ307を含む。
ログラムコードおよびプログラムコントローラを含む)において実施されてもよい。
バッファユニットの動作またはスカラープロセッサによって発行されたコマンドをシート生成部が完了するのに要するサイクル数のプレランタイムの理解を妨げる他の変数に依存し得る。したがって、一実施形態では、スカラー命令351がシート生成部に発行されるべきコマンドに対応するか、さもなければコマンドをシート生成部に発行させるVLIWワードは、他の2つの命令フィールド352,353に無操作(NOOP)命令を含む。次に、プログラムコードは、シート生成部がデータ計算ユニットに対するそのロードまたはデータ計算ユニットからのその格納を完了するまで、命令フィールド352,353についてNOOP命令のループに入る。ここで、シート生成部にコマンドを発行すると、スカラープロセッサは、シート生成部がコマンドの完了時にリセットするインターロックレジスタのビットをセットしてもよい。NOOPループの間、スカラープロセッサはインターロックビットのビットを監視する。スカラープロセッサが、シート生成部がそのコマンドを完了したことを検出すると、通常の実行が再び開始される。
トレジスタアレイ406の外にあるピクセル値を処理することを必要とする場合、画像データの面は、ハロー領域409からランダムアクセスメモリ407にさらにこぼれ出ることができる。例えば、ハードウェアが実行レーンアレイの右端の実行レーンの右側にわずか4つの記憶素子のハロー領域を含む場合の6X6ステンシルを考える。この場合、ステンシルを完全に処理するために、データをハロー409の右端からさらに右側にシフトする必要があるであろう。ハロー領域409の外側にシフトされたデータは、ランダムアクセスメモリ407にこぼれ出る。ランダムアクセスメモリ407および図3のステンシルプロセッサの他の適用例を以下でさらに説明する。
のそれぞれのステンシルの上側の行を処理している。(左側に存在する場合には)実行レーンアレイの左側でハロー領域に、またはハロー領域が存在しない場合にはランダムアクセスメモリにこぼれ出ることは、実行レーンアレイの左側には存在しないことに注目されたい。
能にする。
U612,613チェーンを含む第2のものとを有するとして見ることができる。デュアルALUチェーン612,613は、単一の命令における2つの演算(例えば、単一の命令における2つのADD;単一の命令におけるADDと除算(DIV);単一の命令における減算(SUB)と絶対値(ABS)など)を有するより複雑な命令を可能にする。入力オペランドはレジスタから受け取り可能である。様々な実施形態は、オペコードに付加される即値オペランドの使用を含むことができる。出力結果はレジスタに書き込まれる。
図7aは、二次元レジスタアレイ構造の論理的(および潜在的には物理的な)設計の「トップダウン」図の一実施形態を示す。図7aの「トップダウン」図は、図6の単位セル設計の実施形態に本質的に従っており、特定のアレイ位置の各レジスタファイルが、その左、右、上および下の近隣の単位セル位置のレジスタファイルに結合されている。すなわち、例えば、図7aに見られるように、レジスタファイルAは、レジスタファイルB、C、DおよびEに結合される。
ているように、論理回路における配線のランレングスを横切るデータの変化は、「スイッチング動作」に対応し、これは電力を消費する。
図9は、実行レーンアレイ内の実行レーンが異なるデータビット幅を処理することを可能にするために使用される技術に関する。ここで、当技術分野で理解されているように、より大きなダイナミックレンジが、データ値のビット幅を増加させることによって達成される(16ビット値は、8ビット値より大きいダイナミックレンジで値を表現することができる)。一実施形態では、ステンシルプロセッサは、8、16、または32ビットピクセル値のような異なるビット幅を有する画像に対して動作することが期待される。したがって、1つのアプローチによれば、実行レーンそれら自体は、32ビットオペランドを内部で処理できるという意味で、32ビットマシンである。
を表すために2つのシートではなく4つのシートが作成される以外は、同じ原理が適用される。同様に、シフトシーケンスごとに4サイクルも消費する必要があり得る。
上述した様々な画像プロセッサアーキテクチャの特徴は、必ずしも従来の意味での画像処理に限定されず、したがって、画像プロセッサを再特徴付けしてもよい(またはしなくてもよい)他のアプリケーションに適用することができることを指摘することが適切である。例えば、実際のカメラ画像の処理とは対照的に、アニメーションの作成および/または生成および/またはレンダリングにおいて上述した様々な画像プロセッサアーキテクチャの特徴のいずれかが使用される場合、画像プロセッサはグラフィックス処理ユニットとして徳経づけられてもよい。さらに、上述した画像プロセッサアーキテクチャの特徴は、ビデオ処理、視覚処理、画像認識および/または機械学習などの他の技術的用途にも適用することができる。このように適用されて、画像プロセッサは、より汎用的なプロセッサ(例えば、コンピューティングシステムのCPUの一部であるか、またはその一部である)と(例えばコプロセッサとして)一体化されてもよく、またはコンピューティングシステム内のスタンドアロンプロセッサであってもよい。
からのデータを処理するハンドヘルド装置のシステムオンチップ(SOC)の一部として)コンピュータシステム上のハードウェアで実施できることを認識することに関係する。画像プロセッサがハードウェア回路として実施される場合、画像プロセッサによって処理される画像データはカメラから直接受信されてもよいことに留意されたい。ここで、画像プロセッサは、別体のカメラの一部であってもよいし、一体化されたカメラを有するコンピューティングシステムの一部であってもよい。後者の場合、画像データは、カメラから直接、またはコンピューティングシステムのシステムメモリから受信することができる(例えば、カメラは、その画像データを画像プロセッサではなくシステムメモリに送信する)。先のセクションで説明した機能の多くは、(アニメーションをレンダリングする)グラフィックスプロセッサユニットにも適用可能であることにも留意されたい。
クコーデック1113,1114の各々はすべて、適切な場合には、一体化された周辺装置(例えば1つ以上のカメラ1110)も含むコンピューティングシステム全体に対して様々な形態のI/O(入力および/または出力)として見ることができる。実現例によっては、これらのI/Oコンポーネントの様々なものは、アプリケーションプロセッサ/マルチコアプロセッサ1150上に統合されてもよく、またはアプリケーションプロセッサ/マルチコアプロセッサ1150のダイから離れて、またはそのパッケージ外に配置されてもよい。
Claims (28)
- 命令をフェッチし発行するためのプログラムコントローラと、
前記命令を実行するよう少なくとも1つの実行ユニットを有する実行レーンとを備え、前記実行レーンは、二次元シフトレジスタアレイ構造に結合される実行レーンアレイの一部であり、前記実行レーンアレイの実行レーンは、それぞれのアレイ位置に位置し、前記二次元シフトレジスタアレイにおいてそれぞれの同じアレイ位置で専用レジスタに結合される、装置。 - 前記実行レーンアレイの前記実行レーンおよび他の実行レーンは、SIMD方式で前記命令を受信および実行するよう、前記プログラムコントローラに結合される、請求項1に記載の装置。
- 前記実行レーンアレイの実行レーンはメモリユニットを含む、請求項2に記載の装置。
- 前記実行レーンアレイの実行レーンは、第2のALUに結合される出力を有する第1のALUを含む、請求項2に記載の装置。
- 前記命令は、VLIWフォーマットを有するより大きなデータ構造に含まれる、請求項2に記載の装置。
- 前記プログラムコントローラは、スカラープロセッサの一部であり、前記スカラープロセッサは、前記VLIWフォーマットを有するより大きなデータ構造に含まれるスカラー命令を実行する、請求項5に記載の装置。
- 前記スカラー命令は、前記実行レーンアレイの実行レーンにスカラー値をブロードキャストする命令を含む、請求項6に記載の装置。
- 前記スカラープロセッサは、それ自身の専用ランダムアクセスメモリに結合される、請求項6に記載の装置。
- 前記実行レーンアレイの異なる領域が異なるそれぞれのランダムアクセスメモリとともに割り当てられる、請求項1に記載の装置。
- 前記異なるランダムアクセスメモリは、前記二次元シフトレジスタアレイ構造から流出するレジスタ値を格納する、請求項9に記載の装置。
- 前記異なるランダムアクセスメモリは、ルックアップテーブル情報を格納するものである、請求項9に記載の装置。
- 回路の記述を格納する機械可読記憶媒体であって、前記回路は、
命令をフェッチし発行するためのプログラムコントローラと、
前記命令を実行するよう少なくとも1つの実行ユニットを有する実行レーンとを備え、前記実行レーンは、二次元シフトレジスタアレイ構造に結合される実行レーンアレイの一部であり、前記実行レーンアレイの実行レーンは、それぞれのアレイ位置に位置し、前記二次元シフトレジスタアレイにおいてそれぞれの同じアレイ位置で専用レジスタに結合される、機械可読記憶媒体。 - 前記実行レーンアレイの前記実行レーンおよび他の実行レーンは、SIMD方式で前記命令を受信および実行するよう、前記プログラムコントローラに結合される、請求項12
に記載の機械可読記憶媒体。 - 前記実行レーンアレイの実行レーンはメモリユニットを含む、請求項13に記載の機械可読記憶媒体。
- 前記実行レーンアレイの実行レーンは、第2のALUに結合される出力を有する第1のALUを含む、請求項13に記載の機械可読記憶媒体。
- 前記命令は、VLIWフォーマットを有するより大きなデータ構造に含まれる、請求項13に記載の機械可読記憶媒体。
- 前記プログラムコントローラは、スカラープロセッサの一部であり、前記スカラープロセッサは、前記VLIWフォーマットを有するより大きなデータ構造に含まれるスカラー命令を実行する、請求項16に記載の機械可読記憶媒体。
- 前記実行レーンアレイの異なる領域が異なるそれぞれのランダムアクセスメモリとともに割り当てられる、請求項12に記載の機械可読記憶媒体。
- 前記異なるランダムアクセスメモリは、前記二次元シフトレジスタアレイ構造から流出するレジスタ値を格納する、請求項18に記載の機械可読記憶媒体。
- 前記異なるランダムアクセスメモリは、ルックアップテーブル情報を格納するものである、請求項18に記載の機械可読記憶媒体。
- コンピューティングシステムであって、
システムメモリに結合される複数の処理コアと、
画像処理ユニットとを備え、前記画像処理ユニットは、
命令をフェッチし発行するためのプログラムコントローラと、
前記命令を実行するよう少なくとも1つの実行ユニットを有する実行レーンとを備え、前記実行レーンは、二次元シフトレジスタアレイ構造に結合される実行レーンアレイの一部であり、前記実行レーンアレイの実行レーンは、それぞれのアレイ位置に位置し、前記二次元シフトレジスタアレイにおいてそれぞれの同じアレイ位置で専用レジスタに結合される、コンピューティングシステム。 - 前記実行レーンアレイの前記実行レーンおよび他の実行レーンは、SIMD方式で前記命令を受信および実行するよう、前記プログラムコントローラに結合される、請求項21に記載のコンピューティングシステム。
- 前記実行レーンアレイの実行レーンはメモリユニットを含む、請求項21に記載のコンピューティングシステム。
- 前記実行レーンアレイの実行レーンは、第2のALUに結合される出力を有する第1のALUを含む、請求項21に記載のコンピューティングシステム。
- 前記命令は、VLIWフォーマットを有するより大きなデータ構造に含まれる、請求項19に記載のコンピューティングシステム。
- 前記プログラムコントローラは、スカラープロセッサの一部であり、前記スカラープロセッサは、前記VLIWフォーマットを有するより大きなデータ構造に含まれるスカラー命令を実行する、請求項22に記載のコンピューティングシステム。
- 前記実行レーンアレイの異なる領域が異なるそれぞれのランダムアクセスメモリとともに割り当てられる、請求項21に記載のコンピューティングシステム。
- 前記異なるランダムアクセスメモリは、前記二次元シフトレジスタアレイ構造から流出するレジスタ値を格納する、請求項27に記載のコンピューティングシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/694,815 | 2015-04-23 | ||
US14/694,815 US9772852B2 (en) | 2015-04-23 | 2015-04-23 | Energy efficient processor core architecture for image processor |
JP2018148594A JP6612403B2 (ja) | 2015-04-23 | 2018-08-07 | 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018148594A Division JP6612403B2 (ja) | 2015-04-23 | 2018-08-07 | 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020035471A true JP2020035471A (ja) | 2020-03-05 |
JP6967570B2 JP6967570B2 (ja) | 2021-11-17 |
Family
ID=55963456
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017550902A Active JP6412663B2 (ja) | 2015-04-23 | 2016-04-08 | 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ |
JP2018148594A Active JP6612403B2 (ja) | 2015-04-23 | 2018-08-07 | 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ |
JP2019197437A Active JP6967570B2 (ja) | 2015-04-23 | 2019-10-30 | 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017550902A Active JP6412663B2 (ja) | 2015-04-23 | 2016-04-08 | 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ |
JP2018148594A Active JP6612403B2 (ja) | 2015-04-23 | 2018-08-07 | 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ |
Country Status (7)
Country | Link |
---|---|
US (4) | US9772852B2 (ja) |
EP (1) | EP3286722A1 (ja) |
JP (3) | JP6412663B2 (ja) |
KR (1) | KR101971657B1 (ja) |
CN (1) | CN107408041B (ja) |
DE (1) | DE112016001836T5 (ja) |
WO (1) | WO2016171928A1 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9772852B2 (en) | 2015-04-23 | 2017-09-26 | Google Inc. | Energy efficient processor core architecture for image processor |
US9830150B2 (en) | 2015-12-04 | 2017-11-28 | Google Llc | Multi-functional execution lane for image processor |
US10313641B2 (en) | 2015-12-04 | 2019-06-04 | Google Llc | Shift register with reduced wiring complexity |
US9891955B2 (en) * | 2015-12-22 | 2018-02-13 | Nxp Usa, Inc. | Heterogenous multicore processor configuration framework |
US10387988B2 (en) | 2016-02-26 | 2019-08-20 | Google Llc | Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform |
US10204396B2 (en) * | 2016-02-26 | 2019-02-12 | Google Llc | Compiler managed memory for image processor |
US10380969B2 (en) | 2016-02-28 | 2019-08-13 | Google Llc | Macro I/O unit for image processor |
US20180007302A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Block Operations For An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register |
US20180005346A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Core Processes For Block Operations On An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register |
US10546211B2 (en) | 2016-07-01 | 2020-01-28 | Google Llc | Convolutional neural network on programmable two dimensional image processor |
US20180005059A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Statistics Operations On Two Dimensional Image Processor |
US10489199B2 (en) * | 2017-05-12 | 2019-11-26 | Google Llc | Program code transformations to improve image processor runtime efficiency |
US10503689B2 (en) * | 2017-05-15 | 2019-12-10 | Google Llc | Image processor I/O unit |
WO2018213598A1 (en) * | 2017-05-17 | 2018-11-22 | Google Llc | Special purpose neural network training chip |
CN111258653B (zh) * | 2018-11-30 | 2022-05-24 | 上海寒武纪信息科技有限公司 | 原子访存方法、存储介质、计算机设备、装置和系统 |
US11397624B2 (en) * | 2019-01-22 | 2022-07-26 | Arm Limited | Execution of cross-lane operations in data processing systems |
US10552939B1 (en) | 2019-02-12 | 2020-02-04 | Google Llc | Image processor complex transfer functions |
GB2590521B (en) * | 2020-06-18 | 2022-02-23 | Imagination Tech Ltd | Multiplexing between different processing channels |
US20220197634A1 (en) * | 2020-12-21 | 2022-06-23 | Intel Corporation | Efficient divide and accumulate instruction when an operand is equal to or near a power of two |
Family Cites Families (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4445177A (en) | 1981-05-22 | 1984-04-24 | Data General Corporation | Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions |
DE3851005T2 (de) * | 1987-06-01 | 1995-04-20 | Applied Intelligent Syst Inc | Paralleles Nachbarverarbeitungssystem und -Verfahren. |
US4935894A (en) | 1987-08-31 | 1990-06-19 | Motorola, Inc. | Multi-processor, multi-bus system with bus interface comprising FIFO register stocks for receiving and transmitting data and control information |
US5446479A (en) * | 1989-02-27 | 1995-08-29 | Texas Instruments Incorporated | Multi-dimensional array video processor system |
US5253308A (en) | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
WO1994009595A1 (en) | 1991-09-20 | 1994-04-28 | Shaw Venson M | Method and apparatus including system architecture for multimedia communications |
JP3482660B2 (ja) | 1993-09-08 | 2003-12-22 | ソニー株式会社 | 画像データ処理装置および画像データ処理方法 |
US5612693A (en) | 1994-12-14 | 1997-03-18 | International Business Machines Corporation | Sliding window data compression using a toroidal bit shift register |
DE59607143D1 (de) * | 1996-01-15 | 2001-07-26 | Infineon Technologies Ag | Prozessor zur bildverarbeitung |
US5892962A (en) | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US6366289B1 (en) | 1998-07-17 | 2002-04-02 | Microsoft Corporation | Method and system for managing a display image in compressed and uncompressed blocks |
US6587158B1 (en) | 1998-07-23 | 2003-07-01 | Dvdo, Inc. | Method and apparatus for reducing on-chip memory in vertical video processing |
US7010177B1 (en) | 1998-08-27 | 2006-03-07 | Intel Corporation | Portability of digital images |
JP4489305B2 (ja) * | 1999-03-16 | 2010-06-23 | 浜松ホトニクス株式会社 | 高速視覚センサ装置 |
JP3971535B2 (ja) | 1999-09-10 | 2007-09-05 | 株式会社リコー | Simd型プロセッサ |
JP3922859B2 (ja) | 1999-12-28 | 2007-05-30 | 株式会社リコー | 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
DE60019081D1 (de) * | 2000-01-31 | 2005-05-04 | St Microelectronics Srl | Verschachtelter Burst-Speicher mit Burst-Zugriff bei synchronen Lesezyklen, wobei die beiden untergeordneten Speicherfelder unabhängig lesbar sind mit wahlfreiem Zugriff während asynchroner Lesezyklen |
US6745319B1 (en) | 2000-02-18 | 2004-06-01 | Texas Instruments Incorporated | Microprocessor with instructions for shuffling and dealing data |
US6728862B1 (en) | 2000-05-22 | 2004-04-27 | Gazelle Technology Corporation | Processor array and parallel data processing methods |
US6728722B1 (en) | 2000-08-28 | 2004-04-27 | Sun Microsystems, Inc. | General data structure for describing logical data spaces |
US6986025B2 (en) * | 2001-06-11 | 2006-01-10 | Broadcom Corporation | Conditional execution per lane |
US7286717B2 (en) | 2001-10-31 | 2007-10-23 | Ricoh Company, Ltd. | Image data processing device processing a plurality of series of data items simultaneously in parallel |
JP4146654B2 (ja) | 2002-02-28 | 2008-09-10 | 株式会社リコー | 画像処理回路、複合画像処理回路、および、画像形成装置 |
US9170812B2 (en) | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
WO2003088033A1 (en) | 2002-04-09 | 2003-10-23 | University Of Rochester | Multiplier-based processor-in-memory architectures for image and graphics processing |
US6954204B2 (en) * | 2002-07-18 | 2005-10-11 | Nvidia Corporation | Programmable graphics system and method using flexible, high-precision data formats |
AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
US20060044576A1 (en) | 2004-07-30 | 2006-03-02 | Kabushiki Kaisha Toshiba | Apparatus for image processing |
US7667764B2 (en) | 2004-06-04 | 2010-02-23 | Konica Minolta Holdings, Inc. | Image sensing apparatus |
JP4219887B2 (ja) | 2004-12-28 | 2009-02-04 | 富士通マイクロエレクトロニクス株式会社 | 画像処理装置及び画像処理方法 |
JP6059413B2 (ja) | 2005-04-28 | 2017-01-11 | クアルコム,インコーポレイテッド | 再構成可能命令セル・アレイ |
US7882339B2 (en) | 2005-06-23 | 2011-02-01 | Intel Corporation | Primitives to enhance thread-level speculation |
JP2007067917A (ja) | 2005-08-31 | 2007-03-15 | Matsushita Electric Ind Co Ltd | 画像データ処理装置 |
US7602974B2 (en) | 2005-10-21 | 2009-10-13 | Mobilic Technology (Cayman) Corp. | Universal fixed-pixel-size ISP scheme |
FR2895103B1 (fr) | 2005-12-19 | 2008-02-22 | Dxo Labs Sa | Procede et systeme de traitement de donnees numeriques |
US7802073B1 (en) | 2006-03-29 | 2010-09-21 | Oracle America, Inc. | Virtual core management |
TWI349908B (en) * | 2006-09-14 | 2011-10-01 | Au Optronics Corp | Shift register, shift register array circuit, and flat display apparatus |
US20080111823A1 (en) | 2006-11-13 | 2008-05-15 | Faraday Technology Corp. | Graphics processing system |
EP1927949A1 (en) | 2006-12-01 | 2008-06-04 | Thomson Licensing | Array of processing elements with local registers |
US8321849B2 (en) | 2007-01-26 | 2012-11-27 | Nvidia Corporation | Virtual architecture and instruction set for parallel thread computing |
US20080244222A1 (en) | 2007-03-30 | 2008-10-02 | Intel Corporation | Many-core processing using virtual processors |
US8068114B2 (en) | 2007-04-30 | 2011-11-29 | Advanced Micro Devices, Inc. | Mechanism for granting controlled access to a shared resource |
JP4389976B2 (ja) | 2007-06-29 | 2009-12-24 | ブラザー工業株式会社 | 画像処理装置および画像処理プログラム |
TWI338900B (en) * | 2007-08-07 | 2011-03-11 | Au Optronics Corp | Shift register array |
WO2009031302A1 (ja) | 2007-09-05 | 2009-03-12 | Tohoku University | 固体撮像素子及びその駆動方法 |
JP5020029B2 (ja) * | 2007-11-16 | 2012-09-05 | 株式会社メガチップス | 画像処理装置 |
EP2289001B1 (en) | 2008-05-30 | 2018-07-25 | Advanced Micro Devices, Inc. | Local and global data share |
JP4999791B2 (ja) | 2008-06-30 | 2012-08-15 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
US8456480B2 (en) | 2009-01-14 | 2013-06-04 | Calos Fund Limited Liability Company | Method for chaining image-processing functions on a SIMD processor |
US8332794B2 (en) | 2009-01-22 | 2012-12-11 | Taiwan Semiconductor Manufacturing Company, Ltd. | Circuits and methods for programmable transistor array |
KR101572879B1 (ko) | 2009-04-29 | 2015-12-01 | 삼성전자주식회사 | 병렬 응용 프로그램을 동적으로 병렬처리 하는 시스템 및 방법 |
US20110055495A1 (en) | 2009-08-28 | 2011-03-03 | Qualcomm Incorporated | Memory Controller Page Management Devices, Systems, and Methods |
US8976195B1 (en) | 2009-10-14 | 2015-03-10 | Nvidia Corporation | Generating clip state for a batch of vertices |
US8436857B2 (en) | 2009-10-20 | 2013-05-07 | Oracle America, Inc. | System and method for applying level of detail schemes |
US8595428B2 (en) | 2009-12-22 | 2013-11-26 | Intel Corporation | Memory controller functionalities to support data swizzling |
US8749667B2 (en) | 2010-08-02 | 2014-06-10 | Texas Instruments Incorporated | System and method for maintaining maximum input rate while up-scaling an image vertically |
US8508612B2 (en) | 2010-09-30 | 2013-08-13 | Apple Inc. | Image signal processor line buffer configuration for processing ram image data |
US8797323B2 (en) | 2011-01-18 | 2014-08-05 | Intel Corporation | Shadowing dynamic volumetric media |
WO2012105174A1 (ja) | 2011-01-31 | 2012-08-09 | パナソニック株式会社 | プログラム生成装置、プログラム生成方法、プロセッサ装置及びマルチプロセッサシステム |
US9092267B2 (en) | 2011-06-20 | 2015-07-28 | Qualcomm Incorporated | Memory sharing in graphics processing unit |
US20130027416A1 (en) | 2011-07-25 | 2013-01-31 | Karthikeyan Vaithianathan | Gather method and apparatus for media processing accelerators |
JP5742651B2 (ja) | 2011-10-15 | 2015-07-01 | コニカミノルタ株式会社 | 画像処理装置、連携方法および連携プログラム |
JP5746100B2 (ja) | 2011-12-27 | 2015-07-08 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
US8823736B2 (en) | 2012-01-20 | 2014-09-02 | Intel Corporation | Graphics tiling architecture with bounding volume hierarchies |
US10244246B2 (en) | 2012-02-02 | 2019-03-26 | Texas Instruments Incorporated | Sub-pictures for pixel rate balancing on multi-core platforms |
US10007527B2 (en) * | 2012-03-05 | 2018-06-26 | Nvidia Corporation | Uniform load processing for parallel thread sub-sets |
US9235769B2 (en) | 2012-03-15 | 2016-01-12 | Herta Security, S.L. | Parallel object detection method for heterogeneous multithreaded microarchitectures |
TWI520598B (zh) | 2012-05-23 | 2016-02-01 | 晨星半導體股份有限公司 | 影像處理裝置與影像處理方法 |
US20140019486A1 (en) | 2012-07-13 | 2014-01-16 | Amitava Majumdar | Logic Content Processing for Hardware Acceleration of Multi-Pattern Search |
US9232139B2 (en) | 2012-07-24 | 2016-01-05 | Apple Inc. | Image stabilization using striped output transformation unit |
US9378181B2 (en) | 2012-11-09 | 2016-06-28 | Intel Corporation | Scalable computing array |
US9851977B2 (en) | 2012-12-06 | 2017-12-26 | Kalray | Apparatus and method for combining thread warps with compatible execution masks for simultaneous execution and increased lane utilization |
US8954992B2 (en) | 2013-03-15 | 2015-02-10 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Distributed and scaled-out network switch and packet processing |
WO2014189511A1 (en) * | 2013-05-23 | 2014-11-27 | Intel Corporation | Techniques for organizing three-dimensional array data |
FR3008505B1 (fr) * | 2013-07-10 | 2017-03-03 | Thales Sa | Procede d'optimisation de traitement parallele de donnees sur une plateforme materielle |
US9299181B2 (en) * | 2013-08-28 | 2016-03-29 | Qualcomm Incorporated | Target independent stenciling in graphics processing |
US9547530B2 (en) * | 2013-11-01 | 2017-01-17 | Arm Limited | Data processing apparatus and method for processing a plurality of threads |
US9519479B2 (en) * | 2013-11-18 | 2016-12-13 | Globalfoundries Inc. | Techniques for increasing vector processing utilization and efficiency through vector lane predication prediction |
US9977678B2 (en) * | 2015-01-12 | 2018-05-22 | International Business Machines Corporation | Reconfigurable parallel execution and load-store slice processor |
US9818166B2 (en) | 2015-01-16 | 2017-11-14 | Intel Corporation | Graph-based application programming interface architectures with producer/consumer nodes for enhanced image processing parallelism |
US9749548B2 (en) | 2015-01-22 | 2017-08-29 | Google Inc. | Virtual linebuffers for image signal processors |
US9772852B2 (en) | 2015-04-23 | 2017-09-26 | Google Inc. | Energy efficient processor core architecture for image processor |
GB2540382B (en) * | 2015-07-15 | 2020-03-04 | Advanced Risc Mach Ltd | Data processing systems |
-
2015
- 2015-04-23 US US14/694,815 patent/US9772852B2/en active Active
-
2016
- 2016-04-08 DE DE112016001836.3T patent/DE112016001836T5/de active Pending
- 2016-04-08 EP EP16721988.0A patent/EP3286722A1/en active Pending
- 2016-04-08 CN CN201680019801.XA patent/CN107408041B/zh active Active
- 2016-04-08 KR KR1020177028028A patent/KR101971657B1/ko active IP Right Grant
- 2016-04-08 WO PCT/US2016/026789 patent/WO2016171928A1/en active Application Filing
- 2016-04-08 JP JP2017550902A patent/JP6412663B2/ja active Active
-
2017
- 2017-05-15 US US15/595,632 patent/US10275253B2/en active Active
-
2018
- 2018-08-07 JP JP2018148594A patent/JP6612403B2/ja active Active
-
2019
- 2019-03-28 US US16/368,288 patent/US10754654B2/en active Active
- 2019-10-30 JP JP2019197437A patent/JP6967570B2/ja active Active
-
2020
- 2020-08-24 US US17/001,097 patent/US11138013B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN107408041B (zh) | 2020-09-25 |
US20210004232A1 (en) | 2021-01-07 |
US20190220282A1 (en) | 2019-07-18 |
US11138013B2 (en) | 2021-10-05 |
JP2018513473A (ja) | 2018-05-24 |
WO2016171928A1 (en) | 2016-10-27 |
DE112016001836T5 (de) | 2018-03-29 |
EP3286722A1 (en) | 2018-02-28 |
US9772852B2 (en) | 2017-09-26 |
US10754654B2 (en) | 2020-08-25 |
US20170249153A1 (en) | 2017-08-31 |
US10275253B2 (en) | 2019-04-30 |
JP2018206413A (ja) | 2018-12-27 |
CN107408041A (zh) | 2017-11-28 |
JP6967570B2 (ja) | 2021-11-17 |
KR20170125932A (ko) | 2017-11-15 |
KR101971657B1 (ko) | 2019-04-23 |
US20160313999A1 (en) | 2016-10-27 |
JP6612403B2 (ja) | 2019-11-27 |
JP6412663B2 (ja) | 2018-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6612403B2 (ja) | 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ | |
JP6764904B2 (ja) | 画像プロセッサのための二次元シフトアレイ | |
JP7202987B2 (ja) | 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ | |
JP6793228B2 (ja) | 画像プロセッサのためのシート生成部 | |
US20210165656A1 (en) | Two dimensional masked shift instruction | |
JP2019507922A (ja) | 画像プロセッサのためのコンパイラ管理メモリ | |
KR102278021B1 (ko) | 이미지 프로세서 런타임 효율성을 개선하기 위한 프로그램 코드 변환 | |
CN110300944B (zh) | 具有可配置数目的活动核心和支持内部网络的图像处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191113 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191113 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210401 |
|
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: 20210928 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211025 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6967570 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |