KR970049491A - 슈퍼스칼라 프로세서에서 리네임 버퍼를 효율적으로 사용하기 위한 방법 및 시스템 - Google Patents

슈퍼스칼라 프로세서에서 리네임 버퍼를 효율적으로 사용하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR970049491A
KR970049491A KR1019960044509A KR19960044509A KR970049491A KR 970049491 A KR970049491 A KR 970049491A KR 1019960044509 A KR1019960044509 A KR 1019960044509A KR 19960044509 A KR19960044509 A KR 19960044509A KR 970049491 A KR970049491 A KR 970049491A
Authority
KR
South Korea
Prior art keywords
rename
buffer
instruction
rename buffer
virtual
Prior art date
Application number
KR1019960044509A
Other languages
English (en)
Other versions
KR100237989B1 (ko
Inventor
소우먀 말릭
라제스트 비. 파텔
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 KR970049491A publication Critical patent/KR970049491A/ko
Application granted granted Critical
Publication of KR100237989B1 publication Critical patent/KR100237989B1/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/22Microcontrol or microprogram arrangements
    • 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, 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, 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, look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory

Abstract

디스패치 유니트(dispatch unit)에 의해 디스패치된 인스트럭션 (instru ction)에 대한 실제의 리네임 버퍼(real rename buffer)의 할당 (allocation)및 할당 해제(deallocation)을 추적하는 단계를 포함하는 디스패치스톨(dispatch stall) 감소 방법이 개시된다. 상기 방법은 최소한 하나의 가상 리네임 버퍼(virtual rename buffer)에 할당된 인스트럭션에 리네임 버퍼 비지 신호(busy signal)을 태깅(tagging)하는 단계를 더 포함하는데, 상기 리네임 버퍼 비지 신호는 인스트럭션이 완료될 수 없음을 실행부(execution unit)에 통지한다, 슈퍼스칼라 프로세서 (superscalar processor)내에서 리네임 버퍼를 사용하기 위한 효율적인 시스템은 다수의 리네임버퍼, 상기 다수의 리네임 버퍼에 결합된 디스패치 유니트, 및 상기 디스패치 유니트 및 상기 다수의 리네임 버퍼에 결합된 할당/할당 해제 테이블을 포함한다. 또한, 상기 테이블은 다수의 실제 리네임 버퍼 슬롯(slot)및 최소한 하나의 가상 리네임 버퍼의 슬롯을 포함하다. 또한, 리네임 비지 신호가 상기 최소한 하나의 가상 리네임 버퍼 슬롯에 할당된 인스트럭션에 대해 제공된다.

Description

슈퍼스칼라 프로세서에서 리네임 버퍼를 효율적으로 사용하기 위한 방법 및 시스템
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명에 따른 컴퓨터 시스템의 블럭도.

Claims (10)

  1. 디스패치 유니트(dispatch unit)에 결합된 다수의 리네임 버퍼(rename buffer)를 더 포함하는 슈퍼스칼라 프로세서(superscalar processor)의 상기 디스패치 유니트의 스톨(stall)을 감소시키기 위한 방법에 있어서, 상기 디스패치 유니트에 의해 디스패치된 인스트럭션(instruction)에 대한 실제 리네임 버퍼(real rename buffer)의 할당(allocation)/할당 해제(deallocation)을 추적(tracking)하는 단계; 상기 실제 리네임 버퍼가 할당된 때에 인스트럭션의 할당을 위해 최소한 하나의 가상 리네임 버퍼(virtual rename buffer)를 제공하는 단계; 및 상기 인스트럭션이 종료될 수 없음을 상기 프로세서의 실행부(execution unit)에 나타내는 리네임 버퍼 비지 신호(busy signal)로 상기 최소한 하나의 가상 리네임 버퍼에 할당된 인스터럭션을 태깅(tagging)하는 단계를 포함하는 것을 특징으로 하는 디스패치 유니트의 스톨 감소 방법.
  2. 제1항에 있어서, 인스트럭션이 종료되어 상기 실제 리네임 버퍼로부터 할당 해제된 때에 상기 최소한 하나의 가상 리네임 버퍼 내의 상기 인스트럭션이 하나의 실제 리네임 버퍼에 할당되는 것을 특징으로 하는 디스패치 유니트의 스톨 감소 방법.
  3. 제2항에 있어서, 상기 할당된 실제 리네임 버퍼는 상기 종료된 인스트럭션으로부터 할당 해제된 상기 실제 리네임 버퍼인 것을 특징으로 하는 디스패치 유니트의 스톨 감소 방법.
  4. 제2항에 있어서, 상기 최소한 하나의 가상 리네임 버퍼 내의 상기 인스트럭션이 상기 실제 리네임 버퍼에 할당되는 때에 리네임 사용가능 신호(rename availabel signal)를 상기 실행부에 제공하는 단계를 더 포함하는 것을 특징으로 하는 디스패치 유니트의 스톨 감소 방법.
  5. 제4항에 있어서, 상기 리네임 사용가능 신호가 수신된 때에 상기 인스트럭션이 종료될 수 있는 것을 특징으로 하는 디스패치 유니트의 스톨 감소 방법.
  6. 슈퍼스칼라 프로세서 내에서 리네임 버퍼를 효율적으로 사용하기 위한 시스템에 있어서, 다수의 리네임 버퍼; 상기 다수의 리네임 버퍼에 결합된 디스패치 유니트; 및 상기 디스패치 유니트 및 상기 다수의 리네임 버퍼에 결합되며, 다수의 실제 리네임 버퍼 슬롯(real rename buffer slot)및 최소한 하나의 가상 리네임 버퍼 슬롯을 포함하고, 또 상기 최소하 하나의 가상 리네임 버퍼 슬롯에 할당된 인스트럭션에 대해 리네임 비지신호를 제공하는 할당/할당 해제 테이블을 포함하는 것을 특징으로 하는 리네임 버퍼 사용 시스템.
  7. 제6항에 있어서, 상기 시스템이 상기 최소한 하나의 가상 리네임 버퍼 슬롯에 인스트럭션을 할당하는 때에 상기 디스패치 유니트는 상기 인스트럭션을 실행부에 디스패치하는 것을 특징으로 하는 리네임 버퍼 사용 시스템.
  8. 제7항에 있어서, 상기 실행부는 상기 인스트럭션에 대해 동작하는 것을 특징으로 하는 리네임 버퍼 사용 시스템.
  9. 제8항에 있어서, 상기 테이블이 상기 인스트럭션을 실제 리네임 버퍼에 할당하는 때에 상기 시스템은 상기 실행부에 리네임 사용가능 신호를 신호하는 것을 특징으로 하는 리네임 버퍼 사용 시스템.
  10. 제9항에 있어서, 일단 상기 리네임 사용가능 신호가 수신되면, 상기 실행부는 상기 인스트럭션을 종료하는 것을 특징으로 하는 리네임 버퍼 사용 시스템.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019960044509A 1995-12-14 1996-10-08 슈퍼스칼라 프로세서에서 리네임 버퍼를 효율적으로 사용하기 위한 방법 및 시스템 KR100237989B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/572,458 1995-12-14
US08/572,458 US5758117A (en) 1995-12-14 1995-12-14 Method and system for efficiently utilizing rename buffers to reduce dispatch unit stalls in a superscalar processor
US08/572,458 1995-12-14

Publications (2)

Publication Number Publication Date
KR970049491A true KR970049491A (ko) 1997-07-29
KR100237989B1 KR100237989B1 (ko) 2000-01-15

Family

ID=24287889

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960044509A KR100237989B1 (ko) 1995-12-14 1996-10-08 슈퍼스칼라 프로세서에서 리네임 버퍼를 효율적으로 사용하기 위한 방법 및 시스템

Country Status (3)

Country Link
US (1) US5758117A (ko)
JP (1) JP3045964B2 (ko)
KR (1) KR100237989B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134645A (en) * 1998-06-01 2000-10-17 International Business Machines Corporation Instruction completion logic distributed among execution units for improving completion efficiency
US6311267B1 (en) * 1998-11-20 2001-10-30 International Business Machines Corporation Just-in-time register renaming technique
US6446194B1 (en) 1999-07-08 2002-09-03 International Business Machines Corporation Virtual register renamed instruction issue for execution upon virtual/physical rename buffer wrap around detection signaling available physical register
US7669039B2 (en) * 2007-01-24 2010-02-23 Qualcomm Incorporated Use of register renaming system for forwarding intermediate results between constituent instructions of an expanded instruction
JP4830164B2 (ja) * 2009-07-07 2011-12-07 エヌイーシーコンピュータテクノ株式会社 情報処理装置及びベクトル型情報処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4574349A (en) * 1981-03-30 1986-03-04 International Business Machines Corp. Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction
JPS593642A (ja) * 1982-06-30 1984-01-10 Fujitsu Ltd 制御レジスタ処理方式
JPH03150637A (ja) * 1989-11-08 1991-06-27 Oki Electric Ind Co Ltd パイプライン対応のレジスタ割付け方式
US5303358A (en) * 1990-01-26 1994-04-12 Apple Computer, Inc. Prefix instruction for modification of a subsequent instruction
US5280615A (en) * 1990-03-23 1994-01-18 Unisys Corporation Out of order job processing method and apparatus
US5293631A (en) * 1991-08-06 1994-03-08 Hewlett-Packard Company Analysis and optimization of array variables in compiler for instruction level parallel processor
US5386562A (en) * 1992-05-13 1995-01-31 Mips Computer Systems, Inc. Circular scheduling method and apparatus for executing computer programs by moving independent instructions out of a loop
DE69330889T2 (de) * 1992-12-31 2002-03-28 Seiko Epson Corp System und Verfahren zur Änderung der Namen von Registern
US5546554A (en) * 1994-02-02 1996-08-13 Sun Microsystems, Inc. Apparatus for dynamic register management in a floating point unit
EP0676691A3 (en) * 1994-04-06 1996-12-11 Hewlett Packard Co Device for saving and restoring registers in a digital computer.

Also Published As

Publication number Publication date
KR100237989B1 (ko) 2000-01-15
US5758117A (en) 1998-05-26
JP3045964B2 (ja) 2000-05-29
JPH09179737A (ja) 1997-07-11

Similar Documents

Publication Publication Date Title
CN101160565B (zh) 无操作系统干预情况下调度os隔离定序器上的线程的机制
US5613114A (en) System and method for custom context switching
KR940018742A (ko) 슈퍼스칼라 프로세서 시스템에서 복수의 명령어를 단일 사이클로 디스패치하기 위한 방법 및 장치
CN100527087C (zh) 多核计算机系统驱动程序的支持多执行绪指令执行的方法
BR0010602A (pt) Método e aparelho para a comutação de linha em um processador de múltiplas linhas
KR900012155A (ko) 데이타 처리 시스템
KR940018757A (ko) 슈퍼스칼라 프로페서 시스템에서 중간 기억 버퍼의 할당을 인덱스하기 위한 방법 및 시스템
US20040010788A1 (en) System and method for binding virtual machines to hardware contexts
EP0969381A3 (en) Method of efficient non-virtual main memory management
ATE109576T1 (de) Befehlsausgabesteuerung mit vorausschau für einen rechner.
EP0389242A3 (en) Data base processing system using multiprocessor system
EP0917057A3 (en) Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
GB2403321A (en) Method and apparatus for dynamically allocating and deallocating processors in a logical partitioned data processing system
TW200506611A (en) Apparatus and method for virtualizing interrupts in a logically partitioned computer system
BR9403516A (pt) Sistema e método de despacho de unidades de execução múltiplas com dependência de instruções
EP0902362A3 (en) Multiple instruction issue computer architecture
TW200622908A (en) System and method for sharing resources between real-time and virtualizing operating systems
ATE182013T1 (de) Verfahren und system zur befehlszuteilung in einem superskalaren prozessorsystem mit unabhängig zugänglichem zwischenspeicher
AU2001232126A1 (en) Secondary reorder buffer microprocessor
KR950027565A (ko) 처리 시스템 및 그의 동작 방법
KR970049491A (ko) 슈퍼스칼라 프로세서에서 리네임 버퍼를 효율적으로 사용하기 위한 방법 및 시스템
US6144995A (en) Data transfer method for logical computers
KR920008602A (ko) 번지공간을 공유하는 다수의 입출력장치를 구비한 컴퓨터 시스템 및 입출력장치와 프로세서간의 통신 관리방법
US6446194B1 (en) Virtual register renamed instruction issue for execution upon virtual/physical rename buffer wrap around detection signaling available physical register
GB2615709A (en) Assignment of microprocessor register tags at issue time

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050915

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee