JP6433645B2 - アプリケーションを高速に処理する演算処理装置及び方法 - Google Patents
アプリケーションを高速に処理する演算処理装置及び方法 Download PDFInfo
- Publication number
- JP6433645B2 JP6433645B2 JP2013148332A JP2013148332A JP6433645B2 JP 6433645 B2 JP6433645 B2 JP 6433645B2 JP 2013148332 A JP2013148332 A JP 2013148332A JP 2013148332 A JP2013148332 A JP 2013148332A JP 6433645 B2 JP6433645 B2 JP 6433645B2
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- application
- arithmetic processing
- program control
- control unit
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 649
- 238000000034 method Methods 0.000 title claims description 130
- 238000004364 calculation method Methods 0.000 claims description 550
- 239000000872 buffer Substances 0.000 claims description 276
- 238000004891 communication Methods 0.000 claims description 158
- 230000015654 memory Effects 0.000 claims description 34
- 238000003672 processing method Methods 0.000 claims description 11
- 238000004148 unit process Methods 0.000 claims description 7
- 238000011112 process operation Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
-
- 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Human Computer Interaction (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
Description
102、204、303、403、503、603、703、1003 通信チャネル
103、205、302、402、502、602、702、1002 演算処理部
202、206 レジスタファイル
203、207、208 メモリ
Claims (16)
- アプリケーションコードの実行により生じるアプリケーション演算に必要な演算処理情報を通信チャネルに格納するプログラム制御部であって、前記演算処理情報は、前記アプリケーション演算のフィードバック情報が必要であることを示すフィードバックフラグを含む、プログラム制御部と、
前記通信チャネルに格納された演算処理情報を用いて前記アプリケーション演算を処理する演算処理部であって、前記演算処理情報がフィードバックフラグを含む場合に、前記アプリケーション演算の処理結果に対応するフィードバック情報を前記通信チャネルに格納する、演算処理部と、
を備え、
前記プログラム制御部は、前記通信チャネルに格納された前記フィードバック情報に基づいて第2アプリケーション演算を処理する、演算処理装置。 - 前記プログラム制御部は、優先演算処理が設定されたアプリケーション演算の演算処理情報を前記通信チャネルに格納することを特徴とする請求項1に記載の演算処理装置。
- 前記演算処理部は、優先演算処理が設定されたアプリケーション演算のフィードバック情報を前記通信チャネルに格納することを特徴とする請求項1又は2に記載の演算処理装置。
- 前記プログラム制御部は、前記通信チャネルのオーバーフローの存在有無に基づいて前記演算処理情報を前記通信チャネルに格納することを特徴とする請求項1から3のいずれか1項に記載の演算処理装置。
- 前記プログラム制御部は、前記アプリケーション演算に必要な演算全体のうち一部の演算を処理し、
前記演算処理部は、前記一部の演算を除いた演算を処理して前記アプリケーション演算の処理を完了することを特徴とする請求項1乃至4のいずれか1項に記載の演算処理装置。 - 前記演算処理情報は、前記アプリケーション演算に必要なデータ、前記データが格納されたメモリアドレス、及び演算パラメータのうち少なくとも1つを含むことを特徴とする請求項1乃至5のいずれか1項に記載の演算処理装置。
- 第1ライン及び第2ラインを含む通信チャネルをさらに含むことを特徴とする請求項1乃至6のいずれか1項に記載の演算処理装置。
- 前記第1ラインはプログラム制御部から演算処理部に情報を送信し、前記第2ラインは演算処理部からプログラム制御部に情報を送信することを特徴とする請求項7に記載の演算処理装置。
- プログラム制御部によるアプリケーションの演算が加速される必要がある場合、前記プログラム制御部は前記第1ラインを介してアプリケーション演算に関連する情報を演算処理部に送信し、
演算処理部は、前記第2ラインを介してアプリケーション演算の処理結果に対応するフィードバック情報をプログラム制御部に送信することを特徴とする請求項7又は8に記載の演算処理装置。 - 前記第1ライン及び第2ラインそれぞれは、バッファ、共有メモリ、レジスタ及びハードワイヤーのうち少なくとも1つを含むことを特徴とする請求項7乃至9のいずれか1項に記載の演算処理装置。
- 前記通信チャネルは、
前記プログラム制御部から前記演算処理部に情報を送信するFIFOバッファと、
前記プログラム制御部から前記演算処理部に、前記FIFOバッファの送信する情報よりも高い優先度の情報を送信するフォワードクイックFIFOバッファと、
前記演算処理部から前記プログラム制御部に情報を送信するバックワードFIFOバッファと、
前記演算処理部から前記プログラム制御部に、前記バックワードFIFOバッファの送信する情報よりも高い優先度の情報を送信するバックワードクイックFIFOバッファと、
を含むことを特徴とする、請求項1に記載の演算処理装置。 - 前記プログラム制御部が前記演算処理部の処理結果をチェックする必要がない場合、前記プログラム制御部はフォワードFIFOバッファを介してアプリケーション演算に関連する情報を前記演算処理部に送信し、
前記プログラム制御部が前記演算処理部の処理結果をチェックしなければならない場合、前記プログラム制御部は、前記フォワードクイックFIFOバッファを介してアプリケーション演算に関連する情報を演算処理部に送信することを特徴とする請求項11に記載の演算処理装置。 - 前記プログラム制御部が前記演算処理部の処理結果をチェックする必要がない場合、前記演算処理部は、前記バックワードFIFOバッファを介してアプリケーションの実行された演算を前記プログラム制御部に送信し、
前記プログラム制御部が前記演算処理部の結果をチェックしなければならない場合、前記演算処理部は、前記バックワードクイックFIFOバッファを介してアプリケーションの実行された演算を前記プログラム制御部に送信することを特徴とする請求項11または12に記載の演算処理装置。 - 演算処理装置のプログラム制御部が、アプリケーションコードの実行により生じるアプリケーション演算に必要な演算処理情報を通信チャネルに格納するステップであって、前記演算処理情報は、前記アプリケーション演算のフィードバック情報が必要であることを示すフィードバックフラグを含む、ステップと、
前記演算処理装置の演算処理部が、前記通信チャネルに格納された演算処理情報を用いてアプリケーション演算を処理するステップと、
前記演算処理情報がフィードバックフラグを含む場合に、前記演算処理部が、前記アプリケーション演算の処理結果に対応するフィードバック情報を前記通信チャネルに格納するステップと、
前記プログラム制御部が、前記通信チャネルに格納された前記フィードバック情報に基づいて第2アプリケーション演算を処理するステップと、
を含む演算処理方法。 - 前記通信チャネルは、前記プログラム制御部から演算処理部に情報を送信する第1ライン及び前記演算処理部からプログラム制御部に情報を送信する第2ラインを含むことを特徴とする請求項14に記載の演算処理方法。
- 前記演算処理情報を通信チャネルに格納するステップは、前記アプリケーション演算に必要な演算全体のうち一部の演算を処理するステップを有し、
前記アプリケーション演算を処理するステップは、前記一部の演算を除いた演算を処理して前記アプリケーション演算の処理を完了することを特徴とする請求項14または15に記載の演算処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0078847 | 2012-07-19 | ||
KR1020120078847A KR101984635B1 (ko) | 2012-07-19 | 2012-07-19 | 어플리케이션을 고속으로 처리하는 연산 처리 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014021987A JP2014021987A (ja) | 2014-02-03 |
JP6433645B2 true JP6433645B2 (ja) | 2018-12-05 |
Family
ID=48832784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013148332A Expired - Fee Related JP6433645B2 (ja) | 2012-07-19 | 2013-07-17 | アプリケーションを高速に処理する演算処理装置及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9471309B2 (ja) |
EP (1) | EP2687985A3 (ja) |
JP (1) | JP6433645B2 (ja) |
KR (1) | KR101984635B1 (ja) |
CN (1) | CN103577254B (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101971173B1 (ko) * | 2016-11-23 | 2019-04-22 | 주식회사 모르미 | 병렬 처리부 및 병렬 처리 장치 |
US10884976B2 (en) | 2018-05-22 | 2021-01-05 | Morumi Co., Ltd. | Parallel processing unit and device for parallel processing |
KR102089450B1 (ko) * | 2019-09-19 | 2020-05-26 | 한국과학기술정보연구원 | 데이터이주장치 및 그 동작 방법 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04295951A (ja) * | 1991-03-25 | 1992-10-20 | Omron Corp | マルチプロセッサシステムにおけるデータ通信装置 |
KR970006413B1 (ko) * | 1993-12-29 | 1997-04-28 | 한국전기통신공사 | 퍼지 컴퓨터 |
US5590323A (en) | 1994-05-13 | 1996-12-31 | Lucent Technologies Inc. | Optimal parallel processor architecture for real time multitasking |
US5983278A (en) * | 1996-04-19 | 1999-11-09 | Lucent Technologies Inc. | Low-loss, fair bandwidth allocation flow control in a packet switch |
US6741294B2 (en) | 1997-12-08 | 2004-05-25 | Sony Corporation | Digital signal processor and digital signal processing method |
US6952827B1 (en) | 1998-11-13 | 2005-10-04 | Cray Inc. | User program and operating system interface in a multithreaded environment |
US6668317B1 (en) | 1999-08-31 | 2003-12-23 | Intel Corporation | Microengine for parallel processor architecture |
US6574725B1 (en) * | 1999-11-01 | 2003-06-03 | Advanced Micro Devices, Inc. | Method and mechanism for speculatively executing threads of instructions |
US7231500B2 (en) | 2001-03-22 | 2007-06-12 | Sony Computer Entertainment Inc. | External data interface in a computer architecture for broadband networks |
US7185094B2 (en) | 2001-03-30 | 2007-02-27 | Sandcherry, Inc. | Media session framework using a control module to direct and manage application and service servers |
GB0407384D0 (en) | 2004-03-31 | 2004-05-05 | Ignios Ltd | Resource management in a multicore processor |
WO2006085277A2 (en) * | 2005-02-14 | 2006-08-17 | Koninklijke Philips Electronics N.V. | An electronic parallel processing circuit |
JP2007026095A (ja) * | 2005-07-15 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 並列演算装置 |
JP4033215B2 (ja) | 2006-01-31 | 2008-01-16 | セイコーエプソン株式会社 | マルチプロセッサシステム及びマルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム |
KR101120398B1 (ko) | 2006-02-03 | 2012-02-24 | 러셀 에이치. Ⅲ 피시 | 스레드 최적화된 멀티프로세서 구조 |
KR101421054B1 (ko) * | 2007-08-06 | 2014-07-18 | 삼성전자주식회사 | 버퍼를 이용한 연산 분산 방법 및 이를 이용한 연산 분산시스템 |
US8310492B2 (en) * | 2009-09-03 | 2012-11-13 | Ati Technologies Ulc | Hardware-based scheduling of GPU work |
KR101292670B1 (ko) * | 2009-10-29 | 2013-08-02 | 한국전자통신연구원 | 벡터 프로세싱 장치 및 방법 |
-
2012
- 2012-07-19 KR KR1020120078847A patent/KR101984635B1/ko active IP Right Grant
-
2013
- 2013-07-17 JP JP2013148332A patent/JP6433645B2/ja not_active Expired - Fee Related
- 2013-07-18 US US13/945,267 patent/US9471309B2/en not_active Expired - Fee Related
- 2013-07-19 EP EP13177168.5A patent/EP2687985A3/en not_active Withdrawn
- 2013-07-19 CN CN201310306144.5A patent/CN103577254B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP2687985A2 (en) | 2014-01-22 |
KR20140012320A (ko) | 2014-02-03 |
CN103577254A (zh) | 2014-02-12 |
CN103577254B (zh) | 2018-11-02 |
JP2014021987A (ja) | 2014-02-03 |
US9471309B2 (en) | 2016-10-18 |
KR101984635B1 (ko) | 2019-05-31 |
EP2687985A3 (en) | 2014-05-07 |
US20140025934A1 (en) | 2014-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150006766A1 (en) | Hardware-Assisted DMA Transfer with Dependency | |
TWI489392B (zh) | 多個應用程式分享的圖形處理單元 | |
JP2017117204A (ja) | プロセッサ、再構成可能回路の制御方法及びプログラム | |
JP6433645B2 (ja) | アプリケーションを高速に処理する演算処理装置及び方法 | |
JP2007207026A (ja) | Dma転送装置 | |
JP2015106311A (ja) | 通信制御装置、情報処理装置、並列計算機システム、制御プログラム、及び並列計算機システムの制御方法 | |
US9105208B2 (en) | Method and apparatus for graphic processing using multi-threading | |
JP2014102683A (ja) | 情報処理装置の制御プログラム、情報処理装置の制御方法および情報処理装置 | |
JPWO2011135759A1 (ja) | 情報処理装置及びタスク切り替え方法 | |
TW201435581A (zh) | 透過管線狀態繫結觸發的效能事件擷取 | |
TWI457828B (zh) | 執行緒陣列粒化執行的優先權計算 | |
TW201351276A (zh) | 計算工作的排程和執行 | |
KR20210084220A (ko) | 부분 판독/기입을 갖는 재구성 가능한 시스톨릭 어레이를 위한 시스템 및 방법 | |
CN111221756B (zh) | 一种上位机高效下行数据传输的方法 | |
JP6368452B2 (ja) | 非同期のデバイスによって実行されるタスクのスケジューリングの向上 | |
JP5238876B2 (ja) | 情報処理装置及び情報処理方法 | |
CN105630593A (zh) | 用于处理中断的方法 | |
JP5893624B2 (ja) | マルチコアシステムのためのダイレクトメモリアクセス装置およびその動作方法 | |
US20140281423A1 (en) | Processor and method for processing instructions using at least one processing pipeline | |
US20130342549A1 (en) | Apparatus and method for processing rendering data | |
CN107025064B (zh) | 一种低延迟高iops的数据访问方法 | |
KR20230124598A (ko) | 높은 처리량 및 낮은 오버헤드 커널 개시를 위한 압축 커맨드 패킷 | |
CN109564510A (zh) | 用于在地址生成时间分配加载和存储队列的***和方法 | |
JP5540799B2 (ja) | データ入出力制御方法,データ入出力制御プログラムおよびデータ入出力制御装置 | |
JP2008102599A (ja) | プロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160705 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170905 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180417 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180717 |
|
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: 20181016 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6433645 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |