KR940022250A - 가장 최근에 할당된 비트를 갖는 데이타 프로세서 및 그 동작 방법 - Google Patents

가장 최근에 할당된 비트를 갖는 데이타 프로세서 및 그 동작 방법 Download PDF

Info

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
Application number
KR1019940003707A
Other languages
English (en)
Inventor
에이.덴만 2세 마빈
Original Assignee
빈센트 비. 인그라시아
모토로라 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 빈센트 비. 인그라시아, 모토로라 인코포레이티드 filed Critical 빈센트 비. 인그라시아
Publication of KR940022250A publication Critical patent/KR940022250A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, 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)

  1. 최소한 한개의 명령어가 오퍼랜드를 요구하고 최소한 한개의 명령어가 결과를 발생하는 명령어 세트를 실행하도록 동작할 수 있는 다수의 실행 유닛(12)과, 최소한 한개의 실행 유닛에 결합되어 상기 최소한 한개의 결과 발생 명령어가 발생한 결과를 주기적으로 수신하는 아키텍처 레지스터(16) 및, 최소한 한개의 상기 실행 유닛 및 상기 다수의 아키텍처 레지스터에 결합되어, 상기 최소한 한개의 결과 방생 명령어가 발생하는 결과인 상기 아키텍처 레지스터중의 선택된 레지스터와 관련된 결과를 주기적으로 수신 및 저장하고, 상기 아키텍처 레지스터중의 제1의 선택 레지스터와 관련된 오퍼랜드를 요구하는 상기 최소한 한개의 오퍼랜드 요구 명령어로부터 오퍼랜드에 대한 요구를 주기적으로 수신하고, 상기 제1의 선택된 한 아키텍처 레지스터에 관련된 수신 결과 세트중의 수신 결과를 요구 실행 유닛으로 포위딩하도록 동작할 수 있는 재명령 버퍼(14)를 구비하는 데이타 프로세서.
  2. 최소한 한개의 명령어가 오퍼랜드를 요구하고 최소한 한개의 명령어가 결과를 발생하는 명령어 세트를 실행하도록 동작할 수 있는 다수의 실행 유닛(12)과, 최소한 한개의 상기 실행 유닛에 결합되어 상기 최소한 한개의 결과 발생 명령어의 결과를 주기적으로 수신하는 다수의 아키텍처 레지스터(16)와, 결과(데이타), 그 결과에 관련된 아키텍처 레지스터를 나타내는 택(아키텍처 레지스터 화일 택) 및, 그 결과에 관련된 제1의 가장 최근에 할당된 비트(MRA)를 저장하도록 동작할 수 있는 다수의 메모리 수단(35)과, 최소한 한개의 상기 실행 유닛 및 상기 다수의 메모리 수단에 결합되어, 아키텍처 레지스터를 식별하는 제1의 택을 주기적으로 수신하고, 상기 소정의 한 메모리 수단에 상기 제1의 택을 저장하고, 상기 소정의 한 메모리 수단에 관련된 상기 제1의 가장 최근에 할당된 비트를 제1논리 상태로 설정하고, 제1의 택과 논리적으로 동일한 택을 갖는 메모리 소자의 서브세트의 각각의 제1의 가장 최근에 할당된 비트를 제2논리 상태로 설정하는 할당 수단(14,18) 및, 최소한 한개의 실행 유닛 및 다수의 메모리 수단에 결합되어, 상기 메모리 수단중의 하나와 관련된 선택 결과를 상기 아키텍처 레지스터중의 제1아키텍처 레지스터와 관련된 오퍼랜드를 요구하는 실행 유닛으로 포워딩하며, 상기 한개의 메모리 수단은 논리 상태에 있어서 상기 아키텍처 레지스터중의 제1아키텍처 레지스터 및 제1의 가장 최근에 할당된 비트의 제1논리 상태에 각각 해당하는 택 및 제1의 가장 최근에 할당된 비트를 갖는 포워딩 수단(14,18)을 구비하는 데이타 프로세서.
  3. 데이타 프로세서 동작 방법에 있어서, 제1시간에서, 다수 세트중의 제1세트로서 제1의 택 및 제1의 가장 최근에 할당된 비트를 다수 메모리 소자중의 제1메모리 소자에 저장하는데, 상기 제1의 택은 제1결과에 관련된 제1메모리 셀의 어드레스를 식별하고, 상기 제1결과에 관련된 상기 제1의 가장 최근에 할당된 비트는 제1논리 상태를 취하며, 제2시간에서, 다수의 세트중의 제2세트로서 제2의 택 및 제2의 가장 최근에 할당된 비트를 다수의 메모리 소자중의 제2메모리 소자에 저장하는데, 상기 제2의 택은 제2결과에 관련된 메모리 셀의 어드레스를 식별하며, 상기 제2결과에 관련된 상기 제2의 가장 최근에 할당된 비트는 제1논리 상태를 취하며, 제2논리 상태를 가장 최근에 할당된 비트의 서브세트에 저장하며, 상기 각각의 택은 상기 제2의 택과 논리적으로 동일한 가장 최근에 할당된 비트이 서브세트와 관련되는 단계를 포함하는 데이타 프로세서의 동작 방법.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019940003707A 1993-03-03 1994-02-28 가장 최근에 할당된 비트를 갖는 데이타 프로세서 및 그 동작 방법 KR940022250A (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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