KR950027573A - 처리 시스템 및 그이 동작 방법 - Google Patents

처리 시스템 및 그이 동작 방법 Download PDF

Info

Publication number
KR950027573A
KR950027573A KR1019940040059A KR19940040059A KR950027573A KR 950027573 A KR950027573 A KR 950027573A KR 1019940040059 A KR1019940040059 A KR 1019940040059A KR 19940040059 A KR19940040059 A KR 19940040059A KR 950027573 A KR950027573 A KR 950027573A
Authority
KR
South Korea
Prior art keywords
execution
instruction
serialized
circuit
processing system
Prior art date
Application number
KR1019940040059A
Other languages
English (en)
Other versions
KR0145035B1 (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 KR950027573A publication Critical patent/KR950027573A/ko
Application granted granted Critical
Publication of KR0145035B1 publication Critical patent/KR0145035B1/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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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
    • 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/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)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Communication Control (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)

Abstract

본 발명은 처리 시스템 및 그의 동작 방법(a processing system and method of operation)을 제공한다. 특정한 인스트럭션(particular instruction)은 실행을 위해 실행 회로(execution circuitry)에 지명된다. 특정한 인스트럭션의 지명 후, 실행 직렬화된 인스트럭션(execution serialized instruction)은 특정한 인스트럭션의 실행이 종료되기전에, 실행 회로에 지명된다.

Description

처리 시스템 및 그이 동작 방법
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 바람직한 실시예에 따른 정보를 처리하는 프로세서 블럭도,
제2도는 제1도에 도시된 프로세서의 고정 소수점 실행 장치 블록도,
제3도는 제1도에 도시된 프로세서의 시퀀스 장치 개념도.

Claims (23)

  1. 처리 시스템(processing system)을 동작시키는 방법에 있어서, 특정한 인스트럭션(a particular instruction)을, 실행을 위해, 실행 회로(execution circuitry)에 지명하는(dispatching) 단계와, 상기 특정한 인스트럭션을 지명한후, 상기 특정한 인스트럭션의 실행이 종료되기 전에, 상기 실행 회로에 실행 직렬화된 인스트럭션(execution serialized instruction)를 지명하는 단계를 포함하는 처리 시스템 동작 방법.
  2. 제1항에 있어서, 적어도 상기 특정한 인스트럭션의 실행이 종료될때 까지는, 상기 지명된 실행 직렬화된 인스트럭션의 실행을 지연하는 단계를 더 포함하는 처리 시스템 동작 방법.
  3. 제2항에 있어서, 상기 실행 직렬화된 인스트럭션을 지명한 후, 상기 특정 인스트럭션의 실행이 종료되기 전에, 상기 실행 회로에 부가적인 인스트럭션(additional instruction)을 지명하는 단계를 더 포함하는 것을 특징으로 하는 처리 시스템 동작 방법.
  4. 제3항에 있어서, 상기 특정한 인스트럭션의 실행이 종료되기 전에 상기 부가적인 인스트럭션의 실행을 시작하는 단계를 더 포함하는 것을 특징으로 하는 처리 시스템 동작 방법.
  5. 제1항에 있어서, 상기 실행 직렬화된 인스트럭션의 지명 단계는 상기 실행 회로의 할당 스테이션(reservation station)에 상기 실행 직렬화된 인스트럭션을 지명하는 단계를 더 포함하는 것을 특징으로 하는 처리시스템 동작 방법.
  6. 제1항에 있어서, 상기 실행 직렬화된 인스트럭션의 지명 단계는 상기 실행 회로가 상기 지명된 실행 직렬화된 인스트럭션을 실행하는 것을 저지하는 지시(indication)를 상기 실행회로에 출력하는 단계를 더 포함하는 것을 특징으로 하는 처리 시스템 동작 방법.
  7. 제6항에 있어서, 상기 특정한 인스트럭션의 실행이 종료에 응답하여, 상기 실행 회로가 상기 지명된 실행 직렬화된 인스트럭션의 실행을 시작하도록 하는 부가적인 지시를 상기 실행회로에 출력하는 단계를 더 포함하는 것을 특징으로 하는 처리 시스템 동작 방법.
  8. 제1항에 있어서, 상기 실행 직렬화된 인스트럭션은 불확실하게(speculatively) 실행되지 않는 것을 특징으로 하는 처리 시스템 동작 방법.
  9. 제8항에 있어서, 상기 실행 직렬화된 인스트럭션의 결과는 재명명 버퍼(rename buffer)내의 중간 저장(intermediate storage)없이 저장 위치에 직접적으로 기록되는 것을 특징으로 하는 처리 시스템 동작 방법.
  10. 제1항에 있어서, 상기 실행 직렬화된 인스트럭션은, 모든 상기 인스트럭션의 소스 연산수 정보(source operand information)가 사용가능하고 유효해질때까지, 실행이 지연되는 것을 특징으로 하는 처리 시스템 동작 방법.
  11. 제10항에 있어서, 상기 실행 직렬화된 인스트럭션은 적어도 하나의 전송되지 않은 소스 연산수(unforwarded source operand)를 규정하는 것을 특징으로 하는 처리 시스템 동작 방법.
  12. 인스트럭션을 실행하는 실행 회로와; 상기 실행회로에 결합되어, 특정한 인스트럭션 실행을 위해 상기 실행 회로에 지명하고, 상기 특정한 인스트럭션의 지명 후, 상기 특정한 인스트럭션의 실행이 종료되기 전에, 상기 실행 회로에 실행 직렬화된 인스트럭션을 지명하는 지명 회로를 포함하는 처리 시스템.
  13. 제12항에 있어서, 상기 실행 회로는 적어도 상기 특정한 인스트럭션의 실행이 종료될 때까지는, 상기 지명된 실행 직렬화된 인스트럭션의 실행을 지연하는 회로는 더 포함하는 것을 특징으로 하는 처리 시스템.
  14. 제13항에 있어서, 상기 지명 회로는, 상기 실행 직렬화된 인스트럭션을 지명한 후, 상기 특정한 인스트럭션의 실행이 되기전에, 상기 실행 회로에 부가적인 인스트럭션을 또한 지명할 수 있는 것을 특징으로 하는 처리 시스템.
  15. 제14항에 있어서, 상기 실행 회로는 상기 특정한 인스트럭션의 실행이 종료되기 전에, 상기 부가적인 인스트럭션의 실행을 시작하는 회로를 더 포함하는 것을 특징으로 하는 처리 시스템.
  16. 제12항에 있어서, 상기 실행 회로는 적어도 하나의 할당 스테이션을 더 포함하며, 상기 지명 회로는 상기 할당 회로에 상기 실행 직렬화된 인스트럭션을 지명하는 것을 특징으로 하는 처리 시스템.
  17. 제12창에 있어서, 상기 지명 회로는, 상기 실행 회로가 상기 지명된 실행 직렬화 인스트럭션을 실행하는 것을 저지하는 지시를 상기 실행 회로에 출력하는 것을 특징으로 하는 처리 시스템.
  18. 제17항에 있어서, 상기 실행 회로는, 상기 특정한 인스트럭션의 실행 종료에 응답하여, 상기 지명된 실행 직렬화된 인스트럭션의 실행을 시작하는 회로를 더 포함하는 것을 특징으로 하는 처리 시스템.
  19. 제12항에 있어서, 상기 실행 직렬화된 인스트럭션은 불확실하게 실행되지 않는 것을 특징으로 하는 처리 시스템.
  20. 제19항에 있어서, 상기 실행 회로는 상기 실행 직렬화된 인스트럭션의 결과를 재명명 버퍼내의 중간 저장없이 저장 위치에 직접적으로 기록하는 것을 특징으로 하는 처리 시스템.
  21. 제12항에 있어서, 상기 실행 회로는, 적어도 상기 인스트럭션의 소스 연산수 정보가 사용가능하고 유효해질때까지, 상기 실행 직렬화된 인스트럭션의 실행을 지연하는 것을 특징으로 하는 처리 시스템.
  22. 제21항에 있어서, 상기 실행 직렬화된 회로는 적어도 하나의 전송되지 않은 소스 연산수를 규정하는 것을 특징으로 하는 처리 시스템.
  23. 제12항에 있어서, 상기 실행 회로는, 상기 특정한 인스트럭션을 실행하는 제1 실행 회로와; 상기 실행 직렬화된 인스트럭션을 실행하는 제2 실행 희로를 포함하는 것을 특징으로 하는 처리 시스템.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019940040059A 1994-03-31 1994-12-30 처리 시스템 및 그의 동작 방법 KR0145035B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22099394A 1994-03-31 1994-03-31
US08/220,993 1994-03-31
US8/220,993 1994-03-31

Publications (2)

Publication Number Publication Date
KR950027573A true KR950027573A (ko) 1995-10-18
KR0145035B1 KR0145035B1 (ko) 1998-08-17

Family

ID=22825892

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940040059A KR0145035B1 (ko) 1994-03-31 1994-12-30 처리 시스템 및 그의 동작 방법

Country Status (13)

Country Link
US (1) US6041167A (ko)
EP (1) EP0753173B1 (ko)
JP (1) JP2742392B2 (ko)
KR (1) KR0145035B1 (ko)
CN (1) CN1099082C (ko)
AT (1) ATE177546T1 (ko)
CA (1) CA2137046C (ko)
DE (1) DE69417071T2 (ko)
HU (1) HUT75816A (ko)
PL (1) PL177392B1 (ko)
RU (1) RU2150738C1 (ko)
TW (1) TW353732B (ko)
WO (1) WO1995027246A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69725620T2 (de) * 1997-08-06 2004-08-12 Advanced Micro Devices, Inc., Sunnyvale Vorrichtung und verfahren zum speziellen registerzugang ohne serialisation
JP5168277B2 (ja) * 2007-06-20 2013-03-21 富士通株式会社 命令制御装置及び制御方法
JP5093237B2 (ja) * 2007-06-20 2012-12-12 富士通株式会社 命令処理装置
US7913067B2 (en) * 2008-02-20 2011-03-22 International Business Machines Corporation Method and system for overlapping execution of instructions through non-uniform execution pipelines in an in-order processor
CN106030518B (zh) 2014-03-27 2019-03-26 英特尔公司 用于整理和退出存储的处理器、方法、系统和装置
CN108255743A (zh) * 2017-12-06 2018-07-06 中国航空工业集团公司西安航空计算技术研究所 一种用于在染色内核中写回仲裁电路
KR20220146835A (ko) * 2021-04-26 2022-11-02 한국전자통신연구원 컴퓨팅 자원 분할 운용 방법 및 장치

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5776634A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Digital signal processor
JPH069028B2 (ja) * 1986-02-18 1994-02-02 日本電気株式会社 演算装置
US5051940A (en) * 1990-04-04 1991-09-24 International Business Machines Corporation Data dependency collapsing hardware apparatus
JPH06103494B2 (ja) * 1986-11-18 1994-12-14 株式会社日立製作所 ベクトル処理装置の制御方式
JPH02103656A (ja) * 1988-10-12 1990-04-16 Fujitsu Ltd 主記憶参照の遂次化制御方式
US5075840A (en) * 1989-01-13 1991-12-24 International Business Machines Corporation Tightly coupled multiprocessor instruction synchronization
JPH0630094B2 (ja) * 1989-03-13 1994-04-20 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセツサ・システム
JP2519798B2 (ja) * 1989-05-30 1996-07-31 富士通株式会社 多重プロセッサシステムにおけるシリアライズ機能の検証方式
US5129067A (en) * 1989-06-06 1992-07-07 Advanced Micro Devices, Inc. Multiple instruction decoder for minimizing register port requirements
US5136697A (en) * 1989-06-06 1992-08-04 Advanced Micro Devices, Inc. System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information stored with each block of instructions in cache
US5075846A (en) * 1989-09-29 1991-12-24 Motorola, Inc. Memory access serialization as an MMU page attribute
US5471593A (en) * 1989-12-11 1995-11-28 Branigin; Michael H. Computer processor with an efficient means of executing many instructions simultaneously
US5487156A (en) * 1989-12-15 1996-01-23 Popescu; Valeri Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched
US5185871A (en) * 1989-12-26 1993-02-09 International Business Machines Corporation Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions
JPH07101410B2 (ja) * 1990-01-17 1995-11-01 インターナショナル、ビジネス、マシーンズ、コーポレーション データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法
US5077692A (en) * 1990-03-05 1991-12-31 Advanced Micro Devices, Inc. Information storage device with batch select capability
US5261066A (en) * 1990-03-27 1993-11-09 Digital Equipment Corporation Data processing system and method with small fully-associative cache and prefetch buffers
IL94115A (en) * 1990-04-18 1996-06-18 Ibm Israel Dynamic process for creating pseudo-random test templates for pompous hardware design violence
US5214763A (en) * 1990-05-10 1993-05-25 International Business Machines Corporation Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism
US5197135A (en) * 1990-06-26 1993-03-23 International Business Machines Corporation Memory management for scalable compound instruction set machines with in-memory compounding
JP2532300B2 (ja) * 1990-10-17 1996-09-11 三菱電機株式会社 並列処理装置における命令供給装置
JP2535252B2 (ja) * 1990-10-17 1996-09-18 三菱電機株式会社 並列処理装置
JPH04172533A (ja) * 1990-11-07 1992-06-19 Toshiba Corp 電子計算機
US5222244A (en) * 1990-12-20 1993-06-22 Intel Corporation Method of modifying a microinstruction with operands specified by an instruction held in an alias register
US5257354A (en) * 1991-01-16 1993-10-26 International Business Machines Corporation System for monitoring and undoing execution of instructions beyond a serialization point upon occurrence of in-correct results
EP1526446A3 (en) * 1991-07-08 2007-04-04 Seiko Epson Corporation Extensible RISC microprocessor architecture
US5269017A (en) * 1991-08-29 1993-12-07 International Business Machines Corporation Type 1, 2 and 3 retry and checkpointing
EP0529303A3 (en) * 1991-08-29 1993-09-22 International Business Machines Corporation Checkpoint synchronization with instruction overlap enabled
US5274818A (en) * 1992-02-03 1993-12-28 Thinking Machines Corporation System and method for compiling a fine-grained array based source program onto a course-grained hardware
US5257216A (en) * 1992-06-10 1993-10-26 Intel Corporation Floating point safe instruction recognition apparatus
US5257214A (en) * 1992-06-16 1993-10-26 Hewlett-Packard Company Qualification of register file write enables using self-timed floating point exception flags
US5268855A (en) * 1992-09-14 1993-12-07 Hewlett-Packard Company Common format for encoding both single and double precision floating point numbers
CA2123442A1 (en) * 1993-09-20 1995-03-21 David S. Ray Multiple execution unit dispatch with instruction dependency
DE69408769T2 (de) * 1993-10-18 1998-07-09 Cyrix Corp Fliessbandsteuerung und Registerübersetzung in Mikroprozessor
DE69429061T2 (de) * 1993-10-29 2002-07-18 Advanced Micro Devices Inc Superskalarmikroprozessoren
JP3311462B2 (ja) * 1994-02-23 2002-08-05 富士通株式会社 コンパイル処理装置

Also Published As

Publication number Publication date
TW353732B (en) 1999-03-01
CA2137046A1 (en) 1995-10-01
PL316566A1 (en) 1997-01-20
ATE177546T1 (de) 1999-03-15
CN1099082C (zh) 2003-01-15
DE69417071D1 (de) 1999-04-15
DE69417071T2 (de) 1999-10-14
KR0145035B1 (ko) 1998-08-17
HUT75816A (en) 1997-05-28
EP0753173A1 (en) 1997-01-15
CA2137046C (en) 2000-01-18
JP2742392B2 (ja) 1998-04-22
RU2150738C1 (ru) 2000-06-10
US6041167A (en) 2000-03-21
PL177392B1 (pl) 1999-11-30
EP0753173B1 (en) 1999-03-10
HU9602595D0 (en) 1996-11-28
WO1995027246A1 (en) 1995-10-12
JPH07271582A (ja) 1995-10-20
CN1121210A (zh) 1996-04-24

Similar Documents

Publication Publication Date Title
KR930018378A (ko) 캐쉬 메모리 시스템의 성능최적화 방법 및 장치
KR910010301A (ko) 명령 지정방법 및 실행장치
KR960035259A (ko) 감소된 판독 및/또는 기록 포트 대역폭을 갖는 레지스터 파일을 포함하는 컴퓨터 프로세서
KR950009453A (ko) 컴퓨터 프로세싱 시스템 및 인스트럭션 실행방법
JP2001508907A (ja) 仮想マシン命令を実行するための処理装置
KR900012155A (ko) 데이타 처리 시스템
KR920004964A (ko) 2개의 명령을 동시에 실행할 수 있는 데이타 프로세서
DE60100665D1 (de) Mikroprozessor mit zweitem wiedereinordnungsspeicher
JPH1078873A (ja) エミュレーション・システムで非同期信号を処理する方法
KR970029141A (ko) 인스트럭션 프리페치 방법 및 데이터 처리 시스템
US5978905A (en) Program translating apparatus and a processor which achieve high-speed execution of subroutine branch instructions
JP3721780B2 (ja) 複数のパイプライン処理機構を有するデータ処理装置
KR910010324A (ko) 데이타 전송 제어 방법 및 그것을 사용한 데이타 프로세서
KR950027573A (ko) 처리 시스템 및 그이 동작 방법
JP2987311B2 (ja) プロセッサ及び翻訳装置
KR840005575A (ko) 비동기 버스 멀티프로세서(multiprocessor:다중처리장치) 시스템
KR910008565A (ko) 분기 제어 회로
Kawano et al. Fine-grain multi-thread processor architecture for massively parallel processing
JP2814683B2 (ja) 命令処理装置
KR900005306A (ko) 회복시간을 설정하기 위한 방법 및 컴퓨터 시스템
KR960018958A (ko) 다중 프로세서 시스템에서 아토믹 명령어 수행시 데이타 버퍼를 사용한 메인 메모리 액세스 장치
JPH01199233A (ja) パイプライン処理における条件分岐制御方式
KR880001399B1 (ko) 정보 처리 장치
KR900015007A (ko) 마이크로 프로세서 시스템 및 마이크로 프로세서 시스템에서의 전송제어 방법
JPH0877037A (ja) ジャミング装置

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: 20010306

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee