KR20040005829A - 레지스터 이동 연산 - Google Patents
레지스터 이동 연산 Download PDFInfo
- Publication number
- KR20040005829A KR20040005829A KR10-2003-7004681A KR20037004681A KR20040005829A KR 20040005829 A KR20040005829 A KR 20040005829A KR 20037004681 A KR20037004681 A KR 20037004681A KR 20040005829 A KR20040005829 A KR 20040005829A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- pipeline
- register
- pointer register
- pointer
- Prior art date
Links
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/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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
Description
Claims (37)
- 기계 명령어를 수신하는 단계와,상기 기계 명령어에 응답하여, 조건 플래그의 상태에 따라 포인터 레지스터와 데이터 레지스터 사이에서 데이터를 이동시키는 단계를 포함하는 레지스터 이동 방법.
- 제1항에 있어서, 상기 데이터 이동 단계는 메모리 어드레스를 상기 포인터 레지스터로부터 상기 데이터 레지스터에 카피하는 단계를 포함하는 것인 레지스터 이동 방법.
- 제1항에 있어서, 상기 데이터 이동 단계는 데이터를 상기 데이터 레지스터로부터 상기 포인터 레지스터에 카피하는 단계를 포함하는 것인 레지스터 이동 방법.
- 제1항에 있어서, 상기 포인터 레지스터와 상기 데이터 레지스터는 프로세서의 서로 다른 파이프라인형 장치의 서로 다른 단에 배치되는 것인 레지스터 이동 방법.
- 제1항에 있어서, 상기 포인터 레지스터가 데이터 소스일 경우 제1 경로를 선택하고, 상기 데이터 레지스터가 데이터 소스일 경우 제2 경로를 선택하는 단계를더 포함하는 레지스터 이동 방법.
- 제1항에 있어서, 상기 데이터를 변형없이 실행 장치를 통해서 전달하는 단계를 더 포함하는 레지스터 이동 방법.
- 기계 명령어를 수신하는 단계와,메모리 어드레스를 기억하도록 구성되며 상기 기계 명령어에 의해 지정된 포인터 레지스터의 출력을 인에이블하는 단계와,상기 메모리 어드레스를 변형없이 실행 장치를 통해서 전달하는 단계와,조건 플래그의 상태를 판정하는 단계와,상기 상태에 기초해서 상기 메모리 어드레스를 데이터 레지스터에 기록하는 단계를 포함하는 레지스터 이동 방법.
- 제7항에 있어서, 상기 어드레스를 제1 파이프라인에서 제2 파이프라인으로 전달하는 단계를 더 포함하는 레지스터 이동 방법.
- 제7항에 있어서, 이전의 명령어를 실행하는 중에 상기 조건 플래그를 설정하는 단계를 더 포함하는 레지스터 이동 방법.
- 복수의 파이프라인을 구비한 프로세서에서 데이터를 이동시키는 방법에 있어서,제1 파이프라인에서 데이터 레지스터의 출력을 인에이블하는 단계와,상기 제1 파이프라인의 재기록 단 이전에 상기 데이터를 데이터 레지스터로부터 제2 파이프라인으로 전달하는 단계와,상기 데이터를 상기 제2 파이프라인내에 배치된 포인터 레지스터에 기록하는 단계를 포함하는 데이터 이동 방법.
- 제10항에 있어서,조건 플래그의 상태를 판정하는 단계와,상기 상태에 기초해서 상기 데이터를 상기 포인터 레지스터에 기록하는 단계를 더 포함하는 데이터 이동 방법.
- 제10항에 있어서, 상기 포인터 레지스터와 상기 데이터 레지스터는 상기 제1 및 제2 파이프라인의 서로 다른 단을 차지하는 것인 데이터 이동 방법.
- 재기록 단을 각각 갖는 복수의 파이프라인을 구비한 프로세서에서 데이터를 이동시키는 방법에 있어서,제1 파이프라인에서 포인터 레지스터의 출력을 인에이블하는 단계와,상기 제1 파이프라인의 재기록 단 이전에 어드레스를 상기 제1 파이프라인으로부터 제2 파이프라인으로 전달하는 단계와,상기 제2 파이프라인내에 배치된 데이터 레지스터에 상기 어드레스를 기록하는 단계를 포함하는 데이터 이동 방법.
- 제13항에 있어서,조건 플래그의 상태를 결정하는 단계와,상기 상태에 기초해서 상기 포인터 레지스터에 데이터를 기록하는 단계를 더 포함하는 데이터 이동 방법.
- 제13항에 있어서, 상기 포인터 레지스터와 상기 데이터 레지스터는 상기 제1 및 제2 파이브라인의 서로 다른 단을 차지하는 것인 데이터 이동 방법.
- 제13항에 있어서, 상기 포인터 레지스터는 상기 데이터 레지스터의 이전 단에 배치되는 것인 데이터 이동 방법.
- 포인터 레지스터와,데이터 레지스터와,단일 기계 명령어에 응답하여 상기 데이터 레지스터와 포인터 레지스터 사이에서 데이터를 조건적으로 이동시키도록 구성된 제어 장치를 포함하는 레지스터 이동 연산 장치.
- 제17항에 있어서, 상기 포인터 레지스터는 제1 파이프라인에 배치되고 상기 데이터 레지스터는 제2 파이프라인에 배치되는 것인 레지스터 이동 연산 장치.
- 제18항에 있어서, 상기 제1 및 제2 파이프라인은 복수의 단을 갖고, 상기 포인터 레지스터와 상기 데이터 레지스터는 각각의 파이프라인의 서로 다른 단에 배치되는 것인 레지스터 이동 연산 장치.
- 제18항에 있어서, 상기 제1 및 제2 파이프라인을 연결하여 상기 제1 파이프라인의 포인터 레지스터로부터 상기 제2 파이프라인의 데이터 레지스터로 어드레스를 전달하는 경로를 더 포함하는 레지스터 이동 연산 장치.
- 제18항에 있어서, 상기 제1 및 제2 파이프라인을 연결하여 상기 제2 파이프라인의 데이터 레지스터로부터 상기 제1 파이프라인의 어드레스 레지스터로 데이터를 전달하는 경로를 더 포함하는 레지스터 이동 연산 장치.
- 제20항에 있어서, 각각의 파이프라인은 재기록 단을 포함하고, 상기 경로는 재기록 단 이전에 제2 파이프라인으로 어드레스를 전달하는 것인 레지스터 이동 연산 장치.
- 제21항에 있어서, 각각의 파이프라인은 재기록 단을 포함하고, 상기 경로는재기록 단 이전에 제1 파이프라인으로 데이터를 전달하는 것인 레지스터 이동 연산 장치.
- 제17항에 있어서, 상기 포인터 레지스터로부터 데이터를 변형없이 상기 재기록 단에 전달하도록 구성된 실행 장치를 더 포함하는 레지스터 이동 연산 장치.
- 컴퓨터 실행 가능한 명령어가 저장된 매체를 포함하고 소프트웨어 프로그램을 컴파일하는 물품으로서, 상기 컴퓨터 실행 가능한 명령어는 단일 기계 명령어를 발생하여 프로그램 가능한 프로세서로 하여금 포인터 레지스터와 데이터 레지스터 사이에서 데이터를 조건적으로 이동하게 하도록 구성되고, 상기 명령어는 상기 프로그램 가능한 프로세서로 하여금 상기 데이터를 제1 파이프라인으로부터 제2 파이프라인으로 전달하게 하는 것인 물품.
- 제25항에 있어서, 상기 명령어는 상기 프로그램 가능한 프로세서로 하여금 상기 데이터 레지스터로부터 상기 포인터 레지스터로 데이터를 이동하게 하는 것인 물품.
- 제25항에 있어서, 상기 프로세서는 파이프라인을 포함하고, 상기 기계 명령어는 상기 프로세서로 하여금, 상기 포인터 레지스터가 데이터 소스일 경우 상기 파이프라인을 통과하는 제1 경로를 선택하게 하고, 상기 데이터 레지스터가 데이터소스일 경우 상기 파이프라인을 통과하는 제2 경로를 선택하게 하는 것인 물품.
- 메모리 디바이스와,상기 메모리 디바이스에 연결된 프로세서를 포함하고, 상기 프로세서는 포인터 레지스터, 데이터 레지스터, 및 단일 기계 명령어에 응답하여 상기 데이터 레지스터와 포인터 레지스터 사이에서 데이터를 조건적으로 이동시키도록 구성된 제어 장치를 포함하는 것인 시스템.
- 제28항에 있어서, 상기 포인터 레지스터는 제1 파이프라인에 배치되고 상기 데이터 레지스터는 제2 파이프라인에 배치되는 것인 시스템.
- 제29항에 있어서, 상기 제1 및 제2 파이프라인은 복수의 단을 구비하고, 상기 포인터 레지스터와 상기 데이터 레지스터는 각각의 파이프라인의 서로 다른 단에 배치되는 것인 시스템.
- 제29항에 있어서, 상기 제1 및 제2 파이프라인을 연결하여 상기 제1 파이프라인의 상기 포인터 레지스터로부터 상기 제2 파이프라인의 상기 데이터 레지스터로 어드레스를 전달하는 경로를 더 포함하는 시스템.
- 제29항에 있어서, 상기 제1 및 제2 파이프라인을 연결하여 상기 제2 파이프라인의 상기 데이터 레지스터로부터 상기 제1 파이프라인의 상기 어드레스 레지스터로 데이터를 전달하는 경로를 더 포함하는 시스템.
- 제31항에 있어서, 각 파이프라인은 재기록 단을 구비하고, 상기 경로는 상기 재기록 단 이전에 상기 제2 파이프라인에 어드레스를 전달하는 것인 시스템.
- 제32항에 있어서, 각 파이프라인은 재기록 단을 포함하고, 상기 경로는 상기 재기록 단 이전에 상기 제1 파이프라인에 데이터를 전달하는 것인 시스템.
- 제28항에 있어서, 상기 포인터 레지스터로부터 상기 재기록 단에 데이터를 변형없이 전달하도록 구성된 실행 장치를 더 포함하는 시스템.
- 제28항에 있어서, 상기 메모리 디바이스는 스태틱 랜덤 액세스 메모리를 포함하는 것인 시스템.
- 제28항에 있어서, 상기 메모리 디바이스는 플래시 메모리를 포함하는 것인 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/680,894 US6728870B1 (en) | 2000-10-06 | 2000-10-06 | Register move operations |
US09/680,894 | 2000-10-06 | ||
PCT/US2001/031408 WO2002029554A2 (en) | 2000-10-06 | 2001-10-05 | Register move operations |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040005829A true KR20040005829A (ko) | 2004-01-16 |
KR100512655B1 KR100512655B1 (ko) | 2005-09-07 |
Family
ID=24732957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-7004681A KR100512655B1 (ko) | 2000-10-06 | 2001-10-05 | 레지스터 이동 연산 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6728870B1 (ko) |
JP (1) | JP3670646B2 (ko) |
KR (1) | KR100512655B1 (ko) |
CN (1) | CN1269026C (ko) |
TW (1) | TWI238352B (ko) |
WO (1) | WO2002029554A2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130137676A (ko) * | 2011-04-07 | 2013-12-17 | 지티이 코포레이션 | 레지스터 파일 간 데이터 전송을 구현하는 방법 및 장치 |
KR101524119B1 (ko) * | 2009-06-16 | 2015-06-02 | 경희대학교 산학협력단 | 미디어 데이터 맞춤화 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7594094B2 (en) | 2006-05-19 | 2009-09-22 | International Business Machines Corporation | Move data facility with optional specifications |
CN102780616B (zh) * | 2012-07-19 | 2015-06-17 | 北京星网锐捷网络技术有限公司 | 基于多核处理器的报文处理方法、装置和网络设备 |
US20140281391A1 (en) * | 2013-03-14 | 2014-09-18 | Qualcomm Incorporated | Method and apparatus for forwarding literal generated data to dependent instructions more efficiently using a constant cache |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04367936A (ja) | 1991-06-17 | 1992-12-21 | Mitsubishi Electric Corp | スーパースカラープロセッサ |
US5509129A (en) | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
TW470915B (en) * | 1996-03-12 | 2002-01-01 | Matsushita Electric Ind Co Ltd | Optimization apparatus which removes transfer instructions by a global analysis of equivalence relations |
US5889984A (en) | 1996-08-19 | 1999-03-30 | Intel Corporation | Floating point and integer condition compatibility for conditional branches and conditional moves |
US6009512A (en) * | 1997-10-27 | 1999-12-28 | Advanced Micro Devices, Inc. | Mechanism for forwarding operands based on predicated instructions |
-
2000
- 2000-10-06 US US09/680,894 patent/US6728870B1/en not_active Expired - Lifetime
-
2001
- 2001-10-05 WO PCT/US2001/031408 patent/WO2002029554A2/en active IP Right Grant
- 2001-10-05 KR KR10-2003-7004681A patent/KR100512655B1/ko active IP Right Grant
- 2001-10-05 TW TW090124669A patent/TWI238352B/zh not_active IP Right Cessation
- 2001-10-05 JP JP2002533060A patent/JP3670646B2/ja not_active Expired - Lifetime
- 2001-10-05 CN CNB018170110A patent/CN1269026C/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101524119B1 (ko) * | 2009-06-16 | 2015-06-02 | 경희대학교 산학협력단 | 미디어 데이터 맞춤화 |
KR20130137676A (ko) * | 2011-04-07 | 2013-12-17 | 지티이 코포레이션 | 레지스터 파일 간 데이터 전송을 구현하는 방법 및 장치 |
US9501278B2 (en) | 2011-04-07 | 2016-11-22 | Zte Corporation | Method and device for data transmission between register files |
Also Published As
Publication number | Publication date |
---|---|
CN1269026C (zh) | 2006-08-09 |
JP2004511040A (ja) | 2004-04-08 |
WO2002029554A2 (en) | 2002-04-11 |
JP3670646B2 (ja) | 2005-07-13 |
TWI238352B (en) | 2005-08-21 |
KR100512655B1 (ko) | 2005-09-07 |
WO2002029554A3 (en) | 2002-08-01 |
CN1468397A (zh) | 2004-01-14 |
US6728870B1 (en) | 2004-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8161266B2 (en) | Replicating opcode to other lanes and modifying argument register to others in vector portion for parallel operation | |
KR100571325B1 (ko) | 어레이 처리 동작 | |
JP3120152B2 (ja) | コンピューターシステム | |
KR100571322B1 (ko) | 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템 | |
KR20100032441A (ko) | 조건부 명령을 비조건부 명령 및 선택 명령으로 확장하기 위한 방법 및 시스템 | |
KR100346515B1 (ko) | 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일 | |
JP2006012163A (ja) | マルチレベル・レジスタ・ファイルを有するディジタル・データ処理装置 | |
JPS6014336A (ja) | 命令処理装置 | |
TWI764966B (zh) | 用於控制矢量記憶體存取之資料處理裝置及方法 | |
JP4202244B2 (ja) | Vliw型dsp,及びその動作方法 | |
US8671266B2 (en) | Staging register file for use with multi-stage execution units | |
JPH1165844A (ja) | パイプラインバイパス機能を有するデータ処理装置 | |
US6292845B1 (en) | Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively | |
JP2009524167A5 (ko) | ||
CN110073332B (zh) | 数据处理装置和方法 | |
KR100512655B1 (ko) | 레지스터 이동 연산 | |
EP1499956B1 (en) | Method and apparatus for swapping the contents of address registers | |
JP2874351B2 (ja) | 並列パイプライン命令処理装置 | |
JPH11242599A (ja) | コンピュータプログラム製品 | |
KR19980034436A (ko) | 듀얼 파이프라인 프로세서에서 로드 명령의 병렬 수행 장치 | |
JP2004303058A (ja) | ベクトルプロセッサおよびそのデータ処理方法 |
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: 20120802 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20130801 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150730 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20160727 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20170811 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20180801 Year of fee payment: 14 |