JP2005309499A - プロセッサ - Google Patents
プロセッサ Download PDFInfo
- Publication number
- JP2005309499A JP2005309499A JP2004121705A JP2004121705A JP2005309499A JP 2005309499 A JP2005309499 A JP 2005309499A JP 2004121705 A JP2004121705 A JP 2004121705A JP 2004121705 A JP2004121705 A JP 2004121705A JP 2005309499 A JP2005309499 A JP 2005309499A
- Authority
- JP
- Japan
- Prior art keywords
- read
- write
- register
- memory banks
- 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
- 238000006073 displacement reaction Methods 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 abstract description 70
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 15
- 238000000605 extraction Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012546 transfer 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
-
- E—FIXED CONSTRUCTIONS
- E06—DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
- E06B—FIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
- E06B1/00—Border constructions of openings in walls, floors, or ceilings; Frames to be rigidly mounted in such openings
- E06B1/04—Frames for doors, windows, or the like to be fixed in openings
- E06B1/52—Frames specially adapted for doors
-
- E—FIXED CONSTRUCTIONS
- E06—DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
- E06B—FIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
- E06B1/00—Border constructions of openings in walls, floors, or ceilings; Frames to be rigidly mounted in such openings
- E06B1/56—Fastening frames to the border of openings or to similar contiguous frames
- E06B1/60—Fastening frames to the border of openings or to similar contiguous frames by mechanical means, e.g. anchoring means
- E06B1/6015—Anchoring means
-
- 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/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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
-
- 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)
- Structural Engineering (AREA)
- Civil Engineering (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mechanical Engineering (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
- Complex Calculations (AREA)
Abstract
【解決手段】 行列データはメモリバンク310乃至313に分散格納される。メモリバンク310乃至313から読み出された行列データは読出し制御回路360および370によって並び替えられて演算器に供給される。演算器による演算結果は書込み制御回路350によって並び替えられてメモリバンク310乃至313に書き込まれる。アドレス生成回路320乃至340はメモリバンク310乃至313に分散格納された行列データを縦方向または横方向に走査するためのアドレスを生成する。
【選択図】 図9
Description
D[0][0] = A[0][0]×B[0][0]+A[0][1]×B[1][0]+A[0][2]×B[2][0]+A[0][3]×B[3][0]
D[0][1] = A[0][0]×B[0][1]+A[0][1]×B[1][1]+A[0][2]×B[2][1]+A[0][3]×B[3][1]
D[0][2] = A[0][0]×B[0][2]+A[0][1]×B[1][2]+A[0][2]×B[2][2]+A[0][3]×B[3][2]
D[0][3] = A[0][0]×B[0][3]+A[0][1]×B[1][3]+A[0][2]×B[2][3]+A[0][3]×B[3][3]
D[1][0] = A[1][0]×B[0][0]+A[1][1]×B[1][0]+A[1][2]×B[2][0]+A[1][3]×B[3][0]
D[1][1] = A[1][0]×B[0][1]+A[1][1]×B[1][1]+A[1][2]×B[2][1]+A[1][3]×B[3][1]
D[1][2] = A[1][0]×B[0][2]+A[1][1]×B[1][2]+A[1][2]×B[2][2]+A[1][3]×B[3][2]
D[1][3] = A[1][0]×B[0][3]+A[1][1]×B[1][3]+A[1][2]×B[2][3]+A[1][3]×B[3][3]
D[2][0] = A[2][0]×B[0][0]+A[2][1]×B[1][0]+A[2][2]×B[2][0]+A[2][3]×B[3][0]
D[2][1] = A[2][0]×B[0][1]+A[2][1]×B[1][1]+A[2][2]×B[2][1]+A[2][3]×B[3][1]
D[2][2] = A[2][0]×B[0][2]+A[2][1]×B[1][2]+A[2][2]×B[2][2]+A[2][3]×B[3][2]
D[2][3] = A[2][0]×B[0][3]+A[2][1]×B[1][3]+A[2][2]×B[2][3]+A[2][3]×B[3][3]
D[3][0] = A[3][0]×B[0][0]+A[3][1]×B[1][0]+A[3][2]×B[2][0]+A[3][3]×B[3][0]
D[3][1] = A[3][0]×B[0][1]+A[3][1]×B[1][1]+A[3][2]×B[2][1]+A[3][3]×B[3][1]
D[3][2] = A[3][0]×B[0][2]+A[3][1]×B[1][2]+A[3][2]×B[2][2]+A[3][3]×B[3][2]
D[3][3] = A[3][0]×B[0][3]+A[3][1]×B[1][3]+A[3][2]×B[2][3]+A[3][3]×B[3][3]
R[d][0] =R[b][2]
R[d][1] =R[a][2]
R[d][2] =R[b][3]
R[d][3] =R[a][3]
R[d][0] =R[b][0]
R[d][1] =R[a][0]
R[d][2] =R[b][1]
R[d][3] =R[a][1]
R[d][0] =R[a][0]×R[b][0]+R[a][1]×R[b][1]+R[a][2]×R[b][2]+R[a][3]×R[b][3]
R[0][0]、R[0][1]、R[0][2]、R[0][3]、
R[1][0]、R[1][1]、R[1][2]、R[1][3]、
R[2][0]、R[2][1]、R[2][2]、R[2][3]、
R[3][0]、R[3][1]、R[3][2]、R[3][3]
R[4][0]、R[4][1]、R[4][2]、R[4][3]、
R[5][0]、R[5][1]、R[5][2]、R[5][3]、
R[6][0]、R[6][1]、R[6][2]、R[6][3]、
R[7][0]、R[7][1]、R[7][2]、R[7][3]
R[8][0]、R[8][1]、R[8][2]、R[8][3]、
R[9][0]、R[9][1]、R[9][2]、R[9][3]、
R[10][0]、R[10][1]、R[10][2]、R[10][3]、
R[11][0]、R[11][1]、R[11][2]、R[11][3]
MERGEH 12, 0, 2
MERGEH 13, 1, 3
MERGEL 14, 0, 2
MERGEL 15, 1, 3
MERGEH 0,12,13
MERGEL 1,12,13
MERGEH 2,14,15
MERGEL 3,14,15
DOT 12, 0, 4
DOT 13, 0, 5
DOT 14, 0, 6
DOT 15, 0, 7
MERGEL 12,12,13
MERGEL 14,14,15
MERGEL 8,12,14
DOT 12, 1, 4
DOT 13, 1, 5
DOT 14, 1, 6
DOT 15, 1, 7
MERGEL 12,12,13
MERGEL 14,14,15
MERGEL 9,12,14
DOT 12, 2, 4
DOT 13, 2, 5
DOT 14, 2, 6
DOT 15, 2, 7
MERGEL 12,12,13
MERGEL 14,14,15
MERGEL 10,12,14
DOT 12, 3, 4
DOT 13, 3, 5
DOT 14, 3, 6
DOT 15, 3, 7
MERGEL 12,12,13
MERGEL 14,14,15
MERGEL 11,12,14
「IA-32 Intel(R) Architecture Software Developer's Manual Volume 1: Basic Architecture」、Intel Corporation、2004年 「AltiVec Technology Programming Interface Manual」、Motorola Inc.、1999年6月
MWDsel[b] = pmod(b−IX−FS,n)
MWD[b] = WD[MWDsel[b]]
MWE[b] = (pmod(b−IX−FS,n)<=SZ)?1;0
MA[b] = (IX−pmod(IX,n))+(RXC ? pmod(b−IX,n) ; pmod(IX,n))
MRDsel[b] = pmod(b−IX−FS,n)
RD[MRDsel[b]] = MRD[b]
XDOT d_ix,d_fs, a_ix,a_rxc, b_ix,b_rxc
R[d_ix][d_fs] =
((a_rxc ? R[a_ix−(a_ix%4)+0][a_ix%4];
R[a_ix][0])
×(b_rxc ? R[b_ix−(b_ix%4)+0][b_ix%4];
R[b_ix][0]))+
((a_rxc ? R[a_ix−(a_ix%4)+1][a_ix%4];
R[a_ix][1])
×(b_rxc ? R[b_ix−(b_ix%4)+1][b_ix%4];
R[b_ix][1]))+
((a_rxc ? R[a_ix−(a_ix%4)+2][a_ix%4];
R[a_ix][2])
×(b_rxc ? R[b_ix−(b_ix%4)+2][b_ix%4];
R[b_ix][2]))+
((a_rxc ? R[a_ix−(a_ix%4)+3][a_ix%4];
R[a_ix][3])
×(b_rxc ? R[b_ix−(b_ix%4)+3][b_ix%4];
R[b_ix][3]))
XDOT 8,0, 0,0, 4,1
XDOT 8,1, 0,0, 5,1
XDOT 8,2, 0,0, 6,1
XDOT 8,3, 0,0, 7,1
XDOT 9,0, 1,0, 4,1
XDOT 9,1, 1,0, 5,1
XDOT 9,2, 1,0, 6,1
XDOT 9,3, 1,0, 7,1
XDOT 10,0, 2,0, 4,1
XDOT 10,1, 2,0, 5,1
XDOT 10,2, 2,0, 6,1
XDOT 10,3, 2,0, 7,1
XDOT 11,0, 3,0, 4,1
XDOT 11,1, 3,0, 5,1
XDOT 11,2, 3,0, 6,1
XDOT 11,3, 3,0, 7,1
110 プログラムカウンタ
120 命令デコーダ
130 レジスタファイル
140 演算器
141 演算回路群
142 加算器
210 機能コード
220 書込みオペランド
221 書込みレジスタ指定
222 書込みレジスタ走査方向
223 書込みレジスタ変位
224 書込みレジスタ要素数
230 第1読出しオペランド
231 第1読出しレジスタ指定
232 第1読出しレジスタ走査方向
233 第1読出しレジスタ変位
234 第1読出しレジスタ要素数
240 第2読出しオペランド
241 第2読出しレジスタ指定
242 第2読出しレジスタ走査方向
243 第2読出しレジスタ変位
244 第2読出しレジスタ要素数
310〜313、319 メモリバンク
320、330、340 アドレス生成回路
321 ビット分離回路
350 書込み制御回路
351 要素数デコーダ
352 ビット抽出回路
353 加算器
354 要素数セレクタ
355 データセレクタ
360、370 読出し制御回路
361 ビット抽出回路
362 加算器
363 データセレクタ
400 命令メモリ
1430〜1433 演算結果セレクタ
3220〜3223 減算器
3230〜3233 行番号セレクタ
3250〜3253 結合回路
Claims (10)
- 複数のメモリバンクと、
読出しレジスタ指定および読出しレジスタ走査方向に基づいて前記複数のメモリバンクに対して個別に読出しアドレスを供給する読出しアドレス生成回路と、
前記読出しアドレスに従って前記複数のメモリバンクから読み出された複数の読出しデータの配置を前記読出しレジスタ指定および読出しレジスタ変位に基づいて制御する読出し制御回路と、
前記読出し制御回路によって配置制御された複数の読出しデータを対象として複数の演算処理を行う演算器と
を具備することを特徴とするプロセッサ。 - 前記読出しレジスタ走査方向は、前記複数のメモリバンクに対する読出しアドレスが同一であるかまたは一定間隔で変化するかを指定することを特徴とする請求項1記載のプロセッサ。
- 前記演算器は、前記複数の演算処理として積和演算を行うことを特徴とする請求項1記載のプロセッサ。
- 複数のメモリバンクと、
書込みレジスタ指定および書込みレジスタ走査方向に基づいて前記複数のメモリバンクに対して個別に書込みアドレスを供給する書込みアドレス生成回路と、
複数のデータに対して複数の演算処理を行って複数の書込みデータを出力する演算器と、
前記演算器から出力された前記複数の書込みデータの配置を前記書込みレジスタ指定、書込みレジスタ変位および書込みレジスタ要素数に基づいて制御して前記複数のメモリバンクに供給する書込み制御回路と
を具備することを特徴とするプロセッサ。 - 前記書込みレジスタ走査方向は、前記複数のメモリバンクに対する書込みアドレスが同一であるかまたは一定間隔で変化するかを指定することを特徴とする請求項4記載のプロセッサ。
- 前記演算器は、前記複数の演算処理として積和演算を行うことを特徴とする請求項4記載のプロセッサ。
- 複数のメモリバンクと、
読出しレジスタ指定および読出しレジスタ走査方向に基づいて前記複数のメモリバンクに対して個別に読出しアドレスを供給する読出しアドレス生成回路と、
前記読出しアドレスに従って前記複数のメモリバンクから読み出された複数の読出しデータの配置を前記読出しレジスタ指定および読出しレジスタ変位に基づいて制御する読出し制御回路と、
前記読出し制御回路によって配置制御された複数の読出しデータを対象として複数の演算処理を行って複数の書込みデータを出力する演算器と、
書込みレジスタ指定および書込みレジスタ走査方向に基づいて前記複数のメモリバンクに対して個別に書込みアドレスを供給する書込みアドレス生成回路と、
前記演算器から出力された前記複数の書込みデータの配置を前記書込みレジスタ指定、書込みレジスタ変位および書込みレジスタ要素数に基づいて制御して前記複数のメモリバンクに供給する書込み制御回路と
を具備することを特徴とするプロセッサ。 - 前記読出しレジスタ走査方向は、前記複数のメモリバンクに対する読出しアドレスが同一であるかまたは一定間隔で変化するかを指定し、
前記書込みレジスタ走査方向は、前記複数のメモリバンクに対する書込みアドレスが同一であるかまたは一定間隔で変化するかを指定することを特徴とする請求項7記載のプロセッサ。 - 前記演算器は、前記複数の演算処理として積和演算を行うことを特徴とする請求項7記載のプロセッサ。
- プログラムに含まれる命令をデコードする命令デコーダと、
複数のメモリバンクと、
前記命令デコーダによってデコードされた読出しレジスタ指定および読出しレジスタ走査方向に基づいて前記複数のメモリバンクに対して個別に読出しアドレスを供給する読出しアドレス生成回路と、
前記読出しアドレスに従って前記複数のメモリバンクから読み出された複数の読出しデータの配置を前記命令デコーダによってデコードされた前記読出しレジスタ指定および読出しレジスタ変位に基づいて制御する読出し制御回路と、
前記読出し制御回路によって配置制御された複数の読出しデータを対象として複数の演算処理を行って複数の書込みデータを出力する演算器と、
前記命令デコーダによってデコードされた書込みレジスタ指定および書込みレジスタ走査方向に基づいて前記複数のメモリバンクに対して個別に書込みアドレスを供給する書込みアドレス生成回路と、
前記演算器から出力された前記複数の書込みデータの配置を前記命令デコーダによってデコードされた前記書込みレジスタ指定、書込みレジスタ変位および書込みレジスタ要素数に基づいて制御して前記複数のメモリバンクに供給する書込み制御回路と
を具備することを特徴とするプロセッサ。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004121705A JP3985797B2 (ja) | 2004-04-16 | 2004-04-16 | プロセッサ |
US11/100,490 US7313645B2 (en) | 2004-04-16 | 2005-04-07 | Processor to reduce data rearrangement instructions for matrices in multiple memory banks |
CNB2005100643774A CN100410919C (zh) | 2004-04-16 | 2005-04-14 | 处理器 |
EP05290840A EP1586991A3 (en) | 2004-04-16 | 2005-04-15 | Processor with plurality of register banks |
KR1020050031382A KR20060045756A (ko) | 2004-04-16 | 2005-04-15 | 프로세서 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004121705A JP3985797B2 (ja) | 2004-04-16 | 2004-04-16 | プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005309499A true JP2005309499A (ja) | 2005-11-04 |
JP3985797B2 JP3985797B2 (ja) | 2007-10-03 |
Family
ID=34942143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004121705A Expired - Lifetime JP3985797B2 (ja) | 2004-04-16 | 2004-04-16 | プロセッサ |
Country Status (5)
Country | Link |
---|---|
US (1) | US7313645B2 (ja) |
EP (1) | EP1586991A3 (ja) |
JP (1) | JP3985797B2 (ja) |
KR (1) | KR20060045756A (ja) |
CN (1) | CN100410919C (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009517763A (ja) * | 2005-12-01 | 2009-04-30 | エヌエックスピー ビー ヴィ | メモリ中の行列要素に効率的にアクセスするための方法および構成 |
JP2011002908A (ja) * | 2009-06-16 | 2011-01-06 | Fujitsu Semiconductor Ltd | プロセッサ及び情報処理システム |
US9183131B2 (en) | 2011-10-18 | 2015-11-10 | Renesas Electronics Corporation | Memory control device, memory control method, data processing device, and image processing system |
US10248384B2 (en) | 2016-08-03 | 2019-04-02 | Fujitsu Limited | Arithmetic processing device and control method for arithmetic processing device |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4478050B2 (ja) * | 2005-03-18 | 2010-06-09 | 株式会社リコー | Simd型マイクロプロセッサ及びデータ処理方法 |
CN102037514A (zh) * | 2008-05-21 | 2011-04-27 | Nxp股份有限公司 | 包括重排网络的数据处理系统 |
CN101685388B (zh) * | 2008-09-28 | 2013-08-07 | 北京大学深圳研究生院 | 执行比较运算的方法和装置 |
US8661187B2 (en) | 2009-04-08 | 2014-02-25 | International Business Machines Corporation | System, method, and computer program product for skewing expected wearout times of memory devices |
CN101620524B (zh) * | 2009-07-03 | 2011-08-10 | 中国人民解放军国防科学技术大学 | 支持矩阵整体读写操作的矩阵寄存器文件 |
CN102012803B (zh) * | 2010-11-25 | 2014-09-10 | 中国人民解放军国防科学技术大学 | 支持多宽度simd和多粒度simt的可配置矩阵寄存器单元 |
JP6078923B2 (ja) * | 2011-10-14 | 2017-02-15 | パナソニックIpマネジメント株式会社 | 転置演算装置とその集積回路、および転置処理方法 |
US8832158B2 (en) * | 2012-03-29 | 2014-09-09 | International Business Machines Corporation | Fast predicate table scans using single instruction, multiple data architecture |
GB2552154B (en) * | 2016-07-08 | 2019-03-06 | Advanced Risc Mach Ltd | Vector register access |
GB2552153B (en) | 2016-07-08 | 2019-07-24 | Advanced Risc Mach Ltd | An apparatus and method for performing a rearrangement operation |
CN108766332B (zh) * | 2018-04-17 | 2021-09-10 | 南京昀光科技有限公司 | 可扩展的硅基微型显示器驱动电路 |
CN109214273A (zh) * | 2018-07-18 | 2019-01-15 | 平安科技(深圳)有限公司 | 人脸图像比对方法、装置、计算机设备及存储介质 |
CN108985232A (zh) * | 2018-07-18 | 2018-12-11 | 平安科技(深圳)有限公司 | 人脸图像比对方法、装置、计算机设备及存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL136896C (ja) * | 1964-10-07 | |||
JPS60134359A (ja) | 1983-12-21 | 1985-07-17 | Nec Corp | 3次元アドレス空間のための並列メモリシステム |
EP0167959B1 (en) * | 1984-07-02 | 1992-05-06 | Nec Corporation | Computer vector register processing |
EP0410778A3 (en) * | 1989-07-28 | 1992-12-02 | Texas Instruments Incorporated | Graphics processor having a floating point coprocessor |
JPH0486930A (ja) * | 1990-07-31 | 1992-03-19 | Canon Inc | アドレス発生回路 |
US5218674A (en) * | 1990-09-14 | 1993-06-08 | Hughes Aircraft Company | Hardware bit block transfer operator in a graphics rendering processor |
US5832290A (en) * | 1994-06-13 | 1998-11-03 | Hewlett-Packard Co. | Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems |
US5649179A (en) * | 1995-05-19 | 1997-07-15 | Motorola, Inc. | Dynamic instruction allocation for a SIMD processor |
US5638533A (en) * | 1995-10-12 | 1997-06-10 | Lsi Logic Corporation | Method and apparatus for providing data to a parallel processing array |
US6307553B1 (en) * | 1998-03-31 | 2001-10-23 | Mohammad Abdallah | System and method for performing a MOVHPS-MOVLPS instruction |
US6604166B1 (en) * | 1998-12-30 | 2003-08-05 | Silicon Automation Systems Limited | Memory architecture for parallel data access along any given dimension of an n-dimensional rectangular data array |
US6397324B1 (en) * | 1999-06-18 | 2002-05-28 | Bops, Inc. | Accessing tables in memory banks using load and store address generators sharing store read port of compute register file separated from address register file |
JP4378015B2 (ja) * | 2000-02-28 | 2009-12-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メモリ・チップ |
JP3779540B2 (ja) | 2000-11-08 | 2006-05-31 | 株式会社ルネサステクノロジ | 複数レジスタ指定が可能なsimd演算方式 |
KR100401946B1 (ko) * | 2001-08-10 | 2003-10-17 | 박종원 | 주소계산과 자료이동방법 및 이를 이용한 충돌회피 기억 장치 |
GB2382677B (en) * | 2001-10-31 | 2005-09-07 | Alphamosaic Ltd | Data access in a processor |
US20040252547A1 (en) * | 2003-06-06 | 2004-12-16 | Chengpu Wang | Concurrent Processing Memory |
-
2004
- 2004-04-16 JP JP2004121705A patent/JP3985797B2/ja not_active Expired - Lifetime
-
2005
- 2005-04-07 US US11/100,490 patent/US7313645B2/en not_active Expired - Fee Related
- 2005-04-14 CN CNB2005100643774A patent/CN100410919C/zh not_active Expired - Fee Related
- 2005-04-15 EP EP05290840A patent/EP1586991A3/en not_active Withdrawn
- 2005-04-15 KR KR1020050031382A patent/KR20060045756A/ko not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009517763A (ja) * | 2005-12-01 | 2009-04-30 | エヌエックスピー ビー ヴィ | メモリ中の行列要素に効率的にアクセスするための方法および構成 |
JP2011002908A (ja) * | 2009-06-16 | 2011-01-06 | Fujitsu Semiconductor Ltd | プロセッサ及び情報処理システム |
US9183131B2 (en) | 2011-10-18 | 2015-11-10 | Renesas Electronics Corporation | Memory control device, memory control method, data processing device, and image processing system |
US10248384B2 (en) | 2016-08-03 | 2019-04-02 | Fujitsu Limited | Arithmetic processing device and control method for arithmetic processing device |
Also Published As
Publication number | Publication date |
---|---|
US20050251614A1 (en) | 2005-11-10 |
CN1684058A (zh) | 2005-10-19 |
CN100410919C (zh) | 2008-08-13 |
EP1586991A3 (en) | 2008-03-26 |
KR20060045756A (ko) | 2006-05-17 |
EP1586991A2 (en) | 2005-10-19 |
JP3985797B2 (ja) | 2007-10-03 |
US7313645B2 (en) | 2007-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7313645B2 (en) | Processor to reduce data rearrangement instructions for matrices in multiple memory banks | |
KR101202445B1 (ko) | 프로세서 | |
KR100329339B1 (ko) | 압축데이터에의한승산-가산연산수행장치 | |
US6209078B1 (en) | Accelerated multimedia processor | |
US20050257026A1 (en) | Bit serial processing element for a SIMD array processor | |
US10409604B2 (en) | Apparatus and method for performing multiply-and-accumulate-products operations | |
NO317739B1 (no) | Apparat for utforelse av multiplis±r/add±roperasjoner pa pakkede data | |
JP2018022339A (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP4901754B2 (ja) | 単一命令複数データ実行エンジンのフラグレジスタのための評価ユニット | |
JP2020508512A (ja) | データ処理装置における乗累算 | |
US11263018B2 (en) | Vector processor and control method therefor | |
JP2008217061A (ja) | Simd型マイクロプロセッサ | |
US7284113B2 (en) | Synchronous periodical orthogonal data converter | |
EP0474246A2 (en) | Image signal processor | |
JP3935678B2 (ja) | Simd積和演算方法、積和演算回路、および、半導体集積回路装置 | |
WO2007099950A1 (ja) | 高速pe間データ再配置機能を有するプロセッサアレイシステム | |
JP4896839B2 (ja) | マイクロプロセッサおよびデータ処理方法 | |
JP4482356B2 (ja) | Simdプロセッサを用いた画像処理方法及び画像処理装置 | |
JP2906792B2 (ja) | ディジタルプロセッサ及びその制御方法 | |
CN115576606B (zh) | 实现矩阵转置乘的方法、协处理器、服务器及存储介质 | |
JPH07210545A (ja) | 並列処理プロセッサ | |
WO2023199014A1 (en) | Technique for handling data elements stored in an array storage | |
WO2023199015A1 (en) | Technique for handling data elements stored in an array storage | |
JP4821427B2 (ja) | データ処理装置及びそのプログラム | |
JP2006004226A (ja) | データ演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070301 |
|
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: 20070619 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070702 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100720 Year of fee payment: 3 |