KR970016946A - 순서외의 다중 인스트럭션 완료 지원 방법 및 수퍼스칼라 마이크로프로세서 - Google Patents
순서외의 다중 인스트럭션 완료 지원 방법 및 수퍼스칼라 마이크로프로세서 Download PDFInfo
- Publication number
- KR970016946A KR970016946A KR1019960028565A KR19960028565A KR970016946A KR 970016946 A KR970016946 A KR 970016946A KR 1019960028565 A KR1019960028565 A KR 1019960028565A KR 19960028565 A KR19960028565 A KR 19960028565A KR 970016946 A KR970016946 A KR 970016946A
- Authority
- KR
- South Korea
- Prior art keywords
- floating
- instruction
- point
- register
- execution
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 8
- 230000001419 dependent effect Effects 0.000 claims abstract 2
- 230000009977 dual effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 3
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 or look ahead
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
-
- 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 or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow 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)
- Advance Control (AREA)
Abstract
본 발명은 수퍼스칼라 마이크로프로세서(superscaler microprocessor)내에서 이전의 로드/저장 다중 인스트럭션에 앞서 부동 소수점 인스트럭션을 조기에 완료하는 방법 및 장치를 제공한다. 마이크로프로세서의 로드/저장 유닛(load/store execution unit)은 데이타를 범용 레지스터에 로드시키거나 혹은 이 레지스터로부터 데이타를 저장하고, 마이크로프로세서의 디스패치 유닛은 인스트럭션을 로드/저장 실행 유닛 및 부동 소수점 실행 유닛을 포함하는 다수의 실행 유닛에 디스패치시킨다. 본 발명의 방안은 다중 레지스터 인스트럭션(multi-register instruction)을 로드/저장 유닛에 디스패치하여 다중 레지스터 인스트릭션의 실행을 개시하는 디스패치 유닛을 포함하며, 저장 다중 인스트럭션 또는 로드 다중 인스트럭션과 같은 다중 레지스터 인스트럭션은 다수의 범용 레지스터들중 하나 이상의 레지스터로부터 데이타를 메모리에 저장 또는 로드시킨다. 또한, 실행을 완료하는 다중 레지스터 인스트럭션에 앞서, 디스패치 유닛은 다수의 부동 소수점 레지스터의 하나 이상의 부동 소수점 레지스터에 저장된 소스 오퍼랜드 데이타(soure operand data)에 종속하는 부동 소수점 인스트럭션을 부동 소수점 실행 유닛에 디스패치하며, 디스패치된 부동 소수점 인스트럭션은 실행을 완료하는 다중 레지스터 인스트럭션에 앞서 실행을 완료한다.
Description
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명의 바람직한 실시예에 따라 정보를 처리하는 프로세서를 도시한 블럭도.
제2도는 종래 기술의 로드/저장 다중 인스트럭션 및 후속 부동 소수점 인스트럭션을 처리하는데 필요한 사이클의 타이밍도.
제3도는 본 발명의 바람직한 실시예에 따라 로드/저장 다중 인스트럭션 및 두개의 부동 소수점 인스트럭션을 본 발명의 마이크로프로세서내에서 처리하는데 필요한 사이클을 도시한 타이밍도.
Claims (4)
- 데이타를 다수의 범용 레지스터들중 하나 이상의 레지스터로부터 메모리에 저장 또는 로드(load)하는 다중-레지스터 인스트럭션중 적어도 하나(at least one multiple-regiser instruction)를 포함하고, 디스패쳐(a dispatcher)와, 다수의 범용 레지스터와, 다수의 부동-소수점 레지스터와, 로드/저장 유닛(a load/store unit) 및 부동-소수점 실행 유닛(a floating-point execution uint)이 구비된 다수의 실행 유닛을 포함하는 수퍼스칼라 마이크로프로세서(a superscalar microprocessor)내에서 순서외의 다중 인스트럭션의 완료(out-of-order completion of multiple instructions)를 지원하는 방법에 있어서, 상기 디스패쳐로부터의 다중-레지스터 인스트럭션을 상기 로드/저장 유닛에 디스패치(dispatch)하는 단계로서, 상기 로드/저장 유닛은 디스패치될 때 상기 다중-레지스터 인스트럭션의 실행을 개시하는, 상기 디스패치 단계와; 상기 디스패치된 다중-레지스터 인스트럭션에 이어서 상기 다수의 부동 소수점 레지스터의 하나 이상의 부동 소수점 레지스터에 저장된 소스 오퍼랜드 데이타(source operand data)에 종속하는 부동-소수점 인스트럭션을 프로그램 순서에 따라 상기 디스패쳐로부터 상기 부동 소수점 인스트럭션을 실행하는 상기 부동 소수점 실행 유닛에 디스패치하는 단계와; 상기 다중-레지스터 인스트럭션이 상기 로드/저장 유닛으로 완료된 후에, 그러나 실행을 완료하는 상기 다중-레지스터 인스트럭션에 앞서 상기 부동 소수점 인스트럭션을 완료하는 단계를 포함하는 순서외의 다중 인스트럭션 완료 지원 방법.
- 제1항에 있어서, 상기 다중-레지스터 인스트럭션은 다수의 범용 레지스터로부터의 데이타를 메모리에 저장하는 순서외의 다중 인스트럭션 완료 지원 방법.
- 제1항에 있어서, 상기 다중-레지스터 인스트럭션은 메모리로부터의 데이타를 다수의 범용 레지스터에 로드시키는 순서외의 다중 인스트럭션 완료 지원 방법.
- 이전의 로드/저장 다중 인스트럭션으로부터 순서외 부동 소수점 인스트럭션을 완료하고, 메모리에 접속되는 수퍼스칼라 마이크로프로세서에 있어서, 정수 데이타를 선택적으로 저장하는 다수의 범용 레지스터와; 부동 소수점 데이타를 선택적으로 저장하는 다수의 부동 소수점 레지스터와, 데이타를 상기 범용 레지스터에 로드시키거나 혹은 상기 범용 레지스터로부터 데이타를 저장하는 로드 이중 인스트럭션 및 저장 다중 인스트럭션을 실행하는 로드/저장 실행 유닛과; 상기 다수의 부동 소수점 레지스터에 저장된 오퍼랜드 데이타상에서 부동 소수점 오퍼레이션을 실행하는 부동 소수점 실행 유닛과; 스트럭션을 상기 로드/저장 실행 유닛 및 상기 부동 소수점 실행 유닛을 포함하는 다수의 실행 유닛에 디스패치시키는 디스패치 유닛으로서, 상기 디스패치 유닛은 다중-레지스터 인스트럭션을 상기 로드/저장 유닛에 디스패치하여 상기 다중-레지스터 인스트럭션의 실행을 개시하고, 상기 로드/저장 유닛에서 실행을 완료하는 상기 다중-레지스터 인스트럭션에 앞서, 상기 디스패치 유닛은 상기 다수의 부동 소수점 레지스터의 하나 이상의 부동 소수점 레지스터에 저장된 소스 오퍼랜드 데이타에 종속하는 부동 소수점 인스트럭션을 상기 부동 소수점 실행 유닛에 디스패치하는, 상기 디스패치 유닛을 포함하고; 상기 디스패치된 부동 소수점 인스트럭션은 실행을 완료하는 상기 다중-레지스터 인스트럭션에 앞서 실행을 완료하는 수퍼스칼라 마이크로프로세서.※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8/526,610 | 1995-09-11 | ||
US08/526,610 US5850563A (en) | 1995-09-11 | 1995-09-11 | Processor and method for out-of-order completion of floating-point operations during load/store multiple operations |
US08/526,610 | 1995-09-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970016946A true KR970016946A (ko) | 1997-04-28 |
KR100260680B1 KR100260680B1 (ko) | 2000-07-01 |
Family
ID=24098036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960028565A KR100260680B1 (ko) | 1995-09-11 | 1996-07-15 | 순서외의 다중 인스트럭션 완료 지원 방법 및 수퍼스칼라 마이크로프로세서 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5850563A (ko) |
EP (1) | EP0762271A3 (ko) |
JP (1) | JP3096429B2 (ko) |
KR (1) | KR100260680B1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6035394A (en) * | 1998-02-17 | 2000-03-07 | International Business Machines Corporation | System for providing high performance speculative processing of complex load/store instructions by generating primitive instructions in the load/store unit and sequencer in parallel |
US6789187B2 (en) * | 2000-12-15 | 2004-09-07 | Intel Corporation | Processor reset and instruction fetches |
DE10210085B8 (de) * | 2002-03-08 | 2008-11-27 | Technische Universität Hamburg-Harburg | Verfahren und Prozessor zur Kombination von Daten- und Kontrollflußoperationen |
US7308527B2 (en) * | 2005-01-24 | 2007-12-11 | International Business Machines Corporation | System for indicating a plug position for a memory module in a memory system |
US20060179286A1 (en) * | 2005-02-09 | 2006-08-10 | International Business Machines Corporation | System and method for processing limited out-of-order execution of floating point loads |
JP6344022B2 (ja) * | 2014-04-08 | 2018-06-20 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
CH716218B1 (de) | 2019-05-24 | 2024-02-15 | Digitum Ag | System und Verfahren zur Autorisierung von Transaktionen. |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4493020A (en) * | 1980-05-06 | 1985-01-08 | Burroughs Corporation | Microprogrammed digital data processor employing microinstruction tasking and dynamic register allocation |
US4903196A (en) * | 1986-05-02 | 1990-02-20 | International Business Machines Corporation | Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor |
GB8817911D0 (en) * | 1988-07-27 | 1988-09-01 | Int Computers Ltd | Data processing apparatus |
JPH0673105B2 (ja) * | 1988-08-11 | 1994-09-14 | 株式会社東芝 | 命令パイプライン方式のマイクロプロセッサ |
US5051885A (en) * | 1988-10-07 | 1991-09-24 | Hewlett-Packard Company | Data processing system for concurrent dispatch of instructions to multiple functional units |
US5241636A (en) * | 1990-02-14 | 1993-08-31 | Intel Corporation | Method for parallel instruction execution in a computer |
US5226130A (en) * | 1990-02-26 | 1993-07-06 | Nexgen Microsystems | Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency |
JP2556182B2 (ja) * | 1990-08-29 | 1996-11-20 | 三菱電機株式会社 | デ−タ処理装置 |
US5355457A (en) * | 1991-05-21 | 1994-10-11 | Motorola, Inc. | Data processor for performing simultaneous instruction retirement and backtracking |
US5363495A (en) * | 1991-08-26 | 1994-11-08 | International Business Machines Corporation | Data processing system with multiple execution units capable of executing instructions out of sequence |
JP3544214B2 (ja) * | 1992-04-29 | 2004-07-21 | サン・マイクロシステムズ・インコーポレイテッド | プロセッサの状態を監視する方法及び監視システム |
US5467473A (en) * | 1993-01-08 | 1995-11-14 | International Business Machines Corporation | Out of order instruction load and store comparison |
CA2107046A1 (en) * | 1993-01-08 | 1994-07-09 | James Allan Kahle | Method and system for increased instruction dispatch efficiency in superscalar processor system |
JP2742375B2 (ja) * | 1993-01-08 | 1998-04-22 | インターナショナル・ビジネス・マシーンズ・コーポレイション | スーパースカラ・プロセッサにおける命令処理の選択的逐次化の方法およびシステム |
DE69429061T2 (de) * | 1993-10-29 | 2002-07-18 | Advanced Micro Devices, Inc. | Superskalarmikroprozessoren |
US5542109A (en) * | 1994-08-31 | 1996-07-30 | Exponential Technology, Inc. | Address tracking and branch resolution in a processor with multiple execution pipelines and instruction stream discontinuities |
US5625789A (en) * | 1994-10-24 | 1997-04-29 | International Business Machines Corporation | Apparatus for source operand dependendency analyses register renaming and rapid pipeline recovery in a microprocessor that issues and executes multiple instructions out-of-order in a single cycle |
-
1995
- 1995-09-11 US US08/526,610 patent/US5850563A/en not_active Expired - Fee Related
-
1996
- 1996-07-15 KR KR1019960028565A patent/KR100260680B1/ko not_active IP Right Cessation
- 1996-08-15 EP EP96305965A patent/EP0762271A3/en not_active Withdrawn
- 1996-08-22 JP JP08221086A patent/JP3096429B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5850563A (en) | 1998-12-15 |
JPH09138748A (ja) | 1997-05-27 |
EP0762271A2 (en) | 1997-03-12 |
EP0762271A3 (en) | 2000-11-15 |
JP3096429B2 (ja) | 2000-10-10 |
KR100260680B1 (ko) | 2000-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3580657B2 (ja) | 並列マルチタスキングの方法及びシステム | |
JP3096427B2 (ja) | 複数ロード命令の実行方法、複数ストア命令の実行方法およびマイクロプロセッサ | |
AU639953B2 (en) | Data processing system with instruction tag apparatus | |
WO1999026132A3 (en) | Processor configured to generate lookahead results from collapsed moves, compares and simple arithmetic instructions | |
US7028170B2 (en) | Processing architecture having a compare capability | |
KR100284788B1 (ko) | 데이터 처리 시스템에서 에뮬레이션 동안의 브랜치 처리 방법및 시스템 | |
KR100341533B1 (ko) | 데이타처리시스템의에뮬레이션동안의인터럽트처리방법및시스템 | |
KR940018742A (ko) | 슈퍼스칼라 프로세서 시스템에서 복수의 명령어를 단일 사이클로 디스패치하기 위한 방법 및 장치 | |
KR19990029287A (ko) | 데이터 처리 시스템 에뮬레이션 모드에서의 간접 무조건 브랜치 | |
JPH02227731A (ja) | データ処理システム | |
US6338134B1 (en) | Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data | |
CN113590197A (zh) | 一种支持可变长向量处理的可配置处理器及其实现方法 | |
EP1387259B1 (en) | Inter-processor control | |
US5872948A (en) | Processor and method for out-of-order execution of instructions based upon an instruction parameter | |
KR950027561A (ko) | 처리 시스템 및 그의 동작 방법 | |
JP2005182659A (ja) | Vliw型dsp,及びその動作方法 | |
KR960706124A (ko) | 워드 정렬 브랜치 타겟을 가지는 처리 시스템(Processing system with word aligned branch target) | |
KR970016946A (ko) | 순서외의 다중 인스트럭션 완료 지원 방법 및 수퍼스칼라 마이크로프로세서 | |
KR940018743A (ko) | 슈퍼스칼라 프로세서 시스템에서 비순차적 명령어의 디스패치 및 실행을 위한 방법 및 시스템 | |
US5930495A (en) | Method and system for processing a first instruction in a first processing environment in response to intiating processing of a second instruction in a emulation environment | |
US6670895B2 (en) | Method and apparatus for swapping the contents of address registers | |
US6775762B1 (en) | Processor and processor system | |
JP2878792B2 (ja) | 電子計算機 | |
JP2843844B2 (ja) | 並列演算処理装置 | |
JPH04287227A (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 | ||
LAPS | Lapse due to unpaid annual fee |