KR970059922A - 전용 레지스터의 내용 상에서 동작하는 명령을 제공함으로써 에뮬레이션 성능을 향상시키기 위한 방법 및 시스템 - Google Patents

전용 레지스터의 내용 상에서 동작하는 명령을 제공함으로써 에뮬레이션 성능을 향상시키기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR970059922A
KR970059922A KR1019960046662A KR19960046662A KR970059922A KR 970059922 A KR970059922 A KR 970059922A KR 1019960046662 A KR1019960046662 A KR 1019960046662A KR 19960046662 A KR19960046662 A KR 19960046662A KR 970059922 A KR970059922 A KR 970059922A
Authority
KR
South Korea
Prior art keywords
processor
operand
instruction
register
general purpose
Prior art date
Application number
KR1019960046662A
Other languages
English (en)
Other versions
KR100237987B1 (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 KR970059922A publication Critical patent/KR970059922A/ko
Application granted granted Critical
Publication of KR100237987B1 publication Critical patent/KR100237987B1/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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

제1 오퍼랜드와 제2 오퍼랜드를 갖는 게스트 명령어를 에뮬레이팅하는 프로세서의 성능을 향상시키기 위한 시스템 및 방법이 제안되었다. 상기 제1오퍼랜드는 범용 레지스터에 저장되어 있고, 상기 제2 오퍼랜드는 전용 레지스터에 저장되어 있다. 본 방법 및 시스템은 상기 제2오퍼랜드를 전용 레지스터로부터 범용 레지스터로 이동시키지 않고 제1오퍼랜드와 제2 오퍼랜드를 사용하여 연산을 수행하는 호스트 명령을 제공한다. 본 발명은 게스트 명령어로부터 제공된 즉치 데이타 상에서 동작하기 위해 필요한 시맨틱 루틴의 명령어 개수를 감소시켜, 에뮬레이션 성능을 향상시킨다.

Description

전용 레지스터의 내용 상에서 동작하는 명령을 제공함으로써 에뮬레이션 성능을 향상 시키기 위한 방법 및 시스템
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제 1도는 본 발명에 따른 오락 시스템의 아키텍처를 도시한 블록도.

Claims (18)

  1. 제1 오퍼랜드와 제2 오퍼랜드를 갖는 게스트 명령어를 에뮬레이팅하는 프로세서의 성능을 향상시키기 위한 방법에 있어서, (a) 상기 제1오퍼랜드는 범용 레지스터에 저장하고 상기 제2 오퍼랜드는 전용 레지스터에 저장하는 단계; 및 (b) 상기 전용 레지스터로부터 상기 범용 레지스터로 상기 제2오퍼랜드를 이동시키지 않고, 상기 제1오퍼랜드와 제2 오퍼랜드를 사용하여 연산을 수행하는 호스트 명령을 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서, 사익 프로세서가 에뮬레이션 보조 유닛을 포함하고, 상기 단계 (a) 가 (a1) 상기 에뮬레이션 보조 유닛에 상기 전용레지스터를 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제 2항에 있어서, 상기 프로세서가 산술 논리 유닛과 멀티플렉서를 포함하고, 상기 산술 논리 유닛이 상기 범용 레지스터와 상기 멀티플렉서 사이에 연결되어 있으며, 상기 단계(a)가 (a2) 상기 산술 논리 유닛에 상기 전용 레지스터를 연결하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제 3항에 있어서, 상기 단계(b) 가 (b1) 제3범용 레지스터에 연산 결과를 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제 4항에 있어서, 상기 연산이 산술 연산인 것을 특징으로 하는 방법.
  6. 제 5항에 있어서, 상기 연산이 데이타 전송 연산인 것을 특징으로 하는 방법.
  7. 제 6항에 있어서, 상기 연산이 논리 연산인 것을 특징으로 하는 방법.
  8. 제 7항에 있어서, 상기 프로세서가 시맨틱 루틴을 사용하여 상기 게스트 명령어를 에뮬레이팅하고, 상기 명령어가 상기 시맨틱 루틴 내의 명령어인 것을 특징으로 하는 방법.
  9. 제1, 제2오퍼랜드를 포함하는 게이트 명령어를 에뮬레이팅하는 프로세서에 있어서, 상기 제1오퍼랜드를 범용 레지스터에 저장하고 상기 제2오퍼랜드를 전용 래지스터에 저장하기 위한 수단; 및 상기 전용 레지스터로 부터 상기 범용 레지스터로 상기 제2오퍼랜드를 이동시키지 않고, 상기 제1오퍼랜드와 제2오퍼랜드를 사용하여 연산을 수행하는 명령어 수단을 포함하는 것을 특징으로 하는 프로세서.
  10. 제 9항에 있어서, 상기 프로세서가 에뮬레이션 보조 유닛을 더 포함하고, 상기 전용 레지스터가 상기 에뮬레이션 보조 유닛의 부분인 것을 특징으로 하는 프로세서.
  11. 제 10항에 있어서, 상기 프로세서가 산술 논리 유닛과 멀티플렉서를 더 포함하고, 상기 산술 논리 유닛이 상기 범용 레지스터와 상기 멀티플렉서 사이에 연결되어 있으며, 상기 전용 레지스터가 상기 산술 논리 유닛에 연결되어 있는 것을 특징으로 하는 프로세서.
  12. 제 11항에 있어섯, 상기 명령어 수단이, 연산 결과를 제3범용 레지스터에 저장하기 위한 수단을 더 포함하는 것을 특징으로 하는 프로세서.
  13. 제 12항에 있어서, 상기 명령어 수단이 산술 연산 수단인 것을 특징으로 하는 프로세서.
  14. 제 13항에 있어서, 상기 명령어 수단이 데이타 전송 연산 수단인 것을 특징으로 하는 프로세서.
  15. 제 13항에 있어서, 상기 명령어 수단이 논리 연산 수단인 것을 특징으로 하는 프로세서.
  16. 제 15항에 있어서, 상기 프로세서가 시맨틱 루틴을 사용하여 게스트 명령어를 에뮬레이팅하고, 상기 명령어 수단이 상기 시맨틱 루틴 내의 명령어인 것을 특징으로 하는 프로세서.
  17. 즉치 데이타를 포함하는 명령어를 다수 갖는 게이트 명령어를 에뮬레이팅하기 위한 프로세서에 있어서, 상기 게스트 명령어의 기능을 에뮬레이팅하기 위한 호스트 명령어의 블록을 각각 포함하는 복수의 시맨틱 루틴을 특정 어드레스에 저장하기 위한 메모리; 상기 게스트 명령어를 디코딩하고 이에 대응하는 시맨틱 루틴을 디스패치하기 위한 에뮬레이션 보조 유닛으로서, 상기 시맨틱 루틴의 메모리 어드레스에 대한 포인터인 오프셋필드와 상기 게이트 명령어로부터의 즉치 데이타인 데이타 필드를 각각 포함하는 복수의 엔트리를 저장하기 위한 복수의 전용 레지스터를 포함하는 에뮬레이션 보조 유닛; 오퍼랜드를 저장하기 위한 복수의 범용 레지스터; 및 상기 즉치 데이타를 상기 전용 레지스터로부터 상기 범용 레지스터로 이동시키지 않고, 상기 즉치 데이타와 상기 범용 레지스터의 상기 오퍼랜드를 사용하여 연산을 수행하는 상기 시맨틱 루틴 내의 복수의 호스트 명령어를 포함하는 것을 특징으로 하는 프로세서.
  18. 제 17항에 있어서, 상기 프로세서가 호스트 명령어를 실행하기 위한 정수 유닛을 더 포함하고, 상기 정수 유닛이 산술 논리 유닛과 멀티플렉서를 포함하며, 상기 산술 논리 유닛은 상기 복수의 범용 레지스터와 상기 멀티플렉서 사이에 연결되어 있으며, 상기 전용 레지스터가 상기 산술 논리 유닛에 연결되어 있는 것을 특징으로 하는 프로세서.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019960046662A 1996-01-25 1996-10-18 전용 레지스터의 내용 상에서 동작하는 명령을 제공함으로써 에뮬레이션 성능을 향상시키기 위한 방법 및 시스템 KR100237987B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/581,793 1996-01-25
US08/581,793 1996-01-25
US08/581,793 US5758140A (en) 1996-01-25 1996-01-25 Method and system for emulating instructions by performing an operation directly using special-purpose register contents

Publications (2)

Publication Number Publication Date
KR970059922A true KR970059922A (ko) 1997-08-12
KR100237987B1 KR100237987B1 (ko) 2000-01-15

Family

ID=24326583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960046662A KR100237987B1 (ko) 1996-01-25 1996-10-18 전용 레지스터의 내용 상에서 동작하는 명령을 제공함으로써 에뮬레이션 성능을 향상시키기 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US5758140A (ko)
EP (1) EP0786722A1 (ko)
JP (1) JP3193651B2 (ko)
KR (1) KR100237987B1 (ko)
TW (1) TW417064B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101442429B1 (ko) * 2010-06-24 2014-09-17 인터내셔널 비지네스 머신즈 코포레이션 프로세서의 펑션 쿼리를 위한 펑션 가상화 장치
US10521231B2 (en) 2010-06-24 2019-12-31 International Business Machines Corporation Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044220A (en) * 1997-02-25 2000-03-28 Motorola, Inc. Method and apparatus for operating a data processor to execute software written using a foreign instruction set
US6223339B1 (en) * 1998-09-08 2001-04-24 Hewlett-Packard Company System, method, and product for memory management in a dynamic translator
US6308318B2 (en) * 1998-10-07 2001-10-23 Hewlett-Packard Company Method and apparatus for handling asynchronous exceptions in a dynamic translation system
WO2001025900A1 (en) * 1999-10-06 2001-04-12 Cradle Technologies Risc processor using register codes for expanded instruction set
US6711672B1 (en) * 2000-09-22 2004-03-23 Vmware, Inc. Method and system for implementing subroutine calls and returns in binary translation sub-systems of computers
KR100388943B1 (ko) * 2000-10-23 2003-06-25 아스텔 주식회사 디지털 신호 처리 프로세서의 즉시 데이터 처리 장치
US7219337B2 (en) * 2003-03-06 2007-05-15 Northrop Grumman Corporation Direct instructions rendering emulation computer technique
US7290253B1 (en) 2003-09-30 2007-10-30 Vmware, Inc. Prediction mechanism for subroutine returns in binary translation sub-systems of computers
GB2426083A (en) * 2005-05-09 2006-11-15 Sony Comp Entertainment Europe Software emulation of a pipeline processor
US20070006178A1 (en) * 2005-05-12 2007-01-04 Microsoft Corporation Function-level just-in-time translation engine with multiple pass optimization
CN100447702C (zh) * 2005-05-23 2008-12-31 联想(北京)有限公司 一种防止未被授权程序在计算机系统运行的方法及其系统
JP5367020B2 (ja) * 2011-06-24 2013-12-11 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、プログラム及び情報記憶媒体

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2253430A5 (ko) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
FR2253435A5 (ko) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US3891974A (en) * 1973-12-17 1975-06-24 Honeywell Inf Systems Data processing system having emulation capability for providing wait state simulation function
US4084235A (en) * 1975-04-14 1978-04-11 Honeywell Information Systems Inc. Emulation apparatus
US4587612A (en) * 1982-10-22 1986-05-06 International Business Machines Corporation Accelerated instruction mapping external to source and target instruction streams for near realtime injection into the latter
JPH07109589B2 (ja) * 1985-07-25 1995-11-22 日本電気株式会社 命令処理方式
US4841476A (en) * 1986-10-06 1989-06-20 International Business Machines Corporation Extended floating point operations supporting emulation of source instruction execution
EP0264215A3 (en) * 1986-10-14 1991-10-23 Amdahl Corporation Fast entry to emulation
JPS63106836A (ja) * 1986-10-24 1988-05-11 Hitachi Ltd 異ア−キテクチヤ・エミユレ−シヨン方式
JPH02236734A (ja) * 1989-03-10 1990-09-19 Nec Corp マイクロプロセッサのエミュレーション方式
US5077657A (en) * 1989-06-15 1991-12-31 Unisys Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor
JPH05181671A (ja) * 1992-01-07 1993-07-23 Kobe Nippon Denki Software Kk ソフトウェア命令のエミュレーション方式
DE4232053C1 (de) * 1992-09-24 1993-11-25 Siemens Ag Schaltung zur Emulationsbeschleunigung
WO1994027215A1 (en) * 1993-05-07 1994-11-24 Apple Computer, Inc. Method for decoding guest instructions for a host computer
WO1994027214A1 (en) * 1993-05-07 1994-11-24 Apple Computer, Inc. Method for decoding sequences of guest instructions for a host computer

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101442429B1 (ko) * 2010-06-24 2014-09-17 인터내셔널 비지네스 머신즈 코포레이션 프로세서의 펑션 쿼리를 위한 펑션 가상화 장치
US9851969B2 (en) 2010-06-24 2017-12-26 International Business Machines Corporation Function virtualization facility for function query of a processor
US10521231B2 (en) 2010-06-24 2019-12-31 International Business Machines Corporation Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor
US10664269B2 (en) 2010-06-24 2020-05-26 International Business Machines Corporation Function virtualization facility for function query of a processor
US11086624B2 (en) 2010-06-24 2021-08-10 International Business Machines Corporation Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor
US11188326B2 (en) 2010-06-24 2021-11-30 International Business Machines Corporation Function virtualization facility for function query of a processor
US11809870B2 (en) 2010-06-24 2023-11-07 International Business Machines Corporation Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor

Also Published As

Publication number Publication date
JPH09212370A (ja) 1997-08-15
EP0786722A1 (en) 1997-07-30
KR100237987B1 (ko) 2000-01-15
US5758140A (en) 1998-05-26
JP3193651B2 (ja) 2001-07-30
TW417064B (en) 2001-01-01

Similar Documents

Publication Publication Date Title
US5854913A (en) Microprocessor with an architecture mode control capable of supporting extensions of two distinct instruction-set architectures
US7243213B2 (en) Process for translating instructions for an arm-type processor into instructions for a LX-type processor; relative translator device and computer program product
KR100190252B1 (ko) 고속 프로세서에서의 브랜치 처리 방법 및 장치
JPH0782441B2 (ja) シミユレーシヨン方法
GB2200483A (en) High performance microprocessor
JP2002512399A (ja) 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ
KR970059922A (ko) 전용 레지스터의 내용 상에서 동작하는 명령을 제공함으로써 에뮬레이션 성능을 향상시키기 위한 방법 및 시스템
KR930018378A (ko) 캐쉬 메모리 시스템의 성능최적화 방법 및 장치
JPS6014341A (ja) 基本命令セツト計算機システムにおけるトラツプ割込み方式
EP0205692A1 (en) Improvements in microprocessors
CN115357332A (zh) 处理器间中断的虚拟化
US12112178B2 (en) Memory-independent and scalable state component initialization for a processor
US5732235A (en) Method and system for minimizing the number of cycles required to execute semantic routines
KR960011683A (ko) 연산 코드의 일부로 사용되는 부분을 포함한 오퍼랜드 필드를 갖는 명령어를 실행하는 마이크로프로세서
US6442676B1 (en) Processor with different width functional units ignoring extra bits of bus wider than instruction width
US5327567A (en) Method and system for returning emulated results from a trap handler
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
KR940004440A (ko) 데이타처리장치
US20220308867A1 (en) Apparatus and method for managing unsupported instruction set architecture (isa) features in a virtualized environment
US6904515B1 (en) Multi-instruction set flag preservation apparatus and method
KR20010032275A (ko) 계산기 시스템
EP0101718B1 (en) Computer with automatic mapping of memory contents into machine registers
JP2556870B2 (ja) データ処理装置
US6230256B1 (en) Data processing system having a bus wider than processor instruction width
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction

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

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee