KR940022250A - 가장 최근에 할당된 비트를 갖는 데이타 프로세서 및 그 동작 방법 - Google Patents
가장 최근에 할당된 비트를 갖는 데이타 프로세서 및 그 동작 방법 Download PDFInfo
- Publication number
- KR940022250A KR940022250A KR1019940003707A KR19940003707A KR940022250A KR 940022250 A KR940022250 A KR 940022250A KR 1019940003707 A KR1019940003707 A KR 1019940003707A KR 19940003707 A KR19940003707 A KR 19940003707A KR 940022250 A KR940022250 A KR 940022250A
- Authority
- KR
- South Korea
- Prior art keywords
- result
- tag
- instruction
- register
- recently
- Prior art date
Links
- 238000010586 diagram Methods 0.000 description 2
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
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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/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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- 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/3842—Speculative instruction execution
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
데이타 프로세서는 다수의 실행 유닛(12), 최소한 한개의 상기 실행 유닛에 결합된 재명명 버퍼(14) 및, 최소한 한개의 실행 유닛 및 상기 재명명 버퍼에 결합된 다수의 아키텍처 레지스터(16)를 갖는다. 재명명 버퍼는 그 결과를 주기적으로 수신 및 저장하고 상기 오퍼랜드 요구를 주기적으로 수신한다. 각각의 수신결과 및 오퍼랜드 아키텍처 레지스터에 관련된다. 재명명 버퍼는 수신 결과 세트중의 한 결과를 실행 유닛에 주기적으로 포위딩한다. 상기 세트의 각각의 수신 결과는 동일 아키텍처 레지스터에 관련된다. 재명명 버퍼는 동일 아키텍처 레지스터를 갱신하게 될 여러 엔트리중에 어떤 엔트리가 가장 최근에 할당된지를 판단하도록 동작할 수 있다. 동일 아키텍처 레지스터에 종착된 결과를 운영하여 적절한 값만을 포위딩하는 능력은 데이타 프로세서의 산출량을 증가시키고 명령어 스톨링을 감소시킨다.
Description
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명에 따라 구성된 데이타 프로세서의 블럭도,
제2도는 제1도에 도시된 재명명 버퍼의 블럭도,
제3도는 제2도에 도시된 재명명 버퍼의 내용을 시간에 따라 도시한 도면.
Claims (3)
- 최소한 한개의 명령어가 오퍼랜드를 요구하고 최소한 한개의 명령어가 결과를 발생하는 명령어 세트를 실행하도록 동작할 수 있는 다수의 실행 유닛(12)과, 최소한 한개의 실행 유닛에 결합되어 상기 최소한 한개의 결과 발생 명령어가 발생한 결과를 주기적으로 수신하는 아키텍처 레지스터(16) 및, 최소한 한개의 상기 실행 유닛 및 상기 다수의 아키텍처 레지스터에 결합되어, 상기 최소한 한개의 결과 방생 명령어가 발생하는 결과인 상기 아키텍처 레지스터중의 선택된 레지스터와 관련된 결과를 주기적으로 수신 및 저장하고, 상기 아키텍처 레지스터중의 제1의 선택 레지스터와 관련된 오퍼랜드를 요구하는 상기 최소한 한개의 오퍼랜드 요구 명령어로부터 오퍼랜드에 대한 요구를 주기적으로 수신하고, 상기 제1의 선택된 한 아키텍처 레지스터에 관련된 수신 결과 세트중의 수신 결과를 요구 실행 유닛으로 포위딩하도록 동작할 수 있는 재명령 버퍼(14)를 구비하는 데이타 프로세서.
- 최소한 한개의 명령어가 오퍼랜드를 요구하고 최소한 한개의 명령어가 결과를 발생하는 명령어 세트를 실행하도록 동작할 수 있는 다수의 실행 유닛(12)과, 최소한 한개의 상기 실행 유닛에 결합되어 상기 최소한 한개의 결과 발생 명령어의 결과를 주기적으로 수신하는 다수의 아키텍처 레지스터(16)와, 결과(데이타), 그 결과에 관련된 아키텍처 레지스터를 나타내는 택(아키텍처 레지스터 화일 택) 및, 그 결과에 관련된 제1의 가장 최근에 할당된 비트(MRA)를 저장하도록 동작할 수 있는 다수의 메모리 수단(35)과, 최소한 한개의 상기 실행 유닛 및 상기 다수의 메모리 수단에 결합되어, 아키텍처 레지스터를 식별하는 제1의 택을 주기적으로 수신하고, 상기 소정의 한 메모리 수단에 상기 제1의 택을 저장하고, 상기 소정의 한 메모리 수단에 관련된 상기 제1의 가장 최근에 할당된 비트를 제1논리 상태로 설정하고, 제1의 택과 논리적으로 동일한 택을 갖는 메모리 소자의 서브세트의 각각의 제1의 가장 최근에 할당된 비트를 제2논리 상태로 설정하는 할당 수단(14,18) 및, 최소한 한개의 실행 유닛 및 다수의 메모리 수단에 결합되어, 상기 메모리 수단중의 하나와 관련된 선택 결과를 상기 아키텍처 레지스터중의 제1아키텍처 레지스터와 관련된 오퍼랜드를 요구하는 실행 유닛으로 포워딩하며, 상기 한개의 메모리 수단은 논리 상태에 있어서 상기 아키텍처 레지스터중의 제1아키텍처 레지스터 및 제1의 가장 최근에 할당된 비트의 제1논리 상태에 각각 해당하는 택 및 제1의 가장 최근에 할당된 비트를 갖는 포워딩 수단(14,18)을 구비하는 데이타 프로세서.
- 데이타 프로세서 동작 방법에 있어서, 제1시간에서, 다수 세트중의 제1세트로서 제1의 택 및 제1의 가장 최근에 할당된 비트를 다수 메모리 소자중의 제1메모리 소자에 저장하는데, 상기 제1의 택은 제1결과에 관련된 제1메모리 셀의 어드레스를 식별하고, 상기 제1결과에 관련된 상기 제1의 가장 최근에 할당된 비트는 제1논리 상태를 취하며, 제2시간에서, 다수의 세트중의 제2세트로서 제2의 택 및 제2의 가장 최근에 할당된 비트를 다수의 메모리 소자중의 제2메모리 소자에 저장하는데, 상기 제2의 택은 제2결과에 관련된 메모리 셀의 어드레스를 식별하며, 상기 제2결과에 관련된 상기 제2의 가장 최근에 할당된 비트는 제1논리 상태를 취하며, 제2논리 상태를 가장 최근에 할당된 비트의 서브세트에 저장하며, 상기 각각의 택은 상기 제2의 택과 논리적으로 동일한 가장 최근에 할당된 비트이 서브세트와 관련되는 단계를 포함하는 데이타 프로세서의 동작 방법.※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/025,453 US5493669A (en) | 1993-03-03 | 1993-03-03 | Data processor for simultaneously searching two fields of the rename buffer having first and second most recently allogated bits |
US025,453 | 1993-03-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR940022250A true KR940022250A (ko) | 1994-10-20 |
Family
ID=21826155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940003707A KR940022250A (ko) | 1993-03-03 | 1994-02-28 | 가장 최근에 할당된 비트를 갖는 데이타 프로세서 및 그 동작 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5493669A (ko) |
EP (1) | EP0614138A1 (ko) |
JP (1) | JPH06259253A (ko) |
KR (1) | KR940022250A (ko) |
CN (1) | CN1095506A (ko) |
TW (1) | TW255023B (ko) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5784589A (en) * | 1993-10-18 | 1998-07-21 | Cyrix Corporation | Distributed free register tracking for register renaming using an availability tracking register associated with each stage of an execution pipeline |
JP3699518B2 (ja) * | 1995-01-26 | 2005-09-28 | サン マイクロシステムズ インコーポレイテッド | パイプライン・プロセッサ内において、誤って予測された実行分岐後にアネックス内のヤング・ビットを回復する方法及び装置 |
US5675759A (en) * | 1995-03-03 | 1997-10-07 | Shebanow; Michael C. | Method and apparatus for register management using issue sequence prior physical register and register association validity information |
US5664120A (en) * | 1995-08-25 | 1997-09-02 | International Business Machines Corporation | Method for executing instructions and execution unit instruction reservation table within an in-order completion processor |
US5809324A (en) * | 1995-12-07 | 1998-09-15 | Sun Microsystems, Inc. | Multiple instruction dispatch system for pipelined microprocessor without branch breaks |
US6108769A (en) | 1996-05-17 | 2000-08-22 | Advanced Micro Devices, Inc. | Dependency table for reducing dependency checking hardware |
US6131156A (en) * | 1996-05-31 | 2000-10-10 | Hewlett-Packard Company | Optimized storage system and method for a processor that executes instructions out of order |
EP1012707B1 (en) * | 1997-08-06 | 2006-07-26 | Advanced Micro Devices, Inc. | A dependency table for reducing dependency checking hardware |
US5961636A (en) * | 1997-09-22 | 1999-10-05 | International Business Machines Corporation | Checkpoint table for selective instruction flushing in a speculative execution unit |
US6539471B2 (en) | 1998-12-23 | 2003-03-25 | Intel Corporation | Method and apparatus for pre-processing instructions for a processor |
US6910123B1 (en) * | 2000-01-13 | 2005-06-21 | Texas Instruments Incorporated | Processor with conditional instruction execution based upon state of corresponding annul bit of annul code |
US6968447B1 (en) * | 2001-04-13 | 2005-11-22 | The United States Of America As Represented By The Secretary Of The Navy | System and method for data forwarding in a programmable multiple network processor environment |
US6807586B2 (en) * | 2002-01-09 | 2004-10-19 | International Business Machines Corporation | Increased computer peripheral throughput by using data available withholding |
US7046687B1 (en) * | 2002-01-16 | 2006-05-16 | Tau Networks | Configurable virtual output queues in a scalable switching system |
US7100024B2 (en) * | 2003-02-04 | 2006-08-29 | Via Technologies, Inc. | Pipelined microprocessor, apparatus, and method for generating early status flags |
US7185182B2 (en) * | 2003-02-04 | 2007-02-27 | Via Technologies, Inc. | Pipelined microprocessor, apparatus, and method for generating early instruction results |
US7107438B2 (en) * | 2003-02-04 | 2006-09-12 | Via Technologies, Inc. | Pipelined microprocessor, apparatus, and method for performing early correction of conditional branch instruction mispredictions |
US7263577B2 (en) * | 2005-03-03 | 2007-08-28 | Qualcomm Incorporated | Power saving methods and apparatus to selectively enable comparators in a CAM renaming register file based on known processor state |
US7508396B2 (en) | 2005-09-28 | 2009-03-24 | Silicon Integrated Systems Corp. | Register-collecting mechanism, method for performing the same and pixel processing system employing the same |
US7820483B2 (en) | 2007-02-02 | 2010-10-26 | International Business Machines Corporation | Injection molded soldering process and arrangement for three-dimensional structures |
US7904697B2 (en) * | 2008-03-07 | 2011-03-08 | International Business Machines Corporation | Load register instruction short circuiting method |
US8966230B2 (en) * | 2009-09-30 | 2015-02-24 | Intel Corporation | Dynamic selection of execution stage |
US8510569B2 (en) * | 2009-12-16 | 2013-08-13 | Intel Corporation | Providing integrity verification and attestation in a hidden execution environment |
US8914617B2 (en) * | 2009-12-26 | 2014-12-16 | Intel Corporation | Tracking mechanism coupled to retirement in reorder buffer for indicating sharing logical registers of physical register in record indexed by logical register |
US11194582B2 (en) * | 2019-07-31 | 2021-12-07 | Micron Technology, Inc. | Cache systems for main and speculative threads of processors |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4521851A (en) * | 1982-10-13 | 1985-06-04 | Honeywell Information Systems Inc. | Central processor |
US4731739A (en) * | 1983-08-29 | 1988-03-15 | Amdahl Corporation | Eviction control apparatus |
US4631660A (en) * | 1983-08-30 | 1986-12-23 | Amdahl Corporation | Addressing system for an associative cache memory |
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 |
US4991090A (en) * | 1987-05-18 | 1991-02-05 | International Business Machines Corporation | Posting out-of-sequence fetches |
US5134561A (en) * | 1987-07-20 | 1992-07-28 | International Business Machines Corporation | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries |
US4901233A (en) * | 1987-07-20 | 1990-02-13 | International Business Machines Corporation | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries |
US5003462A (en) * | 1988-05-31 | 1991-03-26 | International Business Machines Corporation | Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means |
US5226126A (en) * | 1989-02-24 | 1993-07-06 | Nexgen Microsystems | Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags |
US5185868A (en) * | 1990-01-16 | 1993-02-09 | Advanced Micro Devices, Inc. | Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy |
US5345569A (en) * | 1991-09-20 | 1994-09-06 | Advanced Micro Devices, Inc. | Apparatus and method for resolving dependencies among a plurality of instructions within a storage device |
-
1993
- 1993-03-03 US US08/025,453 patent/US5493669A/en not_active Expired - Fee Related
- 1993-12-15 TW TW082110649A patent/TW255023B/zh active
- 1993-12-23 EP EP93120761A patent/EP0614138A1/en not_active Withdrawn
-
1994
- 1994-02-25 CN CN94102516A patent/CN1095506A/zh active Pending
- 1994-02-28 KR KR1019940003707A patent/KR940022250A/ko not_active Application Discontinuation
- 1994-03-01 JP JP6054845A patent/JPH06259253A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US5493669A (en) | 1996-02-20 |
TW255023B (ko) | 1995-08-21 |
JPH06259253A (ja) | 1994-09-16 |
CN1095506A (zh) | 1994-11-23 |
EP0614138A1 (en) | 1994-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR940022250A (ko) | 가장 최근에 할당된 비트를 갖는 데이타 프로세서 및 그 동작 방법 | |
US5881302A (en) | Vector processing unit with reconfigurable data buffer | |
US4466061A (en) | Concurrent processing elements for using dependency free code | |
US4468736A (en) | Mechanism for creating dependency free code for multiple processing elements | |
US6732253B1 (en) | Loop handling for single instruction multiple datapath processor architectures | |
KR930702717A (ko) | 다수형태의 레지스터 세트를 구현한 알.아이.에스.씨(risc) 마이크로프로세서 구조 | |
JP2006509306A (ja) | 関係アプリケーションへのデータ処理システム相互参照用セルエンジン | |
KR960011742A (ko) | 데이터처리장치 | |
KR870011524A (ko) | 마이크로프로세서칩의 스택프레임캐시 | |
US3654621A (en) | Information processing system having means for dynamic memory address preparation | |
EP0074479A2 (en) | Data processing apparatus with intersegment call | |
US6029241A (en) | Processor architecture scheme having multiple bank address override sources for supplying address values and method therefor | |
GB2024475A (en) | Memory access controller | |
JPH0682320B2 (ja) | データ処理装置 | |
JPH06259318A (ja) | 情報記憶装置 | |
US5019969A (en) | Computer system for directly transferring vactor elements from register to register using a single instruction | |
KR960007831B1 (ko) | 컴퓨터 아키텍쳐를 32비트에서 64비트로 확장하는 방법 및 장치 | |
EP0528584A1 (en) | Directory look-aside table for a virtual data storage system | |
US5218706A (en) | Data flow processor with next destination node determination | |
US4456958A (en) | System and method of renaming data items for dependency free code | |
AU691593B2 (en) | Vector processing unit with reconfigurable data buffer | |
Welch | An investigation of descriptor oriented architecture | |
KR20010085562A (ko) | 데이터 랜덤 액세스 메모리를 사용하는 다양한 사이즈의마이크로컨트롤러를 위한 강제 페이지 페이징 방법 | |
EP0521265A2 (en) | Parallel processing system | |
JPH06231038A (ja) | メモリアドレス空間拡張装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |