JP5829331B2 - Simdプロセッサシステムにおいて複数の対象領域(roi)を同時並列的にデータ転送するための装置 - Google Patents
Simdプロセッサシステムにおいて複数の対象領域(roi)を同時並列的にデータ転送するための装置 Download PDFInfo
- Publication number
- JP5829331B2 JP5829331B2 JP2014513832A JP2014513832A JP5829331B2 JP 5829331 B2 JP5829331 B2 JP 5829331B2 JP 2014513832 A JP2014513832 A JP 2014513832A JP 2014513832 A JP2014513832 A JP 2014513832A JP 5829331 B2 JP5829331 B2 JP 5829331B2
- Authority
- JP
- Japan
- Prior art keywords
- roi
- memory
- data
- data transfer
- address
- 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.)
- Active
Links
- 238000012546 transfer Methods 0.000 claims description 75
- 238000012545 processing Methods 0.000 claims description 35
- 230000005540 biological transmission Effects 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 18
- 238000000034 method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- CNQCVBJFEGMYDW-UHFFFAOYSA-N lawrencium atom Chemical compound [Lr] CNQCVBJFEGMYDW-UHFFFAOYSA-N 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
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/8015—One dimensional arrays, e.g. rings, linear arrays, buses
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- 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/3824—Operand accessing
- G06F9/383—Operand 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/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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/002—Bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Image Processing (AREA)
Description
詳細には、本発明は、SIMDプロセッサシステムの各処理要素(PE:Processing Element)が該PEに割り当てられたROI領域に対するパラメータセットを他のPEとは従属関係無く特定し、複数の対象領域(ROI:Regions Of Interest)を同時並列的に転送するにあたって低実施コストで高速にデータ転送するための技術に関する。
(実施形態1)
実施形態1として、単一メモリからメモリアレイへのROIデータの転送を説明する。この状況は、例えば、白線や顔領域に対する、いくつかの可能性のある候補が検出された後に検証が必要な場合に起こる。
これらのパラメータは、
1.単一メモリにおけるROI開始アドレス:start_addsingle_memory
2.ROIの幅:roi_width
3.ROIの高さ:roi_height
である。
ver_pos=trans_cnt div roi_w
hor_pos=trans_cnt mod roi_w
ここで、ver_pos及びhor_posは転送されるデータのROI内の位置を決定する。
次に、フローチャートを参照しながら、データ転送動作を説明する。まず、図6A及び6Bを参照して、リード方向のデータ転送動作を説明する。
ver_pos=trans_cnt div roi_width
hor_pos=trans_cnt mod roi_width
次に、本発明の実施形態2を説明する。この実施形態2として、ライト方向のデータ転送動作を説明する。実施形態1で説明されたシステム構成をこの実施形態2にも適用することができる。
変形された実施形態として、要求アドレス計算機310の代替的なアーキテクチャを説明する。図11は変形例のアドレス計算機1200を示している。このアドレス計算機1200は比較器1202と、2つのスイッチ1203、1204と、レジスタセット201と、加算部1205とを有する。レジスタセット201は多数のレジスタ、及び各PExに対して備えられた2つのレジスタを有する。レジスタは転送されるデータの現在の横位置hor_pos及び現在の縦位置ver_posを一時的に保持することができる。初期状態において、PExのhor_pos及びver_posは「0」に設定される。
本発明は上述の実施形態に限定されない。図12は例としてのアーキテクチャを有するSIMDプロセッサ300が動作可能な、可能なシステム設計を示している。システム内の他の構成要素は中央処理装置(CPU)401と単一メモリ308であってもよく、それらは全て接続を介してバスシステム404に接続されている。
102 メモリ要素
103 PEグループ
104 PEアレイ
105 バス
106 ラインバッファ
107 制御プロセッサ(CP)
108 外部メモリ
301 プロセッサ要素(PE)
302 メモリ要素
303 PEのグループ
304 PEアレイ
305 バスシステム
306 レジスタ
307 制御プロセッサ(CP)
308 単一メモリ
309 レジスタセット
310 要求アドレス計算機
311 転送ゲート
401 中央処理装置
402 SIMDプロセッサ
403 単一メモリ
404 バスシステム
601 転送カウンタtrans_cnt
602 加算部
603 整数分割部
604 モジュラ部
605 アドレス計算部
701 乗算部
702 比較器
703 スイッチ
1201 レジスタセット
1202 比較器
1203 スイッチ
1204 スイッチ
1205 加算部
Claims (8)
- 単一命令多重データ方式で制御される複数の処理要素を含む処理要素アレイと、
前記処理要素の各々の内部に備えられるメモリ要素であって、前記処理要素の全ての前記メモリ要素へのデータアクセスが並列に実行されるメモリ要素と、
単一命令多重データ方式で前記処理要素アレイを制御する制御プロセッサと、
全ての前記処理要素を互いに接続し、かつ前記制御プロセッサに接続するバスシステムと、
前記処理要素アレイの前記メモリ要素とデータを交換する単一メモリであって、リード転送に対するデータ送信装置として、かつライト転送に対するデータ受信装置として動作する単一メモリとを備えるデータ転送装置であって、
前記制御プロセッサが、各々が各処理要素に対する対象領域(ROI領域)転送パラメータセットの一時的な格納装置である複数のレジスタを有するレジスタセット部であって、前記転送パラメータセットが少なくとも前記単一メモリ内のROI開始アドレスと、ROIの幅と、ROIの高さとを含む、レジスタセット部と、
最初に1を加えることによって転送されるデータの各ROI内の位置を横方向及び縦方向にシフトし、次に前記縦及び横の位置に加えて、前記ROIの開始アドレスと前記単一メモリのメモリ領域の幅である共通の距離とを使用して、前記単一メモリ内の前記位置のアドレスを計算する要求アドレス計算機とを備える、データ転送装置。 - 前記縦位置がデータ転送カウント数を前記ROIの幅で除算する整数除算によって計算され、前記横位置が前記データ転送カウント数を前記ROIの幅で除算するモジュラ演算によって計算される、請求項1に記載のデータ転送装置。
- 前記単一メモリ内の前記位置の前記アドレスをreq_addsingle_memory、前記単一メモリ内の前記ROIの前記開始アドレスをstart_addsingle_memory、前記ROI内の前記データの前記縦位置をver_pos、前記ROI内の前記データの前記横位置をhor_pos、前記共通の距離をdistとしたとき、前記単一メモリ内の前記位置の前記アドレスが下記の式
req_addsingle_memory=start_addsingle_memory+(ver_pos×dist)+hor_pos
を使用して計算される、請求項1又は2に記載のデータ転送装置。 - 前記制御プロセッサが転送ゲート部をさらに備え、前記転送ゲート部が、前記データ転送カウント数がROIの大きさを超えていない場合のみ、メモリアクセス要求を前記単一メモリへ通過させる、請求項2に記載のデータ転送装置。
- 前記処理要素アレイからの前記ROI領域の大きさが同じである、請求項1から4のいずれかに記載のデータ転送装置。
- 前記処理要素アレイからの前記ROI領域の大きさが異なる、請求項1から4のいずれかに記載のデータ転送装置。
- 前記バスシステムがパイプライン式のリングバスである、請求項1から6のいずれかに記載のデータ転送装置。
- 前記単一メモリが外部メモリである、請求項1から7のいずれかに記載のデータ転送装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/072715 WO2013046475A1 (en) | 2011-09-27 | 2011-09-27 | Apparatus and method of a concurrent data transfer of multiple regions of interest (roi) in an simd processor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014526722A JP2014526722A (ja) | 2014-10-06 |
JP5829331B2 true JP5829331B2 (ja) | 2015-12-09 |
Family
ID=44903323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014513832A Active JP5829331B2 (ja) | 2011-09-27 | 2011-09-27 | Simdプロセッサシステムにおいて複数の対象領域(roi)を同時並列的にデータ転送するための装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9996500B2 (ja) |
JP (1) | JP5829331B2 (ja) |
TW (1) | TWI549061B (ja) |
WO (1) | WO2013046475A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102235803B1 (ko) * | 2017-03-31 | 2021-04-06 | 삼성전자주식회사 | 반도체 장치 |
US10649771B2 (en) | 2017-03-31 | 2020-05-12 | Samsung Electronics Co., Ltd. | Semiconductor device |
US11314674B2 (en) * | 2020-02-14 | 2022-04-26 | Google Llc | Direct memory access architecture with multi-level multi-striding |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2657978A1 (fr) * | 1990-02-02 | 1991-08-09 | Philips Electronique Lab | Procede de stockage en memoire pour le traitement d'images, et dispositif pour la mise en óoeuvre du procede. |
JPH04333952A (ja) | 1991-05-10 | 1992-11-20 | Toshiba Corp | Dmaコントロールlsi |
JPH0944130A (ja) * | 1995-07-28 | 1997-02-14 | Sony Corp | 映像装置 |
EP1107107A1 (en) * | 1999-12-10 | 2001-06-13 | Koninklijke Philips Electronics N.V. | Parallel data processing and shuffling |
US6941446B2 (en) * | 2002-01-21 | 2005-09-06 | Analog Devices, Inc. | Single instruction multiple data array cell |
CN1950843A (zh) * | 2004-04-29 | 2007-04-18 | 皇家飞利浦电子股份有限公司 | 图像处理设备和方法 |
GB2417105B (en) * | 2004-08-13 | 2008-04-09 | Clearspeed Technology Plc | Processor memory system |
US20100141668A1 (en) | 2006-10-26 | 2010-06-10 | Nxp, B.V. | Address calculation unit |
JP4801605B2 (ja) * | 2007-02-28 | 2011-10-26 | 株式会社リコー | Simd型マイクロプロセッサ |
US8190856B2 (en) * | 2007-03-06 | 2012-05-29 | Nec Corporation | Data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled |
JP2011141823A (ja) | 2010-01-08 | 2011-07-21 | Renesas Electronics Corp | データ処理装置および並列演算装置 |
JP5373653B2 (ja) | 2010-01-29 | 2013-12-18 | 日本電信電話株式会社 | 光変調信号生成装置及び光変調信号生成方法 |
JP5739758B2 (ja) | 2011-07-21 | 2015-06-24 | ルネサスエレクトロニクス株式会社 | メモリコントローラ及びsimdプロセッサ |
-
2011
- 2011-09-27 US US14/347,619 patent/US9996500B2/en active Active
- 2011-09-27 WO PCT/JP2011/072715 patent/WO2013046475A1/en active Application Filing
- 2011-09-27 JP JP2014513832A patent/JP5829331B2/ja active Active
-
2012
- 2012-09-06 TW TW101132574A patent/TWI549061B/zh active
Also Published As
Publication number | Publication date |
---|---|
JP2014526722A (ja) | 2014-10-06 |
US9996500B2 (en) | 2018-06-12 |
TW201324361A (zh) | 2013-06-16 |
WO2013046475A1 (en) | 2013-04-04 |
TWI549061B (zh) | 2016-09-11 |
US20140237214A1 (en) | 2014-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6341318B1 (en) | DMA data streaming | |
KR101572204B1 (ko) | Dma 벡터 버퍼 | |
US8601169B1 (en) | Method and apparatus for a multi-engine descriptor controller for distributing data processing tasks across the engines | |
JPS62208158A (ja) | マルチプロセツサシステム | |
JP5829331B2 (ja) | Simdプロセッサシステムにおいて複数の対象領域(roi)を同時並列的にデータ転送するための装置 | |
US20110173416A1 (en) | Data processing device and parallel processing unit | |
US20060265534A1 (en) | Data transfer device which executes DMA transfer, semiconductor integrated circuit device and data transfer method | |
US12111778B2 (en) | Image processing accelerator | |
US10031784B2 (en) | Interconnect system to support the execution of instruction sequences by a plurality of partitionable engines | |
US8156259B2 (en) | Memory data transfer method and system | |
US20210191729A1 (en) | System and method for high throughput in multiple computations | |
WO1999063751A1 (en) | Low-power parallel processor and imager integrated circuit | |
US20060259657A1 (en) | Direct memory access (DMA) method and apparatus and DMA for video processing | |
US8412862B2 (en) | Direct memory access transfer efficiency | |
JP6294732B2 (ja) | データ転送制御装置及びメモリ内蔵装置 | |
EP2199919B1 (en) | Method for processing data using triple buffering | |
CN112506815B (zh) | 数据传输方法和数据传输装置 | |
JP2006139766A (ja) | 情報処理装置 | |
CN1910562A (zh) | 经由流动id方法的dmac发布机制 | |
WO2016051435A1 (en) | Data transfer apparatus and microcomputer | |
JP2752902B2 (ja) | ベクトル処理装置 | |
JP2616116B2 (ja) | データ処理装置 | |
Seidner | Improved low-cost FPGA image processor architecture with external line memory | |
JP2019139406A (ja) | データ処理装置 | |
JP3372873B2 (ja) | 主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140320 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150317 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150513 |
|
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: 20151006 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151021 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5829331 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |