KR100996888B1 - 앨리어싱 데이터 처리 레지스터 - Google Patents
앨리어싱 데이터 처리 레지스터 Download PDFInfo
- Publication number
- KR100996888B1 KR100996888B1 KR1020067011129A KR20067011129A KR100996888B1 KR 100996888 B1 KR100996888 B1 KR 100996888B1 KR 1020067011129 A KR1020067011129 A KR 1020067011129A KR 20067011129 A KR20067011129 A KR 20067011129A KR 100996888 B1 KR100996888 B1 KR 100996888B1
- Authority
- KR
- South Korea
- Prior art keywords
- register
- data
- size
- registers
- different
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 199
- 238000013507 mapping Methods 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 83
- 230000004044 response Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 238000011049 filling Methods 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims 4
- 238000013500 data storage Methods 0.000 abstract description 3
- 230000008707 rearrangement Effects 0.000 description 54
- 239000013598 vector Substances 0.000 description 53
- 230000008901 benefit Effects 0.000 description 18
- 238000012546 transfer Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 238000007792 addition Methods 0.000 description 8
- 239000003607 modifier Substances 0.000 description 6
- 230000017105 transposition Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 229920006395 saturated elastomer Polymers 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005266 casting Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000001737 promoting effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000011068 loading method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000013642 negative control Substances 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline, 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- 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
-
- 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/30098—Register arrangements
-
- 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/30105—Register structure
-
- 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/30105—Register structure
- G06F9/30109—Register structure having multiple operands in a single register
-
- 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/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- 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
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- 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, look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- 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/82—Architectures of general purpose stored program computers data or demand driven
Abstract
Description
상기 장치는,
상기 방법은,
데이터 유형 수식어 | 설명 |
.<size> | <size> 비트의 임의의 요소 |
.I<size> | <size> 비트의 부호가있는 또는 부호가없는 모듈로 정수 |
.F<size> | <size> 비트의 부동 소수점 수 |
.P<size> | <size> 보다 낮은 차수의 {0,1} 이상의 다항식 |
.S<size> | <size> 비트의 부호가있는 정수 |
.U<size> | <size> 비트의 부호가 없는 정수 |
정렬 수식어 | 시작 주소 포맷 | 약속 및 유용성 |
@16 | ..XXXXXXX0 | 시작 주소가 2바이트의 배수인 것으로 고려된다. 정확히 2바이트를 전송하는 명령어에 이용될 수 있다. |
@32 | ..XXXXXX00 | 시작 주소가 4바이트의 배수인 것으로 고려된다. 정확히 4바이트를 전송하는 명령어에 이용될 수 있다. |
@64 | ..XXXXX000 | 시작 주소가 8바이트의 배수인 것으로 고려된다. 8 바이트의 배수를 전송하는 명령어에 이용될 수 있다. |
@128 | ..XXXX0000 | 시작 주소가 16바이트의 배수인 것으로 고려된다. 16 바이트의 배수를 전송하는 명령어에 이용될 수 있다. |
@256 | ..XXX00000 | 시작 주소가 32바이트의 배수인 것으로 고려된다. 32 바이트의 배수를 전송하는 명령어에 이용될 수 있다. |
Claims (57)
- 복수의 데이터 요소를 저장하도록 동작할 수 있는 레지스터 데이터 저장소로서, 상기 레지스터 저장소내의 레지스터가 상기 데이터 요소들의 데이터 요소 크기에 따른 다수의 데이터 요소들을 유지하는 데이터 저장소와,데이터 처리 명령어에 응답하여, 상기 레지스터 데이터 저장소의 상기 레지스터로서 액세스되는 선택된 복수의 데이터 요소에 병렬로 데이터 처리 연산을 수행하고, 상기 레지스터 내의 병렬 처리의 상이한 레인을 채우는 처리 로직을 포함하는 데이터 처리장치로서,상기 선택된 복수의 데이터 요소의 데이터 요소는 복수의 상이한 데이터 요소 크기 중 하나를 공유하고, 상기 레지스터는 복수의 상이한 레지스터 크기 중 하나를 가지며, 상기 데이터 처리 명령어는, 상기 데이터 처리 연산에 대해 상기 복수의 상이한 데이터 요소 크기들 중에서 상기 선택된 복수의 데이터 요소들에의해 공유된 데이터 요소 크기 및 상기 레지스터의 레지스터 크기를 지정하며,상기 장치는,상기 레지스터의 상기 레지스터 크기에 따라 상기 레지스터를 상기 레지스터 데이터 저장소의 일부로 맵핑하여, 상기 레지스터 데이터 저장소의 상기 부분 내에 저장된 데이터 요소가 상이한 레지스터 크기의 각각의 상이한 레지스터의 일부로서 액세스될 수 있도록 동작할 수 있는 레지스터 액세싱 로직을 더 포함하는 데이터 처리 장치.
- 제 1 항에 있어서,상기 데이터 처리 명령어는, 상기 데이터 처리 명령어에 의해 지정되는 각각의 소스 레지스터 크기 및 소스 데이터 요소 크기를 각각 갖는 하나 이상의 소스 레지스터를 지정하는 것을 특징으로 하는 데이터 처리 장치.
- 제 1 항 또는 제 2 항에 있어서,상기 데이터 처리 명령어는, 상기 데이터 처리 명령어에 의해 지정되는 목적지 레지스터 크기 및 목적지 데이터 요소 크기를 갖는 하나 이상의 목적지 레지스터를 지정하는 것을 특징으로 하는 데이터 처리 장치.
- 제 3 항에 있어서,상기 목적지 데이터 요소 크기는 상기 하나 이상의 소스 데이터 요소 크기 중 적어도 하나와 상이한 것을 특징으로 하는 데이터 처리 장치.
- 제 1 항 또는 제 2 항에 있어서,두 개의 상이한 레지스터를 갖는 상기 레지스터 데이터 저장소에 기록된 데이터 요소 세트가, 하나의 추가 레지스터 내에서 상기 레지스터 데이터 저장소로부터 모두 함께 판독될 수 있는 것을 특징으로 하는 데이터 처리 장치.
- 제 5 항에 있어서,상기 두 개의 상이한 레지스터는 상기 레지스터 데이터 저장소의 인접한 부분에 기록하는 것을 특징으로 하는 데이터 처리 장치.
- 제 6 항에 있어서,상기 하나의 추가 레지스터는 상기 두 개의 상이한 레지스터의 레지스터 크기의 합과 동일한 레지스터 크기를 갖는 것을 특징으로 하는 데이터 처리 장치.
- 제 1 항 또는 제 2 항에 있어서,단일 레지스터로부터 상기 레지스터 데이터 저장소에 함께 기록된 데이터 요소 그룹은 두 개의 상이한 추가 레지스터 내에서 상기 레지스터 데이터 저장소로부터 판독될 수 있는 것을 특징으로 하는 데이터 처리 장치.
- 제 8 항에 있어서,상기 두 개의 상이한 추가 레지스터는 상기 레지스터 데이터 저장소의 인접한 부분으로부터 판독되는 것을 특징으로 하는 데이터 처리 장치.
- 제 9 항에 있어서,상기 단일 레지스터는 상기 두 개의 상이한 추가 레지스터의 레지스터 크기의 합과 동일한 레지스터 크기를 갖는 것을 특징으로 하는 데이터 처리 장치.
- 제 1 항 또는 제 2 항에 있어서,제1 레지스터 크기의 제1 레지스터로부터 상기 레지스터 데이터 저장소에 함께 기록된 데이터 요소 그룹은 제2 레지스터 크기의 제2 레지스터 내에서 상기 레지스터 데이터 저장소로부터 판독될 수 있으며, 상기 제1 레지스터 크기는 상기 제2 레지스터 크기와 상이한 것을 특징으로 하는 데이터 처리 장치.
- 제 1 항 또는 제 2 항에 있어서,상기 데이터 처리 명령어는 각각의 레지스터 크기(S1 및 S2)를 갖는 두 개의 소스 레지스터와 레지스터 크기(D)를 갖는 목적지 레지스터를 지정하는 것을 특징으로 하는 데이터 처리 장치.
- 제 12 항에 있어서,S1 = S2 = D인 것을 특징으로 하는 데이터 처리 장치.
- 제 12 항에 있어서,2*S1 = 2*S2 = D인 것을 특징으로 하는 데이터 처리 장치.
- 제 12 항에 있어서,2*S1 = S2 = D인 것을 특징으로 하는 데이터 처리 장치.
- 제 12 항에 있어서,S1 = S2 = 2*D인 것을 특징으로 하는 데이터 처리 장치.
- 제 1 항 또는 제 2 항에 있어서,상기 데이터 처리 명령어는 레지스터 크기(S)를 갖는 소스 레지스터 및 레지스터 크기(D)를 갖는 목적지 레지스터를 지정하는 것을 특징으로 하는 데이터 처리 장치.
- 제 17 항에 있어서,S=D 인 것을 특징으로 하는 데이터 처리 장치.
- 제 17 항에 있어서,2*S=D 인 것을 특징으로 하는 데이터 처리 장치.
- 제 17 항에 있어서,S=2*D 인 것을 특징으로 하는 데이터 처리 장치.
- 제 1 항 또는 제 2 항에 있어서,상기 데이터 처리 명령어는 상기 레지스터 데이터 저장소 내의 레지스터를 지정하도록 동작할 수 있는 레지스터 지정 필드를 포함하며, 소정의 레지스터 지정 필드에 대한 상기 레지스터는 상기 데이터 요소 크기 및 상기 레지스터 크기에 따라 상기 레지스터 데이터 저장소의 다른 부분에 상응하는 것을 특징으로 하는 데이터 처리 장치.
- 제 21 항에 있어서,소정의 데이터 요소 크기 및 레지스터 크기에 대한 상기 레지스터 지정 필드의 범위에 상응하는 복수의 레지스터는, 상이한 레지스터 크기 및 상이한 데이터 요소 크기 중 적어도 하나를 사용하여 레지스터로 액세스될 때 상기 레지스터 데이터 저장소의 연속 부분으로 맵핑하는 것을 특징으로 하는 데이터 처리 장치.
- 제 1 항 또는 제 2 항에 있어서,상기 상이한 레지스터 크기의 각기 다른 레지스터는 상기 부분 내에 저장된 상기 데이터 요소의 크기와 상이한 데이터 요소 크기를 갖는 하나 이상의 레지스터를 포함하는 것을 특징으로 하는 데이터 처리 장치.
- 제 1 항 또는 제 2 항에 있어서,상기 데이터 처리 명령어는 상기 레지스터의 레지스터 번호를 인코딩하는 복수의 비트를 포함하며, 상기 복수의 비트는, 상기 레지스터 번호를 형성하도록 상기 레지스터 크기에 따라 다수의 비트 위치에 의해 순환할 수 있는 연속적인 비트 필드로 맵핑될 수 있는 것을 특징으로 하는 데이터 처리 장치.
- 제 24 항에 있어서,상기 레지스터 액세싱 로직은, 상기 레지스터 데이터 저장소로부터 판독된 단일 데이터 요소를 저장하는 스칼라 레지스터로서 상기 레지스터 데이터 저장소를 액세스하도록 동작할 수 있는 것을 특징으로 하는 데이터 처리 장치.
- 제 24 항에 있어서,상기 레지스터 액세싱 로직은, 상기 레지스터 데이터 저장소로부터 판독된 단일 데이터 요소의 복수의 사본을 저장하는 레지스터로서 상기 레지스터 데이터 저장소를 액세스하도록 동작할 수 있는 것을 특징으로 하는 데이터 처리 장치.
- 제 25 항에 있어서,상기 레지스터 액세싱 로직은 상기 레지스터 데이터 저장소를 액세스하기 위한 행 주소 및 열 주소를 생성하도록 동작할 수 있으며, 상기 비트의 연속 필드의 제1 부분이 상기 행 주소에 상응하고, 상기 비트의 연속 필드의 제2 부분이 상기 열 주소에 상응하는 것을 특징으로 하는 데이터 처리 장치.
- 제 27 항에 있어서,상기 제1 부분과 상기 제2 부분 사이의 하나 이상의 경계는 상기 데이터 요소 크기에 따라 그 위치가 변화하는 것을 특징으로 하는 데이터 처리 장치.
- 레지스터 데이터 저장소 내에 복수의 데이터 요소를 저장하는 단계로서, 상기 레지스터 저장소내의 레지스터가 상기 데이터 요소들의 데이터 요소 크기에 따른 다수의 데이터 요소들을 유지하는 단계와,데이터 처리 명령어에 응답하여, 상기 레지스터 데이터 저장소의 상기 레지스터로서 액세스되는 선택된 복수의 데이터 요소에 병렬로 데이터 처리 연산을 수행하고, 상기 레지스터 내의 병렬 처리의 상이한 레인을 채우는 단계를 포함하는 데이터 처리 방법으로서,상기 선택된 복수의 데이터 요소의 데이터 요소는 복수의 상이한 데이터 요소 크기 중 하나를 공유하고, 상기 레지스터는 복수의 상이한 레지스터 크기 중 하나를 가지며, 상기 데이터 처리 명령어는, 상기 데이터 처리 연산에 대해 상기 복수의 상이한 데이터 요소 크기들 중에서 상기 선택된 복수의 데이터 요소들에의해 공유된 데이터 요소 크기 및 상기 레지스터의 레지스터 크기를 지정하며,상기 방법은,상기 레지스터 데이터 저장소의 일부에 저장된 데이터 요소가 상이한 레지스터 크기의 각각의 상이한 레지스터의 일부로서 액세스될 수 있도록, 상기 레지스터의 상기 레지스터 크기에 따라 상기 레지스터를 상기 레지스터 데이터 저장소의 일부로 맵핑하는 단계를 더 포함하는 데이터 처리 방법.
- 제 29 항에 있어서,상기 데이터 처리 명령어는, 상기 데이터 처리 명령어에 의해 지정되는 각각의 소스 레지스터 크기 및 소스 데이터 요소 크기를 각각 갖는 하나 이상의 소스 레지스터를 지정하는 것을 특징으로 하는 데이터 처리 방법.
- 제 29 항 또는 제 30 항에 있어서,상기 데이터 처리 명령어는, 상기 데이터 처리 명령어에 의해 지정되는 목적지 레지스터 크기 및 목적지 데이터 요소 크기를 갖는 하나 이상의 목적지 레지스터를 지정하는 것을 특징으로 하는 데이터 처리 방법.
- 제 31 항에 있어서,상기 목적지 데이터 요소 크기는 상기 하나 이상의 소스 데이터 요소 크기 중 적어도 하나와 상이한 것을 특징으로 하는 데이터 처리 방법.
- 제 29 항 또는 제 30 항에 있어서,두 개의 상이한 레지스터를 갖는 상기 레지스터 데이터 저장소에 기록된 데이터 요소 세트가, 하나의 추가 레지스터 내에서 상기 레지스터 데이터 저장소로부터 모두 함께 판독될 수 있는 것을 특징으로 하는 데이터 처리 방법.
- 제 33 항에 있어서,상기 두 개의 상이한 레지스터는 상기 레지스터 데이터 저장소의 인접한 부분에 기록하는 것을 특징으로 하는 데이터 처리 방법.
- 제 34 항에 있어서,상기 하나의 추가 레지스터는 상기 두 개의 상이한 레지스터의 레지스터 크기의 합과 동일한 레지스터 크기를 갖는 것을 특징으로 하는 데이터 처리 방법.
- 제 29 항 또는 제 30 항에 있어서,단일 레지스터로부터 상기 레지스터 데이터 저장소에 함께 기록된 데이터 요소 그룹은 두 개의 상이한 추가 레지스터 내에서 상기 레지스터 데이터 저장소로부터 판독될 수 있는 것을 특징으로 하는 데이터 처리 방법.
- 제 36 항에 있어서,상기 두 개의 상이한 추가 레지스터는 상기 레지스터 데이터 저장소의 인접한 부분으로부터 판독되는 것을 특징으로 하는 데이터 처리 방법.
- 제 37 항에 있어서,상기 단일 레지스터는 상기 두 개의 상이한 추가 레지스터의 레지스터 크기의 합과 동일한 레지스터 크기를 갖는 것을 특징으로 하는 데이터 처리 방법.
- 제 29 항 또는 제 30 항에 있어서,제1 레지스터 크기의 제1 레지스터로부터 상기 레지스터 데이터 저장소에 함께 기록된 데이터 요소 그룹은 제2 레지스터 크기의 제2 레지스터 내에서 상기 레지스터 데이터 저장소로부터 판독될 수 있으며, 상기 제1 레지스터 크기는 상기 제2 레지스터 크기와 상이한 것을 특징으로 하는 데이터 처리 방법.
- 제 29 항 또는 제 30 항에 있어서,상기 데이터 처리 명령어는 각각의 레지스터 크기(S1 및 S2)를 갖는 두 개의 소스 레지스터와 레지스터 크기(D)를 갖는 목적지 레지스터를 지정하는 것을 특징으로 하는 데이터 처리 방법.
- 제 40 항에 있어서,S1 = S2 = D인 것을 특징으로 하는 데이터 처리 방법.
- 제 40 항에 있어서,2*S1 = 2*S2 = D인 것을 특징으로 하는 데이터 처리 방법.
- 제 40 항에 있어서,2*S1 = S2 = D인 것을 특징으로 하는 데이터 처리 방법.
- 제 40 항에 있어서,S1 = S2 = 2*D인 것을 특징으로 하는 데이터 처리 방법.
- 제 29 항 또는 제 30 항에 있어서,상기 데이터 처리 명령어는 레지스터 크기(S)를 갖는 소스 레지스터 및 레지스터 크기(D)를 갖는 목적지 레지스터를 지정하는 것을 특징으로 하는 데이터 처리 방법.
- 제 45 항에 있어서,S=D 인 것을 특징으로 하는 데이터 처리 방법.
- 제 45 항에 있어서,2*S=D 인 것을 특징으로 하는 데이터 처리 방법.
- 제 45 항에 있어서,S=2*D 인 것을 특징으로 하는 데이터 처리 방법.
- 제 29 항 또는 제 30 항에 있어서,상기 데이터 처리 명령어는 상기 레지스터 데이터 저장소 내의 레지스터를 지정하도록 동작할 수 있는 레지스터 지정 필드를 포함하며, 소정의 레지스터 지정 필드에 대한 상기 레지스터는 상기 데이터 요소 크기 및 상기 레지스터 크기에 따라 상기 레지스터 데이터 저장소의 다른 부분에 상응하는 것을 특징으로 하는 데이터 처리 방법.
- 제 49 항에 있어서,소정의 데이터 요소 크기 및 레지스터 크기에 대한 상기 레지스터 지정 필드의 범위에 상응하는 복수의 레지스터는, 상이한 레지스터 크기 및 상이한 데이터 요소 크기 중 적어도 하나를 사용하여 레지스터로 액세스될 때 상기 레지스터 데이터 저장소의 연속 부분으로 맵핑하는 것을 특징으로 하는 데이터 처리 방법.
- 제 29 항 또는 제 30 항에 있어서,상기 상이한 레지스터 크기의 다른 레지스터는 상기 부분 내에 저장된 상기 데이터 요소의 크기와 상이한 데이터 요소 크기를 갖는 하나 이상의 레지스터를 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제 29 항 또는 제 30 항에 있어서,상기 데이터 처리 명령어는 상기 레지스터의 레지스터 번호를 인코딩하는 복수의 비트를 포함하며, 상기 복수의 비트는, 상기 레지스터 번호를 형성하도록 상기 레지스터 크기에 따라 다수의 비트 위치에 의해 순환할 수 있는 연속적인 비트 필드로 맵핑될 수 있는 것을 특징으로 하는 데이터 처리 방법.
- 제 52 항에 있어서,상기 레지스터 액세싱 로직은, 상기 레지스터 데이터 저장소로부터 판독된 단일 데이터 요소를 저장하는 스칼라 레지스터로서 상기 레지스터 데이터 저장소를 액세스하도록 동작할 수 있는 것을 특징으로 하는 데이터 처리 방법.
- 제 52 항에 있어서,상기 레지스터 액세싱 로직은, 상기 레지스터 데이터 저장소로부터 판독된 단일 데이터 요소의 복수의 사본을 저장하는 레지스터로서 상기 레지스터 데이터 저장소를 액세스하도록 동작할 수 있는 것을 특징으로 하는 데이터 처리 방법.
- 제 53 항에 있어서,상기 레지스터 액세싱 로직은 상기 레지스터 데이터 저장소를 액세스하기 위한 행 주소 및 열 주소를 생성하도록 동작할 수 있으며, 상기 비트의 연속 필드의 제1 부분이 상기 행 주소에 상응하고, 상기 비트의 연속 필드의 제2 부분이 상기 열 주소에 상응하는 것을 특징으로 하는 데이터 처리 방법.
- 제 55 항에 있어서,상기 제1 부분과 상기 제2 부분 사이의 하나 이상의 경계는 상기 데이터 요소 크기에 따라 그 위치가 변화하는 것을 특징으로 하는 데이터 처리 방법.
- 처리 로직을 제어하여, 제 29 항 또는 제 30 항에 기재된 방법을 수행하도록 동작할 수 있는 적어도 하나의 데이터 처리 명령어를 포함한 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램을 갖는 컴퓨터 판독가능한 기록매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0328513A GB2409062C (en) | 2003-12-09 | 2003-12-09 | Aliasing data processing registers |
GB0328513.7 | 2003-12-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070001903A KR20070001903A (ko) | 2007-01-04 |
KR100996888B1 true KR100996888B1 (ko) | 2010-11-29 |
Family
ID=30129894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067011129A KR100996888B1 (ko) | 2003-12-09 | 2004-07-01 | 앨리어싱 데이터 처리 레지스터 |
Country Status (11)
Country | Link |
---|---|
US (1) | US7822947B2 (ko) |
EP (1) | EP1692611B1 (ko) |
JP (1) | JP4727589B2 (ko) |
KR (1) | KR100996888B1 (ko) |
CN (1) | CN1914592B (ko) |
GB (1) | GB2409062C (ko) |
IL (1) | IL175901A (ko) |
MY (1) | MY137496A (ko) |
RU (1) | RU2006124547A (ko) |
TW (1) | TWI322958B (ko) |
WO (1) | WO2005057417A2 (ko) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483595B2 (en) * | 2004-09-16 | 2009-01-27 | Marvell International Technology Ltd. | Image processing method and device |
US20060218377A1 (en) * | 2005-03-24 | 2006-09-28 | Stexar Corporation | Instruction with dual-use source providing both an operand value and a control value |
US20070226469A1 (en) * | 2006-03-06 | 2007-09-27 | James Wilson | Permutable address processor and method |
US9069547B2 (en) | 2006-09-22 | 2015-06-30 | Intel Corporation | Instruction and logic for processing text strings |
GB2474522B (en) * | 2009-10-19 | 2014-09-03 | Advanced Risc Mach Ltd | Register state saving and restoring |
JP5760532B2 (ja) * | 2011-03-14 | 2015-08-12 | 株式会社リコー | プロセッサ装置及びその演算方法 |
US8933954B2 (en) * | 2011-03-23 | 2015-01-13 | Qualcomm Incorporated | Register allocation for graphics processing |
US9519617B2 (en) * | 2011-07-14 | 2016-12-13 | Texas Instruments Incorporated | Processor with instruction variable data distribution |
WO2013057872A1 (ja) * | 2011-10-18 | 2013-04-25 | パナソニック株式会社 | シャッフルパターン生成回路、プロセッサ、シャッフルパターン生成方法、命令 |
CN108681465B (zh) * | 2011-12-22 | 2022-08-02 | 英特尔公司 | 用于产生整数序列的处理器、处理器核及系统 |
CN106843811B (zh) * | 2011-12-22 | 2019-03-29 | 英特尔公司 | 用于将源操作数映射到不同范围的系统、装置和方法 |
US10565283B2 (en) | 2011-12-22 | 2020-02-18 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of consecutive integers in numerical order |
WO2013095564A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of integers in numerical order that differ by a constant stride |
US10223112B2 (en) | 2011-12-22 | 2019-03-05 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of integers in which integers in consecutive positions differ by a constant integer stride and where a smallest integer is offset from zero by an integer offset |
US9946540B2 (en) | 2011-12-23 | 2018-04-17 | Intel Corporation | Apparatus and method of improved permute instructions with multiple granularities |
CN111831334A (zh) | 2011-12-23 | 2020-10-27 | 英特尔公司 | 经改进的插入指令的装置和方法 |
CN107391086B (zh) | 2011-12-23 | 2020-12-08 | 英特尔公司 | 改进置换指令的装置和方法 |
CN107220029B (zh) | 2011-12-23 | 2020-10-27 | 英特尔公司 | 掩码置换指令的装置和方法 |
CN108241504A (zh) | 2011-12-23 | 2018-07-03 | 英特尔公司 | 经改进的提取指令的装置和方法 |
US9400650B2 (en) * | 2012-09-28 | 2016-07-26 | Intel Corporation | Read and write masks update instruction for vectorization of recursive computations over interdependent data |
US9324128B2 (en) * | 2013-03-14 | 2016-04-26 | Intel Corporation | Techniques for improving rendering efficiency |
US9639356B2 (en) * | 2013-03-15 | 2017-05-02 | Qualcomm Incorporated | Arbitrary size table lookup and permutes with crossbar |
CN103235762B (zh) * | 2013-04-19 | 2016-06-22 | 中国科学院自动化研究所 | 一种自索引寄存器文件堆装置 |
US9424034B2 (en) * | 2013-06-28 | 2016-08-23 | Intel Corporation | Multiple register memory access instructions, processors, methods, and systems |
JPWO2015040678A1 (ja) * | 2013-09-17 | 2017-03-02 | 富士通株式会社 | コロニー検査プログラム、コロニー検査装置およびコロニー検査方法 |
CN103606129B (zh) * | 2013-11-29 | 2016-08-24 | 广东威创视讯科技股份有限公司 | 图像处理系统中控制器与图像处理芯片的寻址方法和系统 |
US20160335636A1 (en) * | 2014-01-27 | 2016-11-17 | Tong Shao | Dual-Channel Identity Authentication Selection Device, System and Method |
US9772848B2 (en) * | 2014-11-14 | 2017-09-26 | Intel Corporation | Three-dimensional morton coordinate conversion processors, methods, systems, and instructions |
US9772849B2 (en) * | 2014-11-14 | 2017-09-26 | Intel Corporation | Four-dimensional morton coordinate conversion processors, methods, systems, and instructions |
US20170046156A1 (en) * | 2015-08-14 | 2017-02-16 | Qualcomm Incorporated | Table lookup using simd instructions |
US9852080B2 (en) | 2015-08-17 | 2017-12-26 | Qualcomm Incorporated | Efficiently generating selection masks for row selections within indexed address spaces |
US20170177350A1 (en) * | 2015-12-18 | 2017-06-22 | Intel Corporation | Instructions and Logic for Set-Multiple-Vector-Elements Operations |
US10275243B2 (en) | 2016-07-02 | 2019-04-30 | Intel Corporation | Interruptible and restartable matrix multiplication instructions, processors, methods, and systems |
KR102584031B1 (ko) * | 2017-02-23 | 2023-10-04 | 에이알엠 리미티드 | 데이터 처리장치에서의 요소 바이 벡터 연산 |
US10409592B2 (en) * | 2017-04-24 | 2019-09-10 | Arm Limited | Multiply-and-accumulate-products instructions |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US11409692B2 (en) * | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
CN109298886A (zh) * | 2017-07-25 | 2019-02-01 | 合肥君正科技有限公司 | Simd指令执行方法、装置及处理器 |
US11243765B2 (en) | 2017-09-29 | 2022-02-08 | Intel Corporation | Apparatus and method for scaling pre-scaled results of complex multiply-accumulate operations on packed real and imaginary data elements |
US10795676B2 (en) | 2017-09-29 | 2020-10-06 | Intel Corporation | Apparatus and method for multiplication and accumulation of complex and real packed data elements |
US10795677B2 (en) | 2017-09-29 | 2020-10-06 | Intel Corporation | Systems, apparatuses, and methods for multiplication, negation, and accumulation of vector packed signed values |
US10802826B2 (en) | 2017-09-29 | 2020-10-13 | Intel Corporation | Apparatus and method for performing dual signed and unsigned multiplication of packed data elements |
US10552154B2 (en) | 2017-09-29 | 2020-02-04 | Intel Corporation | Apparatus and method for multiplication and accumulation of complex and real packed data elements |
US10534838B2 (en) | 2017-09-29 | 2020-01-14 | Intel Corporation | Bit matrix multiplication |
US11074073B2 (en) | 2017-09-29 | 2021-07-27 | Intel Corporation | Apparatus and method for multiply, add/subtract, and accumulate of packed data elements |
US10514924B2 (en) * | 2017-09-29 | 2019-12-24 | Intel Corporation | Apparatus and method for performing dual signed and unsigned multiplication of packed data elements |
US11256504B2 (en) | 2017-09-29 | 2022-02-22 | Intel Corporation | Apparatus and method for complex by complex conjugate multiplication |
US10664277B2 (en) | 2017-09-29 | 2020-05-26 | Intel Corporation | Systems, apparatuses and methods for dual complex by complex conjugate multiply of signed words |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11449336B2 (en) * | 2019-05-24 | 2022-09-20 | Texas Instmments Incorporated | Method of storing register data elements to interleave with data elements of a different register, a processor thereof, and a system thereof |
CN112859377B (zh) * | 2019-11-28 | 2023-03-14 | 京东方科技集团股份有限公司 | 一种复用寄存器、三维显示装置及其控制方法 |
Family Cites Families (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4876660A (en) * | 1987-03-20 | 1989-10-24 | Bipolar Integrated Technology, Inc. | Fixed-point multiplier-accumulator architecture |
JPH0778735B2 (ja) * | 1988-12-05 | 1995-08-23 | 松下電器産業株式会社 | キャッシュ装置と命令読出し装置 |
US5771368A (en) * | 1990-10-29 | 1998-06-23 | Sun Microsystems, Inc. | Memory addressing scheme for increasing the number of memory locations available in a computer for storing higher precision numbers |
JPH05233281A (ja) * | 1992-02-21 | 1993-09-10 | Toshiba Corp | 電子計算機 |
US5408670A (en) * | 1992-12-18 | 1995-04-18 | Xerox Corporation | Performing arithmetic in parallel on composite operands with packed multi-bit components |
EP0640912B1 (en) * | 1993-08-31 | 2000-05-10 | Sun Microsystems, Inc. | Memory addressing scheme for increasing the number of memory locations available in a computer for storing higher precision numbers |
US5481743A (en) * | 1993-09-30 | 1996-01-02 | Apple Computer, Inc. | Minimal instruction set computer architecture and multiple instruction issue method |
US5881302A (en) * | 1994-05-31 | 1999-03-09 | Nec Corporation | Vector processing unit with reconfigurable data buffer |
GB9412434D0 (en) * | 1994-06-21 | 1994-08-10 | Inmos Ltd | Computer instruction compression |
US6009508A (en) * | 1994-06-21 | 1999-12-28 | Sgs-Thomson Microelectronics Limited | System and method for addressing plurality of data values with a single address in a multi-value store on FIFO basis |
GB9412487D0 (en) * | 1994-06-22 | 1994-08-10 | Inmos Ltd | A computer system for executing branch instructions |
US5513366A (en) * | 1994-09-28 | 1996-04-30 | International Business Machines Corporation | Method and system for dynamically reconfiguring a register file in a vector processor |
WO1996017293A1 (en) * | 1994-12-01 | 1996-06-06 | Intel Corporation | A microprocessor having a multiply operation |
US5761103A (en) * | 1995-03-08 | 1998-06-02 | Texas Instruments Incorporated | Left and right justification of single precision mantissa in a double precision rounding unit |
GB9509988D0 (en) * | 1995-05-17 | 1995-07-12 | Sgs Thomson Microelectronics | Matrix transposition |
GB9509983D0 (en) * | 1995-05-17 | 1995-07-12 | Sgs Thomson Microelectronics | Replication of data |
GB9509987D0 (en) * | 1995-05-17 | 1995-07-12 | Sgs Thomson Microelectronics | Manipulation of data |
GB9509989D0 (en) * | 1995-05-17 | 1995-07-12 | Sgs Thomson Microelectronics | Manipulation of data |
GB9513515D0 (en) * | 1995-07-03 | 1995-09-06 | Sgs Thomson Microelectronics | Expansion of data |
GB9514695D0 (en) * | 1995-07-18 | 1995-09-13 | Sgs Thomson Microelectronics | Combining data values |
GB9514684D0 (en) * | 1995-07-18 | 1995-09-13 | Sgs Thomson Microelectronics | An arithmetic unit |
JP3526976B2 (ja) * | 1995-08-03 | 2004-05-17 | 株式会社日立製作所 | プロセッサおよびデータ処理装置 |
US6295599B1 (en) * | 1995-08-16 | 2001-09-25 | Microunity Systems Engineering | System and method for providing a wide operand architecture |
US5907865A (en) * | 1995-08-28 | 1999-05-25 | Motorola, Inc. | Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes |
US5963744A (en) * | 1995-09-01 | 1999-10-05 | Philips Electronics North America Corporation | Method and apparatus for custom operations of a processor |
US6088783A (en) * | 1996-02-16 | 2000-07-11 | Morton; Steven G | DPS having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word |
US5937178A (en) * | 1996-02-13 | 1999-08-10 | National Semiconductor Corporation | Register file for registers with multiple addressable sizes using read-modify-write for register file update |
US5808875A (en) * | 1996-03-29 | 1998-09-15 | Intel Corporation | Integrated circuit solder-rack interconnect module |
US6058465A (en) * | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
US5838984A (en) * | 1996-08-19 | 1998-11-17 | Samsung Electronics Co., Ltd. | Single-instruction-multiple-data processing using multiple banks of vector registers |
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 |
TW380237B (en) | 1996-09-23 | 2000-01-21 | Advanced Risc Mach Ltd | Data processing system register control |
US5996066A (en) * | 1996-10-10 | 1999-11-30 | Sun Microsystems, Inc. | Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions |
US6173366B1 (en) * | 1996-12-02 | 2001-01-09 | Compaq Computer Corp. | Load and store instructions which perform unpacking and packing of data bits in separate vector and integer cache storage |
US5893145A (en) * | 1996-12-02 | 1999-04-06 | Compaq Computer Corp. | System and method for routing operands within partitions of a source register to partitions within a destination register |
US5909572A (en) * | 1996-12-02 | 1999-06-01 | Compaq Computer Corp. | System and method for conditionally moving an operand from a source register to a destination register |
US5991531A (en) * | 1997-02-24 | 1999-11-23 | Samsung Electronics Co., Ltd. | Scalable width vector processor architecture for efficient emulation |
US5898896A (en) * | 1997-04-10 | 1999-04-27 | International Business Machines Corporation | Method and apparatus for data ordering of I/O transfers in Bi-modal Endian PowerPC systems |
US5973705A (en) * | 1997-04-24 | 1999-10-26 | International Business Machines Corporation | Geometry pipeline implemented on a SIMD machine |
US6047304A (en) * | 1997-07-29 | 2000-04-04 | Nortel Networks Corporation | Method and apparatus for performing lane arithmetic to perform network processing |
GB2330226B (en) * | 1997-08-30 | 2000-12-27 | Lg Electronics Inc | Digital signal processor |
GB2329810B (en) * | 1997-09-29 | 2002-02-27 | Science Res Foundation | Generation and use of compressed image data |
US5933650A (en) * | 1997-10-09 | 1999-08-03 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
US5864703A (en) * | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
US6269384B1 (en) * | 1998-03-27 | 2001-07-31 | Advanced Micro Devices, Inc. | Method and apparatus for rounding and normalizing results within a multiplier |
US6223198B1 (en) * | 1998-08-14 | 2001-04-24 | Advanced Micro Devices, Inc. | Method and apparatus for multi-function arithmetic |
US6038583A (en) * | 1997-10-23 | 2000-03-14 | Advanced Micro Devices, Inc. | Method and apparatus for simultaneously multiplying two or more independent pairs of operands and calculating a rounded products |
US6144980A (en) * | 1998-01-28 | 2000-11-07 | Advanced Micro Devices, Inc. | Method and apparatus for performing multiple types of multiplication including signed and unsigned multiplication |
US6085213A (en) * | 1997-10-23 | 2000-07-04 | Advanced Micro Devices, Inc. | Method and apparatus for simultaneously multiplying two or more independent pairs of operands and summing the products |
US6223277B1 (en) * | 1997-11-21 | 2001-04-24 | Texas Instruments Incorporated | Data processing circuit with packed data structure capability |
US6223320B1 (en) * | 1998-02-10 | 2001-04-24 | International Business Machines Corporation | Efficient CRC generation utilizing parallel table lookup operations |
US6334176B1 (en) * | 1998-04-17 | 2001-12-25 | Motorola, Inc. | Method and apparatus for generating an alignment control vector |
JP2000020486A (ja) * | 1998-06-29 | 2000-01-21 | Ricoh Co Ltd | Simd型演算器 |
US6292888B1 (en) * | 1999-01-27 | 2001-09-18 | Clearwater Networks, Inc. | Register transfer unit for electronic processor |
GB2352065B (en) | 1999-07-14 | 2004-03-03 | Element 14 Ltd | A memory access system |
US6408345B1 (en) * | 1999-07-15 | 2002-06-18 | Texas Instruments Incorporated | Superscalar memory transfer controller in multilevel memory organization |
ATE475930T1 (de) | 1999-09-01 | 2010-08-15 | Intel Corp | Verzweigungsbefehl für einen mehrfachverarbeitungsprozessor |
US6546480B1 (en) * | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US6748521B1 (en) | 2000-02-18 | 2004-06-08 | Texas Instruments Incorporated | Microprocessor with instruction for saturating and packing data |
TW538335B (en) | 2001-12-24 | 2003-06-21 | Winbond Electronics Corp | Method and device for speeding up reading and writing the register for the processor |
US7761683B2 (en) * | 2002-03-05 | 2010-07-20 | Hewlett-Packard Development Company, L.P. | Variable width memory system and method |
-
2003
- 2003-12-09 GB GB0328513A patent/GB2409062C/en not_active Expired - Lifetime
-
2004
- 2004-07-01 RU RU2006124547/09A patent/RU2006124547A/ru not_active Application Discontinuation
- 2004-07-01 EP EP04743183.8A patent/EP1692611B1/en active Active
- 2004-07-01 WO PCT/GB2004/002836 patent/WO2005057417A2/en active Application Filing
- 2004-07-01 CN CN2004800412896A patent/CN1914592B/zh active Active
- 2004-07-01 JP JP2006543598A patent/JP4727589B2/ja active Active
- 2004-07-01 KR KR1020067011129A patent/KR100996888B1/ko active IP Right Grant
- 2004-07-13 US US10/889,314 patent/US7822947B2/en active Active
- 2004-08-10 MY MYPI20043244A patent/MY137496A/en unknown
- 2004-08-11 TW TW093124099A patent/TWI322958B/zh active
-
2006
- 2006-05-24 IL IL175901A patent/IL175901A/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
TWI322958B (en) | 2010-04-01 |
JP4727589B2 (ja) | 2011-07-20 |
GB0328513D0 (en) | 2004-01-14 |
WO2005057417A3 (en) | 2006-03-23 |
GB2409062B (en) | 2006-08-16 |
US7822947B2 (en) | 2010-10-26 |
IL175901A0 (en) | 2006-10-05 |
CN1914592B (zh) | 2010-05-12 |
GB2409062A (en) | 2005-06-15 |
WO2005057417A2 (en) | 2005-06-23 |
RU2006124547A (ru) | 2008-01-20 |
EP1692611A2 (en) | 2006-08-23 |
TW200525417A (en) | 2005-08-01 |
EP1692611B1 (en) | 2018-08-22 |
IL175901A (en) | 2011-11-30 |
CN1914592A (zh) | 2007-02-14 |
MY137496A (en) | 2009-02-27 |
KR20070001903A (ko) | 2007-01-04 |
GB2409062C (en) | 2007-12-11 |
US20050172106A1 (en) | 2005-08-04 |
JP2007514226A (ja) | 2007-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100996888B1 (ko) | 앨리어싱 데이터 처리 레지스터 | |
KR100991984B1 (ko) | 레지스터와 메모리 사이에 데이터를 이동시키는 데이터처리장치 및 방법 | |
KR101099467B1 (ko) | 레지스터와 메모리 사이에 데이터를 이동시키는 데이터처리장치 및 방법 | |
US7689811B2 (en) | Method and apparatus for constant generation in SIMD processing | |
US9557994B2 (en) | Data processing apparatus and method for performing N-way interleaving and de-interleaving operations where N is an odd plural number | |
US7761693B2 (en) | Data processing apparatus and method for performing arithmetic operations in SIMD data processing | |
JP5366917B2 (ja) | データ要素に対するデータ処理操作を並列に実行するためのデータ処理装置及び方法 | |
US20050198473A1 (en) | Multiplexing operations in SIMD processing | |
US20050125647A1 (en) | Endianess compensation within a SIMD data processing system | |
US6958718B2 (en) | Table lookup operation within a data processing system | |
US20050125636A1 (en) | Vector by scalar operations | |
US7210023B2 (en) | Data processing apparatus and method for moving data between registers and memory in response to an access instruction having an alignment specifier identifying an alignment to be associated with a start address | |
US20050125635A1 (en) | Moving data between registers of different register data stores | |
US20050125631A1 (en) | Data element size control within parallel lanes of processing | |
US20050125638A1 (en) | Data shift operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20131101 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141107 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151016 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20161019 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20171018 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20191029 Year of fee payment: 10 |