JP5862397B2 - 演算処理装置 - Google Patents
演算処理装置 Download PDFInfo
- Publication number
- JP5862397B2 JP5862397B2 JP2012066430A JP2012066430A JP5862397B2 JP 5862397 B2 JP5862397 B2 JP 5862397B2 JP 2012066430 A JP2012066430 A JP 2012066430A JP 2012066430 A JP2012066430 A JP 2012066430A JP 5862397 B2 JP5862397 B2 JP 5862397B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- arithmetic processing
- unit
- length
- 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 91
- 230000007704 transition Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 22
- 239000011159 matrix material Substances 0.000 description 12
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000006467 substitution reaction 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
- G06F9/3552—Indexed addressing using wraparound, e.g. modulo or circular addressing
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
-
- 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
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)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Description
図1は、本発明の第1実施例に係る演算処理装置1が、携帯電話のベースバンド処理LSI(Large Scale Integrated circuit)100に適用された適用例である。ベースバンド処理LSI100は、RF部110と、専用ハードウェア120と、DSP(Digital Signal Processor)130#1〜130#3とを備える。
図2は、本発明の一実施例に係る演算処理装置1のハードウェア構成例である。演算処理装置1は、DMA(Direct Memory Access)10と、演算データパス20と、演算回数ループ制御回路30と、を備える。
図5は、本実施例の演算処理装置1により実行される基本的なストリーム型処理を説明するための図である。
以下、本実施例の演算処理装置1により実行されるラップアラウンド時の処理について説明する。図6は、ラップアラウンド時に、本実施例の演算処理装置1により実行される処理を説明するための図である。本図では、演算処理装置1に与えられる命令が、opecode=mul、addr_src0=a、length_src0=1000、addr_src1=b、length_src1=20、addr_dst=c、length_dst=1000であるものとする(wmは省略)。この場合、演算処理装置1は、length_src1=20、すなわちソース(1)のストリーム長が20であり、デスティネーションのストリーム長1000よりも短いため、ソース(1)に関してはwm_src1が規定する繰り返し規則に従って繰り返し読み出しを行う。
図7は、wm_src0=1(剰余モード)である場合に、本実施例の演算処理装置1により実行される処理を説明するための図である。本図では、演算処理装置1に与えられる命令が、opecode=mul、addr_src0=a、length_src0=5、wm_src0=1、addr_src1=b、length_src1=100、wm_src1=0、addr_dst=c、length_dst=100、wm_dst=0であるものとする。
図8は、wm_src0=2(商モード)である場合に、本実施例の演算処理装置1により実行される処理を説明するための図である。本図では、演算処理装置1に与えられる命令が、opecode=mul、addr_src0=a、length_src0=5、wm_src0=2、addr_src1=b、length_src1=100、wm_src1=0、addr_dst=c、length_dst=100、wm_dst=0であるものとする。なお、商モードにおいて、ラップアラウンド動作を行うソース又はデスティネーションに関するストリーム長(length_**)は、文言上のストリーム長ではなく、除算の分母を意味する。
剰余モードと商モードは、組み合わせて設定することもできる。図9は、wm_src0=2(商モード)且つwm_src1=1(剰余モード)である場合に、本実施例の演算処理装置1により実行される処理を説明するための図である。図示するように、ソース0に関しては、a0がストリーム長に等しい4回読み出されると、a1に移行し、4回の読み出し毎にロード部12Aの読み出す単位データが切り替わる。一方、ソース1に関しては、ロード部14Aは、ストリーム長分のb0〜b4までデータメモリ134からの読み出しが終了すると、再度b0から単位データを読み出すことを、繰り返し実行する。
[まとめ]
本実施例の演算処理装置1は、wm=1又は2を含む命令が入力されると、これが規定する繰り返し規則に従ってデータメモリ134からソースを読み出して演算するため、ストリーム長が一致しない場合の繰り返し処理を一命令で実行することができる。
(付記1)
ストリーム型処理を行う演算処理装置であって、
入力オペランドのストリーム長が出力オペランドのストリーム長に比して短い場合に入力される命令であって、前記入力オペランドを読み出す際の繰り返し規則を規定するデータを含む命令が入力されると、該命令に含まれる繰り返し規則に従ってメモリから前記入力オペランドを読み出して演算部に供給すると共に、該演算部による演算結果を前記出力オペランドとして前記メモリに書き込むデータ入出力部と、
前記データ入出力部が読み出した入力オペランドに対して演算を行って、演算結果を前記データ入出力部に出力する前記演算部と、
を備える演算処理装置。
(付記2)
前記繰り返し規則は、前記入力オペランドの読み出しを、前記入力オペランドの先頭から前記ストリーム長に等しい回数行うと、前記入力オペランドの先頭に戻り読み出しを行うことを繰り返す規則を含む、
付記1記載の演算処理装置。
(付記3)
前記繰り返し規則は、前記入力オペランドの一データを前記ストリーム長に等しい回数繰り返し読み出すと、次の入力オペランドの一データに移行する規則を含む、
付記1又は2記載の演算処理装置。
(付記4)
ストリーム型処理を行う演算処理装置であって、
出力オペランドのストリーム長が入力オペランドのストリーム長に比して短い場合に入力される命令であって、前記出力オペランドをメモリに書き込む際の繰り返し規則を規定するデータを含む命令が入力されると、前記メモリから前記入力オペランドを読み出して演算部に供給すると共に、前記命令に含まれる繰り返し規則に従って、前記演算部による演算結果を前記出力オペランドとして前記メモリに書き込むデータ入出力部と、
前記データ入出力部が読み出した入力オペランドに対して演算を行って、演算結果を前記データ入出力部に出力する前記演算部と、
を備える演算処理装置。
10 DMA
12、14 ロード部
12A、14A、16A アドレス生成回路
12B、14B、16B データバッファ
16 ストア部
18 サイクルカウンタ
20 演算データパス
30 演算回数ループ制御回路
134 データメモリ
135 CPU
Claims (3)
- ストリーム型処理を行う演算処理装置であって、
入力オペランドのストリーム長が出力オペランドのストリーム長に比して短い場合に入力される命令であって、前記入力オペランドを読み出す際の繰り返し規則を規定するデータを含む命令が入力されると、該命令に含まれる繰り返し規則に従ってメモリから前記入力オペランドを読み出して演算部に供給すると共に、該演算部による演算結果を前記出力オペランドとして前記メモリに書き込むデータ入出力部と、
前記データ入出力部が読み出した入力オペランドに対して演算を行って、演算結果を前記データ入出力部に出力する前記演算部と、
を備える演算処理装置。 - 前記繰り返し規則は、前記入力オペランドの読み出しを、前記入力オペランドの先頭から前記ストリーム長に等しい回数行うと、前記入力オペランドの先頭に戻り読み出しを行うことを繰り返す規則を含む、
請求項1記載の演算処理装置。 - 前記繰り返し規則は、前記入力オペランドの一データを除算の分母に等しい回数繰り返し読み出すと、次の入力オペランドの一データに移行する規則を含む、
請求項1又は2記載の演算処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012066430A JP5862397B2 (ja) | 2012-03-22 | 2012-03-22 | 演算処理装置 |
US13/670,867 US20130254516A1 (en) | 2012-03-22 | 2012-11-07 | Arithmetic processing unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012066430A JP5862397B2 (ja) | 2012-03-22 | 2012-03-22 | 演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013196654A JP2013196654A (ja) | 2013-09-30 |
JP5862397B2 true JP5862397B2 (ja) | 2016-02-16 |
Family
ID=49213455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012066430A Expired - Fee Related JP5862397B2 (ja) | 2012-03-22 | 2012-03-22 | 演算処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130254516A1 (ja) |
JP (1) | JP5862397B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10089259B2 (en) | 2015-07-21 | 2018-10-02 | BigStream Solutions, Inc. | Precise, efficient, and transparent transfer of execution between an auto-generated in-line accelerator and processor(s) |
US9715475B2 (en) | 2015-07-21 | 2017-07-25 | BigStream Solutions, Inc. | Systems and methods for in-line stream processing of distributed dataflow based computations |
JP6712052B2 (ja) * | 2016-06-29 | 2020-06-17 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0283728A (ja) * | 1988-09-21 | 1990-03-23 | Hitachi Ltd | 浮動小数点乗算装置 |
JPH10171350A (ja) * | 1996-12-10 | 1998-06-26 | Hitachi Ltd | ハッシュ値生成方法および装置 |
JP2001134539A (ja) * | 1999-11-01 | 2001-05-18 | Sony Computer Entertainment Inc | 面計算機及び面計算機における演算処理方法 |
US20060106910A1 (en) * | 2004-11-16 | 2006-05-18 | Analog Devices, Inc. | Galois field polynomial multiplication |
US20080263115A1 (en) * | 2007-04-17 | 2008-10-23 | Horizon Semiconductors Ltd. | Very long arithmetic logic unit for security processor |
JP2009134391A (ja) * | 2007-11-29 | 2009-06-18 | Renesas Technology Corp | ストリーム処理装置、ストリーム処理方法及びデータ処理システム |
-
2012
- 2012-03-22 JP JP2012066430A patent/JP5862397B2/ja not_active Expired - Fee Related
- 2012-11-07 US US13/670,867 patent/US20130254516A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20130254516A1 (en) | 2013-09-26 |
JP2013196654A (ja) | 2013-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210026634A1 (en) | Apparatus with reduced hardware register set using register-emulating memory location to emulate architectural register | |
JP5865405B2 (ja) | 命令の制御フローの追跡 | |
US10241791B2 (en) | Low energy accelerator processor architecture | |
US7937559B1 (en) | System and method for generating a configurable processor supporting a user-defined plurality of instruction sizes | |
US8051226B2 (en) | Circular buffer support in a single instruction multiple data (SIMD) data processor | |
JP4986431B2 (ja) | プロセッサ | |
WO2017185396A1 (zh) | 一种用于执行矩阵加/减运算的装置和方法 | |
US11341085B2 (en) | Low energy accelerator processor architecture with short parallel instruction word | |
EP1102163A2 (en) | Microprocessor with improved instruction set architecture | |
JPWO2006112045A1 (ja) | 演算処理装置 | |
WO2017185392A1 (zh) | 一种用于执行向量四则运算的装置和方法 | |
US10303399B2 (en) | Data processing apparatus and method for controlling vector memory accesses | |
WO2021249054A1 (zh) | 一种数据处理方法及装置、存储介质 | |
JP5862397B2 (ja) | 演算処理装置 | |
JP4078243B2 (ja) | 繰返しブロック命令を入れ子ループに沿ってゼロ・サイクル・オーバヘッドで実行する方法及び装置 | |
TW201729080A (zh) | 用於排列序列之指令及邏輯 | |
US20190369995A1 (en) | Vector generating instruction | |
US6889320B1 (en) | Microprocessor with an instruction immediately next to a branch instruction for adding a constant to a program counter | |
US10656914B2 (en) | Methods and instructions for a 32-bit arithmetic support using 16-bit multiply and 32-bit addition | |
JP5659772B2 (ja) | 演算処理装置 | |
US20130238880A1 (en) | Operation processing device, mobile terminal and operation processing method | |
TW201805802A (zh) | 一種運算裝置及其操作方法 | |
JP2009134745A (ja) | データ処理装置 | |
JP2007048316A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151006 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151110 |
|
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: 20151201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5862397 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |