JP2006527868A - Simdデータ処理システムにおける結果区分化 - Google Patents
Simdデータ処理システムにおける結果区分化 Download PDFInfo
- Publication number
- JP2006527868A JP2006527868A JP2005500871A JP2005500871A JP2006527868A JP 2006527868 A JP2006527868 A JP 2006527868A JP 2005500871 A JP2005500871 A JP 2005500871A JP 2005500871 A JP2005500871 A JP 2005500871A JP 2006527868 A JP2006527868 A JP 2006527868A
- Authority
- JP
- Japan
- Prior art keywords
- result
- data
- storage device
- values
- value
- 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
- 230000011218 segmentation Effects 0.000 title 1
- 230000006870 function Effects 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 41
- 239000000872 buffer Substances 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 9
- 238000000638 solvent extraction Methods 0.000 claims description 5
- 230000001186 cumulative effect Effects 0.000 abstract description 6
- 230000014759 maintenance of location Effects 0.000 abstract 1
- 238000005192 partition Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 7
- 238000009825 accumulation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
2ビット値B1によって乗算される。これらの両乗算は、それぞれA0B0及びA1B1である64ビット結果を生成する。これら2つの結果の最上位32ビットは、上位結果レジスタ17に書き込まれる。これら2つの結果の最下位32ビットは、下位結果レジスタ18に書き込まれる。異なる前記レジスタ17,18に書き込まれる2つの前記部分は、重なり合わずに連続している。
4 レジスタバンク
6、22、24、32、34 乗算器
8 シフター
10、36 加算器
12 命令パイプライン
14 命令復号器
17、38 上位結果レジスタ
18、40 下位結果レジスタ
20 SIMD乗算器
Claims (32)
- データ処理命令に応答してデータ処理演算を実行するための装置であって、
前記装置は、
1つまたはそれ以上の入力記憶装置内に格納された複数の独立したデータ値からそれぞれ複数の結果データ値を生成するために、前記データ処理命令に応答する処理ロジックと、
上位結果記憶装置内の各結果データ値の上位ビット部分と、下位結果記憶装置内の各結果データ値の下位ビット部分とを格納するために、前記処理命令に応答する結果区分器と
を具備することを特徴とする装置。 - 前記処理ロジックは、各組の独立したデータ値、すなわち第1の入力記憶装置から取得される1組の第1の独立データ値及び第2の入力記憶装置から取得される1組の第2の独立データ値を互いに乗算するように機能することを特徴とする請求項1に記載の装置。
- 前記処理ロジックは、前記複数の結果データ値を生成するために、前記各組の独立データ値から生成された値を伴った、前記上位結果記憶装置及び前記下位結果記憶装置内にすでに格納された値を累積するように機能することを特徴とする請求項2に記載の装置。
- 各結果データ値の前記上位ビット部分及び前記下位ビット部分は、前記結果データ値の重なり合わない連続した部分であることを特徴とする請求項1から請求項3のうちいずれか1に記載の装置。
- 前記データ処理命令は、前記独立したデータ値が符号付き分数値であることを示し、前記処理ロジックは、第2の独立データ値と第1の独立データ値を乗算することにより得られた各値を2倍にするように機能することを特徴とする請求項2から請求項4のうちいずれか1に記載の装置。
- 各入力記憶装置は、M個の独立したNビットデータ値を格納することを特徴とする請求項1から請求項5のうちいずれか1に記載の装置。
- 前記データ処理命令は、前記独立したデータ値のデータ幅を指定することを特徴とする請求項6に記載の装置。
- 前記処理ロジックは、各組の前記独立したデータ値を互いに乗算するように機能する整数乗算器であることを特徴とする請求項2から請求項7のうちいずれか1に記載の装置。
- 前記処理ロジックは、前記独立したデータ値で飽和データ処理演算を実行するように機能することを特徴とする請求項1から請求項8のうちいずれか1に記載の装置。
- 前記結果区分器は、前記データ処理命令に応じて制御される複数の乗算器を含むことを特徴とする請求項1から請求項9のうちいずれか1に記載の装置。
- 前記装置は、プロセッサコアであることを特徴とする請求項1から請求項10のうちいずれか1に記載の装置。
- 1つまたはそれ以上の前記入力記憶装置は、
レジスタバンクレジスタと、
専用レジスタと、
バッファメモリと、
先入れ先出しバッファと、
メモリと
のうちの1つまたはそれ以上であることを特徴とする請求項1から請求項11のうちいずれか1に記載の装置。 - 前記上位結果記憶装置は、
レジスタバンクレジスタと、
専用レジスタと、
バッファメモリと、
先入れ先出しバッファと、
メモリと
のうちの1つであることを特徴とする請求項1から請求項12のうちいずれか1に記載の装置。 - 前記下位結果記憶装置は、
レジスタバンクレジスタと、
専用レジスタと、
バッファメモリと、
先入れ先出しバッファと、
メモリと
のうちの1つであることを特徴とする請求項1から請求項13のうちいずれか1に記載の装置。 - 前記処理ロジックは、各結果データ値に対して1つまたはそれ以上の上位ガードビットを生成するように機能し、かつ、前記結果区分器は、ガードビット記憶装置内の前記ガードビットを格納するように機能することを特徴とする請求項1から請求項14のうちいずれか1に記載の装置。
- 前記ガードビット記憶装置は、
レジスタバンクレジスタと、
専用レジスタと、
バッファメモリと、
先入れ先出しバッファと、
メモリと
のうちの1つであることを特徴とする請求項15に記載の装置。 - データ処理命令に応答してデータ処理演算を実行する方法であって、
前記方法は、
前記データ処理命令に応答して、1つまたはそれ以上の入力記憶装置内に格納された複数の独立したデータ値からそれぞれ複数の結果データ値を生成する段階と、
前記データ処理命令に応答して、上位結果記憶装置内の各結果データ値の上位ビット部分と、下位結果記憶装置内の各結果データ値の下位ビット部分とを格納することによって、前記結果データ値を区分する段階と
を具備することを特徴とする方法。 - 前記各組の独立したデータ値、すなわち、第1の入力記憶装置から取得される1組の第1の独立したデータ値及び第2の入力記憶装置から取得される1組の第2の独立したデータ値は、互いに乗算されることを特徴とする請求項17に記載の方法。
- 前記上位結果記憶装置及び前記下位結果記憶装置内にすでに格納された値は、前記複数の結果データ値を生成するために、前記各組の独立したデータ値から生成された値に累積されることを特徴とする請求項18に記載の方法。
- 各結果データ値の前記上位ビット部分及び前記下位ビット部分は、前記結果データ値の重なり合わない連続した部分であることを特徴とする請求項17から請求項19のうちいずれか1に記載の方法。
- 前記データ処理命令は、前記独立したデータ値が符号付き分数値であり、かつ、第1の独立したデータ値と第2の独立したデータ値とを乗算することにより得られた各値は2倍であることを示していることを特徴とする請求項18から請求項20のうちいずれか1に記載の方法。
- 各入力記憶装置は、M個の独立したNビットデータ値を格納することを特徴とする請求項17から請求項21のうちいずれか1に記載の方法。
- 前記データ処理命令は、前記独立したデータ値のデータ幅を指定することを特徴とする請求項22に記載の方法。
- 整数乗算器は、前記各組の独立したデータ値を互いに乗算するように機能することを特徴とする請求項18から請求項23のうちいずれか1に記載の方法。
- 飽和データ処理演算は、前記独立したデータ値で実行されることを特徴とする請求項17から請求項24のうちいずれか1に記載の方法。
- 区分する段階は、前記データ処理命令に応じて制御される複数の乗算器によって少なくとも部分的に実行されることを特徴とする請求項17から請求項25のうちいずれか1に記載の方法。
- 前記方法は、プロセッサコア内で実行されることを特徴とする請求項17から請求項26のうちいずれか1に記載の方法。
- 1つまたはそれ以上の前記入力記憶装置は、
レジスタバンクレジスタと、
専用レジスタと、
バッファメモリと、
先入れ先出しバッファと、
メモリと
のうちの1つまたはそれ以上であることを特徴とする請求項17から請求項27のうちいずれか1に記載の方法。 - 前記上位結果記憶装置は、
レジスタバンクレジスタと、
専用レジスタと、
バッファメモリと、
先入れ先出しバッファと、
メモリと
のうちの1つであることを特徴とする請求項17から請求項28のうちいずれか1に記載の方法。 - 前記下位結果記憶装置は、
レジスタバンクレジスタと、
専用レジスタと、
バッファメモリと、
先入れ先出しバッファと、
メモリと
のうちの1つであることを特徴とする請求項17から請求項29のうちいずれか1に記載の方法。 - 前記処理ロジックは、各結果データ値に対して1つまたはそれ以上の上位ガードビットを生成するように機能し、かつ、前記結果区分器は、ガードビット記憶装置内の前記ガードビットを格納するように機能することを特徴とする請求項17から請求項30のうちいずれか1に記載の方法。
- 前記ガードビット記憶装置は、
レジスタバンクレジスタと、
専用レジスタと、
バッファメモリと、
先入れ先出しバッファと、
メモリと
のうちの1つであることを特徴とする請求項31に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/461,880 US7668897B2 (en) | 2003-06-16 | 2003-06-16 | Result partitioning within SIMD data processing systems |
PCT/GB2003/005548 WO2004114127A1 (en) | 2003-06-16 | 2003-12-18 | Result partitioning within simd data processing systems |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006527868A true JP2006527868A (ja) | 2006-12-07 |
JP2006527868A5 JP2006527868A5 (ja) | 2007-02-08 |
JP4402654B2 JP4402654B2 (ja) | 2010-01-20 |
Family
ID=33511357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005500871A Expired - Fee Related JP4402654B2 (ja) | 2003-06-16 | 2003-12-18 | Simdデータ処理システムにおける結果区分化 |
Country Status (11)
Country | Link |
---|---|
US (1) | US7668897B2 (ja) |
EP (1) | EP1634163B1 (ja) |
JP (1) | JP4402654B2 (ja) |
KR (1) | KR101042647B1 (ja) |
CN (1) | CN100378651C (ja) |
AU (1) | AU2003290285A1 (ja) |
IL (1) | IL169374A (ja) |
MY (1) | MY135903A (ja) |
RU (1) | RU2005139390A (ja) |
TW (1) | TWI266204B (ja) |
WO (1) | WO2004114127A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3779540B2 (ja) * | 2000-11-08 | 2006-05-31 | 株式会社ルネサステクノロジ | 複数レジスタ指定が可能なsimd演算方式 |
US8719837B2 (en) | 2004-05-19 | 2014-05-06 | Synopsys, Inc. | Microprocessor architecture having extendible logic |
US20060277243A1 (en) * | 2005-06-02 | 2006-12-07 | International Business Machines Corporation | Alternate representation of integers for efficient implementation of addition of a sequence of multiprecision integers |
US8218635B2 (en) | 2005-09-28 | 2012-07-10 | Synopsys, Inc. | Systolic-array based systems and methods for performing block matching in motion compensation |
US10228941B2 (en) * | 2013-06-28 | 2019-03-12 | Intel Corporation | Processors, methods, and systems to access a set of registers as either a plurality of smaller registers or a combined larger register |
FR3021428B1 (fr) | 2014-05-23 | 2017-10-13 | Kalray | Multiplication de matrices de bits utilisant des registres explicites |
US9710228B2 (en) | 2014-12-29 | 2017-07-18 | Imagination Technologies Limited | Unified multiply unit |
US9875213B2 (en) * | 2015-06-26 | 2018-01-23 | Intel Corporation | Methods, apparatus, instructions and logic to provide vector packed histogram functionality |
US10489155B2 (en) | 2015-07-21 | 2019-11-26 | Qualcomm Incorporated | Mixed-width SIMD operations using even/odd register pairs for wide data elements |
US11188329B1 (en) * | 2020-06-24 | 2021-11-30 | Micron Technology, Inc. | Dynamic precision bit string accumulation |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0654733B1 (en) | 1993-11-23 | 2000-05-24 | Hewlett-Packard Company | Parallel data processing in a single processor |
EP0661624A1 (en) | 1994-01-04 | 1995-07-05 | Sun Microsystems, Inc. | Pseudo-superscalar technique for video processing |
GB2291515B (en) | 1994-07-14 | 1998-11-18 | Advanced Risc Mach Ltd | Data processing using multiply-accumulate instructions |
EP0795155B1 (en) | 1994-12-01 | 2003-03-19 | Intel Corporation | A microprocessor having a multiply operation |
GB2317467B (en) | 1996-09-23 | 2000-11-01 | Advanced Risc Mach Ltd | Input operand control in data processing systems |
TW364976B (en) | 1996-09-23 | 1999-07-21 | Arm Corp | Input operand control in data processing systems |
KR19990061571A (ko) * | 1997-12-31 | 1999-07-26 | 윤종용 | 디지털 신호 처리기의 연산장치 |
US6230257B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Method and apparatus for staggering execution of a single packed data instruction using the same circuit |
US6230253B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Executing partial-width packed data instructions |
US6253299B1 (en) * | 1999-01-04 | 2001-06-26 | International Business Machines Corporation | Virtual cache registers with selectable width for accommodating different precision data formats |
KR100325430B1 (ko) * | 1999-10-11 | 2002-02-25 | 윤종용 | 상이한 워드 길이의 산술연산을 수행하는 데이터 처리장치 및 그 방법 |
US7039906B1 (en) * | 2000-09-29 | 2006-05-02 | International Business Machines Corporation | Compiler for enabling multiple signed independent data elements per register |
-
2003
- 2003-06-16 US US10/461,880 patent/US7668897B2/en active Active
- 2003-12-18 JP JP2005500871A patent/JP4402654B2/ja not_active Expired - Fee Related
- 2003-12-18 CN CNB2003801103467A patent/CN100378651C/zh not_active Expired - Lifetime
- 2003-12-18 EP EP03782649.2A patent/EP1634163B1/en not_active Expired - Lifetime
- 2003-12-18 KR KR1020057024017A patent/KR101042647B1/ko active IP Right Grant
- 2003-12-18 AU AU2003290285A patent/AU2003290285A1/en not_active Abandoned
- 2003-12-18 WO PCT/GB2003/005548 patent/WO2004114127A1/en active Application Filing
- 2003-12-18 RU RU2005139390/09A patent/RU2005139390A/ru not_active Application Discontinuation
-
2004
- 2004-02-09 TW TW093102966A patent/TWI266204B/zh not_active IP Right Cessation
- 2004-02-11 MY MYPI20040435A patent/MY135903A/en unknown
-
2005
- 2005-06-23 IL IL169374A patent/IL169374A/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1634163A1 (en) | 2006-03-15 |
WO2004114127A1 (en) | 2004-12-29 |
EP1634163B1 (en) | 2017-05-24 |
CN100378651C (zh) | 2008-04-02 |
MY135903A (en) | 2008-07-31 |
RU2005139390A (ru) | 2006-05-27 |
CN1791857A (zh) | 2006-06-21 |
JP4402654B2 (ja) | 2010-01-20 |
AU2003290285A1 (en) | 2005-01-04 |
IL169374A0 (en) | 2007-07-04 |
TW200500879A (en) | 2005-01-01 |
US20040255100A1 (en) | 2004-12-16 |
IL169374A (en) | 2011-01-31 |
TWI266204B (en) | 2006-11-11 |
KR101042647B1 (ko) | 2011-06-20 |
KR20060040597A (ko) | 2006-05-10 |
US7668897B2 (en) | 2010-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102447636B1 (ko) | 부동 소수점 수를 누산하기 위한 산술 연산을 수행하는 장치 및 방법 | |
US8074058B2 (en) | Providing extended precision in SIMD vector arithmetic operations | |
US7797363B2 (en) | Processor having parallel vector multiply and reduce operations with sequential semantics | |
US6256655B1 (en) | Method and system for performing floating point operations in unnormalized format using a floating point accumulator | |
IL169374A (en) | Result partitioning within simd data processing systems | |
US5457805A (en) | Microcomputer enabling high speed execution of product-sum operation | |
US20030005261A1 (en) | Method and apparatus for attaching accelerator hardware containing internal state to a processing core | |
US7725522B2 (en) | High-speed integer multiplier unit handling signed and unsigned operands and occupying a small area | |
JP2001027945A (ja) | Simd演算を実行するために標準macユニットを利用する浮動小数点ユニット | |
US6026486A (en) | General purpose processor having a variable bitwidth | |
US6889242B1 (en) | Rounding operations in computer processor | |
US20240004663A1 (en) | Processing device with vector transformation execution | |
US20020065860A1 (en) | Data processing apparatus and method for saturating data values | |
CN110688153B (zh) | 一种指令分支执行控制方法及相关设备、指令结构 | |
US20040128335A1 (en) | Fast fourier transform (FFT) butterfly calculations in two cycles | |
US6275925B1 (en) | Program execution method and program execution device | |
US9213524B2 (en) | Method and device for generating floating-point values | |
JP3693556B2 (ja) | 浮動小数点ユニットにおいてロードバイパスを実行する方法及び装置 | |
US7308560B2 (en) | Processing unit | |
US11704092B2 (en) | High-precision anchored-implicit processing | |
JP3441847B2 (ja) | データメモリを有するプロセッサ | |
EP1197874A1 (en) | Signal processor and product-sum operating device for use therein with rounding function | |
JP2924281B2 (ja) | アドレス・ポインタ | |
US20060064451A1 (en) | Arithmetic circuit | |
US20060101105A1 (en) | Double shift mechanism and methods thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061012 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061019 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20061215 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070515 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070803 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070910 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080307 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090904 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091029 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121106 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121106 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131106 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |