KR950009454A - 다중 실행 장치 처리 시스템 상태의 선택적 저장방법 및 시스템 - Google Patents

다중 실행 장치 처리 시스템 상태의 선택적 저장방법 및 시스템 Download PDF

Info

Publication number
KR950009454A
KR950009454A KR1019940023767A KR19940023767A KR950009454A KR 950009454 A KR950009454 A KR 950009454A KR 1019940023767 A KR1019940023767 A KR 1019940023767A KR 19940023767 A KR19940023767 A KR 19940023767A KR 950009454 A KR950009454 A KR 950009454A
Authority
KR
South Korea
Prior art keywords
execution
instruction
register
instructions
interruptible
Prior art date
Application number
KR1019940023767A
Other languages
English (en)
Other versions
KR0133237B1 (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 KR950009454A publication Critical patent/KR950009454A/ko
Application granted granted Critical
Publication of KR0133237B1 publication Critical patent/KR0133237B1/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/46Multiprogramming 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/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)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명은 명령이 인터럽트 가능한 지를 결정하기 위해 처리하는 이중 실행 장치인 두 실행 장치에 추가적인 논리를 제공하는 장치 및 방법에 관한 것이다. 또한, 백아웃 논리가 독특한 레지스터의 내용을 저장하기 위해 제공된다. 백아웃 논리는 현재 실행하는 명령이 독특한 레지스터를 변경하는 지를 결정하기 위해 두개의 디코드를 사용한다. 하나의 명령이 하나 이상의 독특한 레지스터를 변경하는 것을 가능하게 한다. 본 발명의 백아웃 논리는 두 실행 장치에 상주하고 실행 명령에 의해 변경되고 있는 독특한 레지스터를 포함하는 장치에 상주한다. 독특한 레지스터의 하나를 변경시키는 명령이 실행되고 있다면, 그와 같은 레지스터의 내용은 백아웃 래치에 저장된다. 그런 다음, 인터럽트를 야기하지 않고 인터럽트 가능한 명령이 실행되면 취소 신호가 제공된다. 그러나, 인터럽트 가능한 명령이 인터럽트를 야기한다면, 백아웃 래치의 내용은 실행 장치내로 재적재 된다.

Description

다중 실행 장치 처리 시스템 상태의 선택적 저장방법 및 시스템
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명의 바람직한 실시예의 이중 실행 처리 장치 시스템의 구성 요소를 도시하는 블럭도.

Claims (18)

  1. 다중 실행 장치 처리 시스템(multi-execution unit processing system)상태의 선택적 저장 방법에 있어서, 상기 방법은, 제1명령이 인터럽트 가능한지를 결정하는 단계와 상기 제1명령과 동시에 실행될 제2명령이 실행사이클(execution cycle)동안 갱신되는 레지스터(register)를 변경하는 지를 결정하는 단계와 상기 제1명령이 인터럽트 가능하고 상기 제2명령이 상기 레지스터를 변경할 때 상기 레지스터의 내용(a content of said register)을 저장하는 단계와 인터럽트(interrupt)가 일어나자 마자 상기 내용에 이해 상기 레지스터를 복원하는 단계를 포함하는 다중 실행 장치 처리 시스템 상태의 선택적 저장 방법.
  2. 제1항에 있어서, 상기방법은 상기 제1 및 제2실행 장치상에서 상기 제1 및 제2명령을 실행하는 단계를 더 포함하는 다중 실행 장치 처리 시스템 상태의 선택적 저장 방법.
  3. 제2항에 있어서, 상기 실행 단계는 상기 제1 및 제2명령의 실행으로부터 발생하는 새로운 값에 의해 상기 레지스터를 변경하는 단계를 포함하는 다중 실행 장치 처리 시스템 상태의 선택적 저장 방법.
  4. 제3항에 있어서, 상기 복원 단계는 상기 인터럽트 가능한 제1명령이 실제로 인터럽트를 야기하였는지를 결정하는 단계를 포함하는 다중 실행 장치 처리 시스템 상태의 선택적 저장 방법.
  5. 제4항에 있어서, 상기 복원 단계는 상기 저장된 내용을 상기 레지스터로 배치하여 상기 레지스터를 상기 제1 및 제2명령의 실행 이전의 상태로 복원하는 단계를 더 포함하는 다중 실행 장치 처리 시스템 상태의 선택적 저장 방법.
  6. 제5항에 있어서, 상기 방법은 상기 실행 사이클(execution cycle)에 이어 갱신되는 다른 레지스터들이 인터럽트가 실제로 일어날 경우 상기 제1 및 제2명령의 실행에 대응하는 결과에 의해 갱신되는 것을 방지하는 단계를 더 포함하는 다중 실행 장치 처리 시스템의 선택적 저장 방법.
  7. 제6항에 있어서, 상기 방법은 인터럽트가 일어나지 않을 경우 상기 제1 및 제2명령의 실행에 대응하는 결과에 의해 상기 다른 레지스터를 갱신하는 단계를 더 포함하는 다중 실행 장치 처리 시스템 상태의 선택적 저장 방법.
  8. 제5항에 있어서, 상기 방법은 인터럽트가 실제로 일어날 경우 상기 제1 및 제2명령을 재실행(re-executing)하는 단계를 더 포함하는 다중 실행 장치 처리 시스템상태의 선택적 저장 방법.
  9. 다중 실행 장치 처리 시스템(multi-execution unit processing system)상태의 선택적 저장 시스템에 있어서, 상기 시스템은 제1명령이 인터럽트 가능한지를 결정하는 수단과 제1명령과 동시에 실행될 제2명령이 실행 사이클동안 갱신되는 레지스터(register)를 변경하는지를 결정하는 수단과 상기 제1명령이 인터럽트 가능하고 상기 제2명령이 상기 레지스터를 변경할 때 상기 레지스터 내용을 저장하는 수단과; 인터럽트가 일어나자 마자 상기 내용에 의해 상기 레지스터를 복원하는 수단을 포함하는 다중 실행 처리 시스템 상태의 선택적 저장 시스템.
  10. 제9항에 있어서, 상기 시스템은 상기 제1 및 제2명령을 실행하는 수단을 더 포함하는 다중 실행 장치 처리 시스템 상태의 선택적 저장 시스템.
  11. 제10항에 있어서, 상기 실행 수단은 상기 제1 및 제2명령의 실행으로 부터 발생하는 새로운 값에 의해 상기 레지스터를 변경하는 수단을 포함하는 다중 실행 장치 처리 시스템의 선택적 저장 시스템.
  12. 제11항에 있어서 상기 복원 수단은 상기 인터럽트 가능한 제1명령이 실제로 인터럽트를 야기하였는지를 결정하는 수단을 포함하는 다중 실행 장치 처리 시스템 상태의 선택적 저장 시스템.
  13. 제12항에 있어서, 상기 복원 수단은 상기 저장된 내용을 상기 레지스터로 배치하여 상기 레지스터를 상기 제1 및 제2명령의 실행 이전의 상태로 복원하는 수단을 더 포함하는 다중 실행 처리 시스템 상태의 선택적 저장 시스템.
  14. 제13항에 있어서, 상기 시스템은 상기 실행 사이클에 이어 갱신되는 다른 레지스터가 인터럽트가 실제로 일어날 경우 상기 제1 및 제2명령의 실행에 대응하는 결과에 의해 갱신되는 것을 방지하는 수단을 더 포함하는 다중 실행 장치 처리 시스템 상태의 선택적 저장 시스템.
  15. 제 14항에 있어서, 상기 시스템은 인터럽트가 일어나지 않을 경우 상기 제1및 제2며령의 실행에 대응하는 결과에 의해 상기 다른 ㅔ지스터를 갱신하는 수단을 더 포함하는 다중실행 처리 시스템 상태의 선택적 저장 시스템.
  16. 제15항에 있어서, 상기 시스템은 인터럽트가 실제로 일어날 경우 상기 제1 및 제2명령을 재실행하는 수단을 더 포함하는 다중 실행 장치 처리 시스템 상태의 선택적 저장 시스템.
  17. 제9항에 있어서, 제1명령이 인터럽트 가능한지를 결정하는 상기 수단 및 제2명령이 레지스터를 변경하는지를 결정하는 상기 수단은 중앙 처리장치(central processing unit)에 포함되는 디코드회로(decode circuit)를 포함하는 다중 실행 장치 처리 시스템 상태의 선택적 저장 시스템.
  18. 제17항에 있어서, 상기 저장 수단은 백아웃 래치(backout latch)를 포함하는 다중 실행 장치 처리 시스템 상태의 선택적 저장 시스템.
    ※참고사항: 최초출원 내용에 의하여 공개하는 것임.
KR1019940023767A 1993-09-20 1994-09-17 다중 실행장치 처리시스템 상태의 선택적 저장방법 및 시스템 KR0133237B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/123,816 US5440703A (en) 1993-09-20 1993-09-20 System and method for saving state information in a multi-execution unit processor when interruptable instructions are identified
US123,816 1993-09-20

Publications (2)

Publication Number Publication Date
KR950009454A true KR950009454A (ko) 1995-04-24
KR0133237B1 KR0133237B1 (ko) 1998-04-24

Family

ID=22411063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940023767A KR0133237B1 (ko) 1993-09-20 1994-09-17 다중 실행장치 처리시스템 상태의 선택적 저장방법 및 시스템

Country Status (7)

Country Link
US (1) US5440703A (ko)
EP (1) EP0644481A1 (ko)
JP (1) JP2633475B2 (ko)
KR (1) KR0133237B1 (ko)
CN (1) CN1099631C (ko)
BR (1) BR9403515A (ko)
CA (1) CA2123448C (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752013A (en) * 1993-06-30 1998-05-12 Intel Corporation Method and apparatus for providing precise fault tracing in a superscalar microprocessor
US5870582A (en) * 1997-03-31 1999-02-09 International Business Machines Corporation Method and apparatus for completion of non-interruptible instructions before the instruction is dispatched
US6098167A (en) * 1997-03-31 2000-08-01 International Business Machines Corporation Apparatus and method for fast unified interrupt recovery and branch recovery in processors supporting out-of-order execution
US5913048A (en) * 1997-03-31 1999-06-15 International Business Machines Corporation Dispatching instructions in a processor supporting out-of-order execution
US5887161A (en) * 1997-03-31 1999-03-23 International Business Machines Corporation Issuing instructions in a processor supporting out-of-order execution
US5805849A (en) * 1997-03-31 1998-09-08 International Business Machines Corporation Data processing system and method for using an unique identifier to maintain an age relationship between executing instructions
JP3650519B2 (ja) * 1997-12-17 2005-05-18 株式会社ルネサステクノロジ マイクロコンピュータ
US6088792A (en) * 1998-04-30 2000-07-11 International Business Machines Corporation Avoiding processor serialization after an S/390 SPKA instruction
US6088791A (en) * 1998-04-30 2000-07-11 International Business Machines Corporation Computer processor system for implementing the ESA/390 STOSM and STNSM instructions without serialization or artificially extending processor execution time
US6345356B1 (en) * 1999-07-16 2002-02-05 International Business Machines Corporation Method and apparatus for software-based dispatch stall mechanism for scoreboarded IOPs
US6442675B1 (en) 1999-07-29 2002-08-27 International Business Machines Corporation Compressed string and multiple generation engine
JP3564445B2 (ja) * 2001-09-20 2004-09-08 松下電器産業株式会社 プロセッサ、コンパイル装置及びコンパイル方法
US7313797B2 (en) * 2002-09-18 2007-12-25 Wind River Systems, Inc. Uniprocessor operating system design facilitating fast context switching
US7681022B2 (en) * 2006-07-25 2010-03-16 Qualcomm Incorporated Efficient interrupt return address save mechanism
US8806181B1 (en) * 2008-05-05 2014-08-12 Marvell International Ltd. Dynamic pipeline reconfiguration including changing a number of stages
EP2940575B1 (en) * 2014-05-02 2018-05-09 Nxp B.V. Controller circuits, data interface blocks, and methods for transferring data

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54107645A (en) * 1978-02-13 1979-08-23 Hitachi Ltd Information processor
US4589065A (en) * 1983-06-30 1986-05-13 International Business Machines Corporation Mechanism for implementing one machine cycle executable trap instructions in a primitive instruction set computing system
EP0153764B1 (en) * 1984-03-02 1993-11-03 Nec Corporation Information processor having an interruption operating function
US4670835A (en) * 1984-10-19 1987-06-02 Honeywell Information Systems Inc. Distributed control store word architecture
JPH0795278B2 (ja) * 1985-08-30 1995-10-11 株式会社日立製作所 処理装置の割込制御方式
US4766566A (en) * 1986-08-18 1988-08-23 International Business Machines Corp. Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing
JPS63131230A (ja) * 1986-11-21 1988-06-03 Hitachi Ltd 情報処理装置
US4901222A (en) * 1987-05-19 1990-02-13 Bull Nh Information Systems Inc. Method and apparatus for backing out of a software instruction after execution has begun
US5148530A (en) * 1987-05-19 1992-09-15 Bull Hn Information Systems Inc. Method for reexecuting instruction by altering high bits of instruction address based upon result of a subtraction operation with stored low bits
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
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
CA1313275C (en) * 1987-11-30 1993-01-26 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
US5247628A (en) * 1987-11-30 1993-09-21 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
US4912628A (en) * 1988-03-15 1990-03-27 International Business Machines Corp. Suspending and resuming processing of tasks running in a virtual machine data processing system
US5187796A (en) * 1988-03-29 1993-02-16 Computer Motion, Inc. Three-dimensional vector co-processor having I, J, and K register files and I, J, and K execution units
JPH0469734A (ja) * 1990-07-11 1992-03-04 Toshiba Corp 浮動小数点加減算のアンダーフロー例外発生予測回路
JP2925818B2 (ja) * 1991-04-05 1999-07-28 株式会社東芝 並列処理制御装置
JP3146058B2 (ja) * 1991-04-05 2001-03-12 株式会社東芝 並列処理型プロセッサシステムおよび並列処理型プロセッサシステムの制御方法
US5345567A (en) * 1991-06-10 1994-09-06 International Business Machines Corporation System and method for modifying program status word system mask, system access key, and address space code with overlap enabled

Also Published As

Publication number Publication date
CN1117166A (zh) 1996-02-21
CA2123448A1 (en) 1995-03-21
BR9403515A (pt) 1995-06-20
US5440703A (en) 1995-08-08
JPH07105025A (ja) 1995-04-21
CN1099631C (zh) 2003-01-22
JP2633475B2 (ja) 1997-07-23
KR0133237B1 (ko) 1998-04-24
CA2123448C (en) 1998-10-13
EP0644481A1 (en) 1995-03-22

Similar Documents

Publication Publication Date Title
KR950009454A (ko) 다중 실행 장치 처리 시스템 상태의 선택적 저장방법 및 시스템
US8117423B1 (en) Pipeline replay support for multicycle operations
KR870000643A (ko) 쌍방향성 분기 예상 및 최적화방법 및 장치
KR940022253A (ko) 컴파일러 및 데이타처리장치
KR20040016829A (ko) 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템
KR920001321A (ko) 고속 프로세서에서의 브랜치 처리 방법 및 장치
KR960705271A (ko) 데이타 처리 명령의 실행(execution of data processing instructions)
KR910017275A (ko) 마이크로프로세서 장치 및 그 동작 관리 방법
KR960706124A (ko) 워드 정렬 브랜치 타겟을 가지는 처리 시스템(Processing system with word aligned branch target)
KR930002935A (ko) 정보 처리 장치
KR970705083A (ko) 파이프라인 마이크로프로세서 테스트 방법 및 장치(Pipeline Microprocessor Test Method and Apparatus)
KR970012153A (ko) 데이타 프로세서 및 중단점 작동 실행 방법
KR900016865A (ko) 파이프라인방식의 분기명령제어장치
US5175827A (en) Branch history table write control system to prevent looping branch instructions from writing more than once into a branch history table
KR960011683A (ko) 연산 코드의 일부로 사용되는 부분을 포함한 오퍼랜드 필드를 갖는 명령어를 실행하는 마이크로프로세서
KR970703564A (ko) 분산 데이터 버퍼를 액세싱하기 위한 방법 및 장치(method and apparatus for accessing a distributed data buffer)
KR890012224A (ko) 정보처리장치
EP1177499A1 (en) Processor and method of executing instructions from several instruction sources
KR950025532A (ko) 연산 처리 장치
KR890002759A (ko) 데이타요소의 수정장치 및 그 방법
KR940009822A (ko) 서브루틴분기명령실행방법
KR930004861A (ko) 정보처리 시스템
KR890010708A (ko) 오퍼랜드 어드레스 수정방법 및 그 시스템
JPS61250754A (ja) 簡易型キヤツシユメモリ
JP2843844B2 (ja) 並列演算処理装置

Legal Events

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

Payment date: 20011010

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee