KR970049491A - 슈퍼스칼라 프로세서에서 리네임 버퍼를 효율적으로 사용하기 위한 방법 및 시스템 - Google Patents
슈퍼스칼라 프로세서에서 리네임 버퍼를 효율적으로 사용하기 위한 방법 및 시스템 Download PDFInfo
- 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
Links
- 239000000872 buffer Substances 0.000 title claims abstract 34
- 238000010586 diagram Methods 0.000 description 1
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/22—Microcontrol or microprogram arrangements
-
- 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, 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, 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, look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result 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)
- 디스패치 유니트(dispatch unit)에 결합된 다수의 리네임 버퍼(rename buffer)를 더 포함하는 슈퍼스칼라 프로세서(superscalar processor)의 상기 디스패치 유니트의 스톨(stall)을 감소시키기 위한 방법에 있어서, 상기 디스패치 유니트에 의해 디스패치된 인스트럭션(instruction)에 대한 실제 리네임 버퍼(real rename buffer)의 할당(allocation)/할당 해제(deallocation)을 추적(tracking)하는 단계; 상기 실제 리네임 버퍼가 할당된 때에 인스트럭션의 할당을 위해 최소한 하나의 가상 리네임 버퍼(virtual rename buffer)를 제공하는 단계; 및 상기 인스트럭션이 종료될 수 없음을 상기 프로세서의 실행부(execution unit)에 나타내는 리네임 버퍼 비지 신호(busy signal)로 상기 최소한 하나의 가상 리네임 버퍼에 할당된 인스터럭션을 태깅(tagging)하는 단계를 포함하는 것을 특징으로 하는 디스패치 유니트의 스톨 감소 방법.
- 제1항에 있어서, 인스트럭션이 종료되어 상기 실제 리네임 버퍼로부터 할당 해제된 때에 상기 최소한 하나의 가상 리네임 버퍼 내의 상기 인스트럭션이 하나의 실제 리네임 버퍼에 할당되는 것을 특징으로 하는 디스패치 유니트의 스톨 감소 방법.
- 제2항에 있어서, 상기 할당된 실제 리네임 버퍼는 상기 종료된 인스트럭션으로부터 할당 해제된 상기 실제 리네임 버퍼인 것을 특징으로 하는 디스패치 유니트의 스톨 감소 방법.
- 제2항에 있어서, 상기 최소한 하나의 가상 리네임 버퍼 내의 상기 인스트럭션이 상기 실제 리네임 버퍼에 할당되는 때에 리네임 사용가능 신호(rename availabel signal)를 상기 실행부에 제공하는 단계를 더 포함하는 것을 특징으로 하는 디스패치 유니트의 스톨 감소 방법.
- 제4항에 있어서, 상기 리네임 사용가능 신호가 수신된 때에 상기 인스트럭션이 종료될 수 있는 것을 특징으로 하는 디스패치 유니트의 스톨 감소 방법.
- 슈퍼스칼라 프로세서 내에서 리네임 버퍼를 효율적으로 사용하기 위한 시스템에 있어서, 다수의 리네임 버퍼; 상기 다수의 리네임 버퍼에 결합된 디스패치 유니트; 및 상기 디스패치 유니트 및 상기 다수의 리네임 버퍼에 결합되며, 다수의 실제 리네임 버퍼 슬롯(real rename buffer slot)및 최소한 하나의 가상 리네임 버퍼 슬롯을 포함하고, 또 상기 최소하 하나의 가상 리네임 버퍼 슬롯에 할당된 인스트럭션에 대해 리네임 비지신호를 제공하는 할당/할당 해제 테이블을 포함하는 것을 특징으로 하는 리네임 버퍼 사용 시스템.
- 제6항에 있어서, 상기 시스템이 상기 최소한 하나의 가상 리네임 버퍼 슬롯에 인스트럭션을 할당하는 때에 상기 디스패치 유니트는 상기 인스트럭션을 실행부에 디스패치하는 것을 특징으로 하는 리네임 버퍼 사용 시스템.
- 제7항에 있어서, 상기 실행부는 상기 인스트럭션에 대해 동작하는 것을 특징으로 하는 리네임 버퍼 사용 시스템.
- 제8항에 있어서, 상기 테이블이 상기 인스트럭션을 실제 리네임 버퍼에 할당하는 때에 상기 시스템은 상기 실행부에 리네임 사용가능 신호를 신호하는 것을 특징으로 하는 리네임 버퍼 사용 시스템.
- 제9항에 있어서, 일단 상기 리네임 사용가능 신호가 수신되면, 상기 실행부는 상기 인스트럭션을 종료하는 것을 특징으로 하는 리네임 버퍼 사용 시스템.※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
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)
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)
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. |
-
1995
- 1995-12-14 US US08/572,458 patent/US5758117A/en not_active Expired - Fee Related
-
1996
- 1996-08-29 JP JP8229043A patent/JP3045964B2/ja not_active Expired - Fee Related
- 1996-10-08 KR KR1019960044509A patent/KR100237989B1/ko not_active IP Right Cessation
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 |