KR100981998B1 - 데이터 워드 내의 비트 삽입 - Google Patents
데이터 워드 내의 비트 삽입 Download PDFInfo
- Publication number
- KR100981998B1 KR100981998B1 KR1020067018123A KR20067018123A KR100981998B1 KR 100981998 B1 KR100981998 B1 KR 100981998B1 KR 1020067018123 A KR1020067018123 A KR 1020067018123A KR 20067018123 A KR20067018123 A KR 20067018123A KR 100981998 B1 KR100981998 B1 KR 100981998B1
- Authority
- KR
- South Korea
- Prior art keywords
- register
- shift
- value
- bits
- data
- Prior art date
Links
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000000034 method Methods 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 12
- 238000012856 packing Methods 0.000 description 9
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 101100534231 Xenopus laevis src-b gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000010606 normalization 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
-
- 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/30018—Bit or string 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/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/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
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Executing Machine-Instructions (AREA)
- Image Processing (AREA)
- Advance Control (AREA)
Abstract
Description
US-A-4,569,016은, 호스트 프리미티브 명령 설정 컴퓨팅 시스템의 하나의 동작 머신 사이클 내에서, 빠르고 효과적인 완전한 시프트와, 머지(merge), 삽입 및 비트 정렬 기능을 수행하기 위한 메커니즘을 개시한다. 일반적으로, 회로는, 마스터의 제어 하에서 링 시프트를 수행한다. 또한, 회로는, 하나의 머신 사이클로 모두 실행할 수 있는 기본적으로 병렬인 회전과 마스크 및 머지 기능을 조합한다. 또한, 회로는, 십진 패킹 및 언패킹 기능뿐 아니라 플로팅 포인트 프리 시프트 및 노말리제이션 기능을 실행하기 위해 특히 유용한 프리미티브 동작인 마스크 명령과 함께 강력한 비트와 디지트 및 비트 회전의 대책을 허용한다.
본 발명의 일측면으로부터,
조작되는 데이터 값을 기억하도록 동작되는 복수의 레지스터와,
상기 복수의 레지스터 내에 기억된 하나 이상의 데이터 값에 따라 데이터 처리 동작을 수행하도록 동작되는 처리 로직과,
프로그램 명령에 응답하여, 상기 프로그램 명령에 의해 특정된 데이터 처리 동작을 수행하도록 상기 처리 로직을 제어하는 명령 디코더를 구비하고,
상기 명령 디코더는, 시프트 및 삽입 명령에 응답하여, 상기 처리로직이
N 비트 위치의 시프트 양만큼 제1레지스터 내에 기억된 제1데이터 값을 시프트하여 N 시프트인 비트를 포함하는 시프트된 값을 형성하고(단, N은 복수의 다른 비제로 값 중 하나를 갖고); 및
상기 N 시트프인 비트 이외의 상기 시프트된 값의 각 비트를, 제2레지스터 내에 기억된 제2데이터 값 내의 대응하는 비트 위치에, 상기 N 시프트인 비트에 대응하는 상기 제2데이터 값 내의 비트을 변경시키지 않은 채로, 삽입해서 결과를 형성함으로써,
주어진 결과 값을 갖는 상기 결과를 산출하는 시프트 및 삽입 데이터 처리 동작을 수행하도록 상기 처리 로직을 제어하고,
상기 시프트 및 삽입 명령은, 상기 제1레지스터로서 사용하도록 레지스터 뱅크 내의 레지스터를 특정하는 레지스터 특정 필드를 포함하고,
상기 시프트 및 삽입 명령은, 상기 제2레지스터로서 사용하도록 레지스터 뱅크 내의 레지스터를 특정하는 레지스터 특정 필드를 포함하는 것을 특징으로 하는 데이터 처리 장치를 제공한다.
필드(선택적으로, 제1레지스터 및 제2레지스터 중 하나에 공유되는)를 특정하는 목적 레지스터도 사용될 수 있다.
상기 제2데이터 값 내의 비트들 중 어느 것이 상기 시프트된 데이터 값 내의 대응하는 비트들로 대체되는지와 상기 제2데이터 값 내의 비트들 중 어느 것이 변경되지 않는지를 선택하기 위한 마스크 값을 형성하는 바람직한 방법에도 불구하고, 상기된 바와 같이, 입력과 출력 간의 관계는 다양한 다른 방법으로 실행될 수 있다. 바람직하게는, 이 마스크 값은, 스타팅 마스크에 따른 시프트나 마스크를 직접 형성하는 명령의 디코더와 같은 대안적인 기술로 형성될 수 있다.
본 발명의 다른 측면으로부터,
복수의 레지스터 내에서 조작되는 데이터 값을 기억하는 단계와,
상기 복수의 레지스터 내에 기억된 하나 이상의 데이터 값에 따라 데이터 처리 로직을 사용해서 데이터 처리 동작을 수행하는 단계와,
프로그램 명령에 응답하여, 명령 디코더를 사용해서 상기 프로그램 명령에 의해 특정된 데이터 처리 동작을 수행하도록 상기 처리 로직을 제어하는 단계를 구비하고,
상기 명령 디코더는, 시프트 및 삽입 명령에 응답하여, 상기 처리 로직이,
N 비트 위치의 시프트 양만큼 제1레지스터 내에 기억된 제1데이터 값을 시프트하여 N 시프트인 비트를 포함하는 시프트된 값을 형성하고(단, N은 복수의 다른 비제로 값 중 하나를 갖고); 및
상기 N 시트프인 비트 이외의 상기 시프트된 값의 각 비트를, 제2레지스터 내에 기억된 제2데이터 값 내의 대응하는 비트 위치에, 상기 N 시프트인 비트에 대응하는 상기 제2데이터 값 내의 비트를 변경시키지 않은 채로, 삽입해서 결과를 형성함으로써,
주어진 결과 값을 갖는 상기 결과를 산출하는 시프트 및 삽입 데이터 처리 동작을 수행하도록 상기 처리 로직을 제어하고,
상기 시프트 및 삽입 명령은, 상기 제1레지스터로서 사용하도록 레지스터 뱅크 내의 레지스터를 특정하는 레지스터 특정 필드를 포함하고,
상기 시프트 및 삽입 명령은, 상기 제2레지스터로서 사용하도록 레지스터 뱅크 내의 레지스터를 특정하는 레지스터 특정 필드를 포함하는 것을 특징으로 하는 데이터 처리 방법을 제공한다.
Claims (26)
- 조작되는 데이터 값들을 기억하도록 동작하는 복수의 레지스터와,상기 복수의 레지스터 내에 기억된 하나 이상의 데이터 값에 따라 데이터 처리 동작을 수행하도록 동작하는 처리 로직(6, 8, 10)과,프로그램 명령에 응답해서 상기 프로그램 명령에 의해 특정된 데이터 처리 동작을 수행하도록 상기 처리 로직을 제어하는 명령 디코더(12)를 구비하고,상기 명령 디코더는, 시프트 및 삽입 명령(SLI, SRI)에 응답하여, 상기 처리 로직이,제1레지스터(16) 내에 기억된 제1데이터 값(18)을 N 비트 위치의 시프트 양(#imm)만큼 시프트해서 N 시프트인 비트들을 포함하는 시프트된 값을 형성하고(단, N은 복수의 다른 비제로 값 중 하나를 갖고); 및상기 시프트 양에만 의존해서 선택되는 상기 N 시트프인 비트들 이외의 상기 시프트된 값의 모든 각 비트를, 제2레지스터(20) 내에 기억된 제2데이터 값 내의 대응하는 비트 위치에, 상기 N 시프트인 비트들에 대응하는 상기 제2데이터 값 내의 비트들을 변경시키지 않은 채로, 삽입하여 결과를 형성함으로써,주어진 결과 값을 갖는 상기 결과를 산출하는 시프트 및 삽입 데이터 처리 동작을 수행하도록 상기 처리 로직을 제어하고,상기 시프트 및 삽입 명령은, 상기 제1레지스터로서 사용하도록 레지스터 뱅크(4) 내의 레지스터를 특정하는 레지스터 특정 필드를 포함하고,상기 시프트 및 삽입 명령은, 상기 제2레지스터로서 사용하도록 레지스터 뱅크(4) 내의 레지스터를 특정하는 레지스터 특정 필드를 포함하는 것을 특징으로 하는 데이터 처리 장치.
- 제1항에 있어서,상기 시프트 및 삽입 명령은, 상기 N 비트 위치의 상기 시프트 양을 특정하는 직접 값을 포함하는 것을 특징으로 하는 데이터 처리 장치.
- 제1항 또는 제2항에 있어서,상기 시프트 및 삽입 명령은, 목적 레지스터로서 사용하도록 레지스터 뱅크 내의 레지스터를 특정하는 레지스터 특정 필드(dest)를 포함하는 것을 특징으로 하는 데이터 처리 장치.
- 제3항에 있어서,상기 목적 레지스터를 위한 상기 레지스터 특정 필드는, 상기 제1레지스터 및 제2레지스터 중 하나와 공유되는 것을 특징으로 하는 데이터 처리 장치.
- 제1항 또는 제2항에 있어서,상기 제1데이터 값은 오른쪽 시프트된 것을 특징으로 하는 데이터 처리 장치.
- 제1항 또는 제2항에 있어서,상기 제1데이터 값은 왼쪽 시프트된 것을 특징으로 하는 데이터 처리 장치.
- 제1항 또는 제2항에 있어서,상기 제1데이터 값과 상기 제2데이터 값은 동수의 비트를 갖는 것을 특징으로 하는 데이터 처리 장치.
- 제1항 또는 제2항에 있어서,상기 시프트 및 삽입 명령에 응답해서, 상기 처리 로직이 상기 제1데이터 값을 시프트하도록 동작하는 것을 특징으로 하는 데이터 처리 장치.
- 제1항 또는 제2항에 있어서,상기 시프트 및 삽입 명령에 응답해서, 상기 처리 로직은, 상기 제2데이터 값 내의 비트들 중 어느 것이 상기 시프트된 데이터 값 내의 대응하는 비트들로 대체되는지와 상기 제2데이터 값 내의 비트들 중 어느 것이 변경되지 않는지를 선택하기 위한 마스크 값을 형성하도록 동작하는 것을 특징으로 하는 데이터 처리 장치.
- 제1항 또는 제2항에 있어서,상기 처리 로직이 단일 명령 다중 데이터 처리 로직이고, 상기 제1레지스터 및 상기 제2레지스터가 제1의 단일 명령 다중 데이터 레지스터 및 제2의 단일 명령 다중 데이터 레지스터의 각 부분이며, 상기 시프트 및 삽입 명령이 각 처리 레인에서 복수의 시프트 및 삽입 동작의 병렬 실행을 제어하도록 동작되는 것을 특징으로 하는 데이터 처리 장치.
- 제1항 또는 제2항에 있어서,상기 처리 로직이 스칼라 처리 로직인 것을 특징으로 하는 데이터 처리 장치.
- 조작되는 데이터 값들을 복수의 레지스터 내에 기억하는 단계와,상기 복수의 레지스터 내에 기억된 하나 이상의 데이터 값에 따라 처리 로직을 사용해서 데이터 처리 동작을 수행하는 단계와,프로그램 명령에 응답하여, 명령 디코더를 사용해서 상기 프로그램 명령에 의해 특정된 데이터 처리 동작을 수행하도록 상기 처리 로직을 제어하는 단계를 포함하고,상기 명령 디코더는, 시프트 및 삽입 명령에 응답하여,상기 처리 로직이, 제1레지스터 내에 기억된 제1데이터 값을 N 비트 위치의 시프트 양만큼 시프트해서 N 시프트인 비트들을 포함하는 시프트된 값을 형성하고(단, N은 복수의 다른 비제로 값 중 하나를 갖고); 및상기 처리 로직이 상기 시프트 양에만 의존해서 선택되는 상기 N 시트프인 비트들 이외의 상기 시프트된 값의 모든 각 비트를, 제2레지스터 내에 기억된 제2데이터 값 내의 대응하는 비트 위치에, 상기 N 시프트인 비트들에 대응하는 상기 제2데이터 값 내의 비트들을 변경시키지 않은 채로, 삽입하여 결과를 형성함으로써,주어진 결과 값을 갖는 상기 결과를 산출하는 시프트 및 삽입 데이터 처리 동작을 수행하도록 상기 처리 로직을 제어하며,상기 시프트 및 삽입 명령은, 상기 제1레지스터로서 사용하도록 레지스터 뱅크 내의 레지스터를 특정하는 레지스터 특정 필드를 포함하고,상기 시프트 및 삽입 명령은, 상기 제2레지스터로서 사용하도록 상기 레지스터 뱅크 내의 레지스터를 특정하는 레지스터 특정 필드를 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제12항에 있어서,상기 시프트 및 삽입 명령은, 상기 N 비트 위치의 시프트 양을 특정하는 직접 값을 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제12항 또는 제13항에 있어서,상기 시프트 및 삽입 명령은, 목적 레지스터로서 사용하도록 레지스터 뱅크 내의 레지스터를 특정하는 레지스터 특정 필드를 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제14항에 있어서,상기 목적 레지스터를 위한 상기 레지스터 특정 필드는, 상기 제1레지스터 및 제2레지스터 중 하나와 공유되는 것을 특징으로 하는 데이터 처리 방법.
- 제12항 또는 제13항에 있어서,상기 제1데이터 값은 오른쪽 시프트된 것을 특징으로 하는 데이터 처리 방법.
- 제12항 또는 제13항에 있어서,상기 제1데이터 값은 왼쪽 시프트된 것을 특징으로 하는 데이터 처리 방법.
- 제12항 또는 제13항에 있어서,상기 제1데이터 값과 상기 제2데이터 값은 동수의 비트를 갖는 것을 특징으로 하는 데이터 처리 방법.
- 제12항 또는 제13항에 있어서,상기 시프트 및 삽입 명령에 응답해서, 상기 처리 로직이 상기 제1데이터 값을 시프트하도록 동작하는 것을 특징으로 하는 데이터 처리 방법.
- 제12항 또는 제13항에 있어서,상기 시프트 및 삽입 명령에 응답해서, 상기 처리 로직은, 상기 제2데이터 값 내의 비트들 중 어느 것이 상기 시프트된 데이터 값 내의 대응하는 비트들로 대체되는지와 상기 제2데이터 값 내의 비트들 중 어느 것이 변경되지 않는지를 선택하기 위한 마스크 값을 형성하도록 동작하는 것을 특징으로 하는 데이터 처리 방법.
- 제12항 또는 제13항에 있어서,상기 처리 로직이 단일 명령 다중 데이터 처리 로직이고, 상기 제1레지스터 및 상기 제2레지스터가 제1의 단일 명령 다중 데이터 레지스터 및 제2의 단일 명령 다중 데이터 레지스터의 각 부분이며, 상기 시프트 및 삽입 명령이 각 처리 레인에서 복수의 시프트 및 삽입 동작의 병렬 실행을 제어하도록 동작되는 것을 특징으로 하는 데이터 처리 방법.
- 제12항 또는 제13항에 있어서,상기 처리 로직이 스칼라 처리 로직인 것을 특징으로 하는 데이터 처리 방법.
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0405407.8 | 2004-03-10 | ||
GB0405407A GB2411978B (en) | 2004-03-10 | 2004-03-10 | Inserting bits within a data word |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070028322A KR20070028322A (ko) | 2007-03-12 |
KR100981998B1 true KR100981998B1 (ko) | 2010-09-13 |
Family
ID=32117417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067018123A KR100981998B1 (ko) | 2004-03-10 | 2004-08-03 | 데이터 워드 내의 비트 삽입 |
Country Status (11)
Country | Link |
---|---|
US (1) | US7350058B2 (ko) |
EP (1) | EP1723512A2 (ko) |
JP (1) | JP2007528545A (ko) |
KR (1) | KR100981998B1 (ko) |
CN (1) | CN100538624C (ko) |
GB (1) | GB2411978B (ko) |
IL (1) | IL177507A (ko) |
MY (1) | MY137200A (ko) |
RU (1) | RU2006135629A (ko) |
TW (1) | TWI322947B (ko) |
WO (1) | WO2005088441A2 (ko) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7529918B2 (en) * | 2006-07-21 | 2009-05-05 | Broadcom Corporation | System and method for efficiently performing bit-field extraction and bit-field combination operations in a processor |
JP4374363B2 (ja) * | 2006-09-26 | 2009-12-02 | Okiセミコンダクタ株式会社 | ビットフィールド操作回路 |
GB2475653B (en) * | 2007-03-12 | 2011-07-13 | Advanced Risc Mach Ltd | Select and insert instructions within data processing systems |
EP2232361A1 (en) * | 2007-12-05 | 2010-09-29 | Sandbridge Technologies, Inc. | Method and instruction set including register shifts and rotates for data processing |
CN102348111A (zh) * | 2010-07-30 | 2012-02-08 | 国家卫星气象中心 | 用于静止气象卫星数据广播的数据压缩结构识别码 |
US20120117360A1 (en) * | 2010-11-09 | 2012-05-10 | Texas Instruments Incorporated | Dedicated instructions for variable length code insertion by a digital signal processor (dsp) |
GB2485774A (en) | 2010-11-23 | 2012-05-30 | Advanced Risc Mach Ltd | Processor instruction to extract a bit field from one operand and insert it into another with an option to sign or zero extend the field |
US9823928B2 (en) * | 2011-09-30 | 2017-11-21 | Qualcomm Incorporated | FIFO load instruction |
CN111831335A (zh) * | 2011-12-23 | 2020-10-27 | 英特尔公司 | 经改进的插入指令的装置和方法 |
US9411593B2 (en) * | 2013-03-15 | 2016-08-09 | Intel Corporation | Processors, methods, systems, and instructions to consolidate unmasked elements of operation masks |
WO2014203034A1 (en) * | 2013-06-18 | 2014-12-24 | Freescale Semiconductor, Inc. | Signal processing device and method of performing a pack-insert operation |
CN104899522B (zh) * | 2015-06-09 | 2018-01-30 | 网易(杭州)网络有限公司 | 一种数据处理方法及装置 |
GB2540939B (en) * | 2015-07-31 | 2019-01-23 | Advanced Risc Mach Ltd | An apparatus and method for performing a splice operation |
US20170177350A1 (en) * | 2015-12-18 | 2017-06-22 | Intel Corporation | Instructions and Logic for Set-Multiple-Vector-Elements Operations |
US20170185402A1 (en) * | 2015-12-23 | 2017-06-29 | Intel Corporation | Instructions and logic for bit field address and insertion |
CN105892993B (zh) * | 2016-03-28 | 2019-02-15 | 龙芯中科技术有限公司 | 基于提取插入操作的重组方法、装置及微处理器 |
CN110912562A (zh) * | 2018-09-18 | 2020-03-24 | 深圳市茁壮网络股份有限公司 | 一种浮点数据处理方法、装置及存储介质 |
CN109891756B (zh) * | 2019-01-31 | 2023-03-28 | 香港应用科技研究院有限公司 | 可重置分段可缩放移位器 |
US10831479B2 (en) * | 2019-02-20 | 2020-11-10 | International Business Machines Corporation | Instruction to move data in a right-to-left direction |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131030A1 (en) * | 2001-10-29 | 2003-07-10 | Intel Corporation | Method and apparatus for parallel shift right merge of data |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US131030A (en) * | 1872-09-03 | Improvement in portable furnaces | ||
US133682A (en) * | 1872-12-03 | Improvement in gates | ||
FR2253415A5 (ko) * | 1973-12-04 | 1975-06-27 | Cii | |
US4569016A (en) * | 1983-06-30 | 1986-02-04 | International Business Machines Corporation | Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system |
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 | 松下電器産業株式会社 | キャッシュ装置と命令読出し装置 |
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 |
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 |
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 |
GB9412434D0 (en) | 1994-06-21 | 1994-08-10 | Inmos Ltd | Computer instruction compression |
GB9412487D0 (en) | 1994-06-22 | 1994-08-10 | Inmos Ltd | A computer system for executing branch instructions |
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 |
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 |
GB9509988D0 (en) | 1995-05-17 | 1995-07-12 | Sgs Thomson Microelectronics | Matrix transposition |
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 |
AU6905496A (en) | 1995-09-01 | 1997-03-27 | 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 |
US6009191A (en) * | 1996-02-15 | 1999-12-28 | Intel Corporation | Computer implemented method for compressing 48-bit pixels to 16-bit pixels |
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 |
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 |
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 |
US6209017B1 (en) | 1997-08-30 | 2001-03-27 | Lg Electronics Inc. | High speed digital signal processor |
GB2329810B (en) | 1997-09-29 | 2002-02-27 | Science Res Foundation | Generation and use of compressed image data |
US5864703A (en) | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
US5933650A (en) | 1997-10-09 | 1999-08-03 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
US6223198B1 (en) | 1998-08-14 | 2001-04-24 | Advanced Micro Devices, Inc. | Method and apparatus for multi-function arithmetic |
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 |
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 |
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 |
US6269384B1 (en) | 1998-03-27 | 2001-07-31 | Advanced Micro Devices, Inc. | Method and apparatus for rounding and normalizing results within a multiplier |
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 |
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 |
US6546480B1 (en) | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US6430684B1 (en) * | 1999-10-29 | 2002-08-06 | Texas Instruments Incorporated | Processor circuits, systems, and methods with efficient granularity shift and/or merge instruction(s) |
US6748521B1 (en) | 2000-02-18 | 2004-06-08 | Texas Instruments Incorporated | Microprocessor with instruction for saturating and packing data |
US7685212B2 (en) * | 2001-10-29 | 2010-03-23 | Intel Corporation | Fast full search motion estimation with SIMD merge instruction |
-
2004
- 2004-03-10 GB GB0405407A patent/GB2411978B/en not_active Expired - Lifetime
- 2004-08-03 KR KR1020067018123A patent/KR100981998B1/ko active IP Right Grant
- 2004-08-03 WO PCT/GB2004/003343 patent/WO2005088441A2/en active Application Filing
- 2004-08-03 RU RU2006135629/09A patent/RU2006135629A/ru not_active Application Discontinuation
- 2004-08-03 EP EP04743646A patent/EP1723512A2/en not_active Withdrawn
- 2004-08-03 JP JP2007502375A patent/JP2007528545A/ja active Pending
- 2004-08-03 CN CNB2004800423443A patent/CN100538624C/zh not_active Expired - Lifetime
- 2004-08-11 TW TW093124095A patent/TWI322947B/zh not_active IP Right Cessation
- 2004-08-12 MY MYPI20043293A patent/MY137200A/en unknown
- 2004-08-30 US US10/928,748 patent/US7350058B2/en active Active
-
2006
- 2006-08-15 IL IL177507A patent/IL177507A/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131030A1 (en) * | 2001-10-29 | 2003-07-10 | Intel Corporation | Method and apparatus for parallel shift right merge of data |
Also Published As
Publication number | Publication date |
---|---|
GB2411978B (en) | 2007-04-04 |
MY137200A (en) | 2009-01-30 |
EP1723512A2 (en) | 2006-11-22 |
WO2005088441A2 (en) | 2005-09-22 |
CN1926511A (zh) | 2007-03-07 |
US7350058B2 (en) | 2008-03-25 |
GB0405407D0 (en) | 2004-04-21 |
GB2411978A (en) | 2005-09-14 |
IL177507A0 (en) | 2006-12-10 |
WO2005088441A3 (en) | 2006-06-22 |
US20050204117A1 (en) | 2005-09-15 |
KR20070028322A (ko) | 2007-03-12 |
JP2007528545A (ja) | 2007-10-11 |
RU2006135629A (ru) | 2008-04-20 |
TW200530838A (en) | 2005-09-16 |
IL177507A (en) | 2010-12-30 |
CN100538624C (zh) | 2009-09-09 |
TWI322947B (en) | 2010-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100981998B1 (ko) | 데이터 워드 내의 비트 삽입 | |
JP5897696B2 (ja) | データ処理装置および方法 | |
US9383999B2 (en) | Conditional compare instruction | |
KR102413832B1 (ko) | 벡터 곱셈 덧셈 명령 | |
US20060149804A1 (en) | Multiply-sum dot product instruction with mask and splat | |
TWI622934B (zh) | 具有simd處理電路系統的資料處理裝置及處理資料的方法 | |
EP1267257A2 (en) | Conditional execution per data path slice | |
EP1267258A2 (en) | Setting up predicates in a processor with multiple data paths | |
US9965275B2 (en) | Element size increasing instruction | |
JP2002522821A (ja) | データプロセッサとデータ処理方法 | |
JP2004164163A (ja) | Simd命令シーケンス生成方法および装置ならびにsimd命令シーケンス生成用プログラム | |
JP5133491B2 (ja) | 単一命令多数データ処理 | |
EP1267255A2 (en) | Conditional branch execution in a processor with multiple data paths | |
JP5853177B2 (ja) | データ処理装置、及びデータ処理方法 | |
JP2002132497A (ja) | 単一命令多重データ処理 | |
JP2010134891A (ja) | 画像処理プロセッサ | |
US7653674B2 (en) | Parallel operations on multiple signed elements in a register | |
KR101149883B1 (ko) | 데이터 처리 장치 | |
KR20020021078A (ko) | 데이터 처리 시스템 및 복수의 부호 데이터 값의 산술연산 수행방법 |
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: 20130820 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140825 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150819 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160818 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170818 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180816 Year of fee payment: 9 |