KR100890243B1 - 변환된 명령어의 재시작 - Google Patents
변환된 명령어의 재시작 Download PDFInfo
- Publication number
- KR100890243B1 KR100890243B1 KR1020037004687A KR20037004687A KR100890243B1 KR 100890243 B1 KR100890243 B1 KR 100890243B1 KR 1020037004687 A KR1020037004687 A KR 1020037004687A KR 20037004687 A KR20037004687 A KR 20037004687A KR 100890243 B1 KR100890243 B1 KR 100890243B1
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- instructions
- instruction set
- execution
- sequence
- Prior art date
Links
- 238000013507 mapping Methods 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims description 27
- 238000006243 chemical reaction Methods 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 238000003672 processing method Methods 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 13
- 230000007812 deficiency Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000007704 transition Effects 0.000 description 7
- 238000013519 translation Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- 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/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- 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 or look ahead
- G06F9/3802—Instruction prefetching
-
- 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 or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- 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 or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- 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 or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
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)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
Abstract
Description
상기 명령어 변환기는 상기 제 1 명령어 세트의 명령어에 대응하는 변환기 출력 신호의 하나 이상의 세트의 시퀀스를 발생하고,
(i) 상기 인터럽트가 상기 시퀀스내에서 최종 연산의 실행을 시작하기 전에 일어난 경우, 상기 재시작 로직부는 상기 시퀀스내에서 첫 번째 연산의 실행을 재시작하고,
(ii) 상기 인터럽트가 상기 시퀀스내에서 최종 연산의 실행을 시작한 후 일어난 경우, 상기 재시작 로직부는 상기 시퀀스에 이어서 다음 명령어의 실행을 재시작하는 것을 특징으로 하는 데이터 처리장치를 제공한다.
(i) 상기 인터럽트가 상기 시퀀스내에서 최종연산의 실행을 시작하기 전에 일어난 경우, 상기 시퀀스내에서 첫 번째 연산의 실행을 재시작하고,
(ii) 상기 인터럽트가 상기 시퀀스내에서 최종 연산의 실행을 시작한 후 일어난 경우, 상기 시퀀스에 이어서 다음 명령어의 실행을 재시작하는 것을 특징으로 하는 데이터 처리방법을 제공한다.
Claims (17)
- 제 1 명령어 세트의 명령어에 의해 지정된 대로 연산을 실행하도록 동작가능한 프로세서 코어와,제 2 명령어 세트의 명령어를 상기 제 1 명령어 세트의 명령어에 대응하는 변환기 출력신호로 변환하도록 동작 가능한 명령어 변환기로서, 상기 제 2 명령어 세트 중 적어도 하나의 명령어가 하나 이상의 입력변수를 사용하여 실행하는 연산을 지정하는 명령어 변환기와,인터럽트 신호에 응답하여 현재 실행 중인 연산의 실행을 완료한 후 상기 제 1 명령어 세트의 명령어에 대응하는 연산의 실행을 인터럽트하는 인터럽트 핸들러와,상기 인터럽트 후 실행을 재시작하기 위한 재시작 로직부를 구비하고,상기 명령어 변환기는 상기 제 1 명령어 세트의 명령어에 대응하는 변환기 출력 신호의 하나 이상의 세트의 시퀀스를 발생하고,상기 제 2 명령어 세트 중 상기 적어도 하나의 명령어를 나타낼 수 있도록 동작 가능하고, 이때, 각 시퀀스는 상기 시퀀스 내의 최종 연산을 실행할 때까지 상기 하나 이상의 입력 변수에 대해서 변경하지 않으며,상기 제 2 명령어 세트의 적어도 하나의 명령어를 나타내는 연산의 시퀀스의 실행중에 인터럽트가 발생한 후,(i) 상기 인터럽트가 상기 시퀀스내에서 최종 연산의 실행을 시작하기 전에 일어난 경우, 상기 재시작 로직부는 상기 시퀀스내에서 첫 번째 연산의 실행을 재시작하고,(ii) 상기 인터럽트가 상기 시퀀스내에서 최종 연산의 실행을 시작한 후 일어난 경우, 상기 재시작 로직부는 상기 시퀀스에 이어서 다음 명령어의 실행을 재시작하는 것을 특징으로 하는 데이터 처리장치.
- 제 1 항에 있어서,상기 변환기 출력신호는, 상기 제 1 명령어 세트의 명령어를 형성하는 신호를 포함한 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 변환기 출력신호는, 상기 프로세서 코어의 동작을 제어하고, 상기 제 1 명령어 세트의 명령어를 디코딩시에 생성된 제어신호와 일치하는 제어신호를 포함한 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 변환기 출력신호는, 상기 프로세서 코어의 동작을 제어하고, 상기 제 1 명령어 세트의 명령어를 디코딩시에 생성된 제어신호에 의해 지정되지 않은 파라미터를 지정하는 제어신호를 포함한 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 재시작 로직부는, 상기 명령어 변환기의 일부인 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 재시작 로직부는, 변환되는 상기 제 2 명령어 세트의 명령어 내의 재시작 위치에 대한 포인터를 기억하고, 상기 포인터는 상기 최종 연산의 실행시에 전진하는 것을 특징으로 하는 데이터 처리장치.
- 제 6 항에 있어서,상기 포인터는, 현재 변환되는 상기 제 2 명령어 세트의 명령어를 기억하는 메모리 위치의 메모리 어드레스를 가리키는 프로그램 카운터 값인 것을 특징으로 하는 데이터 처리장치.
- 제 1 항에 있어서,상기 제 2 명령어 세트의 명령어는 스택 내에 보유된 스택 오퍼랜드상에서 실행되는 연산을 지정하고, 상기 입력 변수는 입력 스택 오퍼랜드를 포함한 것을 특징으로 하는 데이터 처리장치.
- 제 8 항에 있어서,상기 제 2 명령어 세트 중 상기 적어도 하나의 명령어의 실행에 의해 상기 스택으로부터 제거된 임의의 스택 오퍼랜드는, 상기 최종 연산의 실행을 시작한 후까지 제거되지 않는 것을 특징으로 하는 데이터 처리장치.
- 제 8 항에 있어서,상기 제 2 명령어 세트 중 상기 적어도 하나의 명령어의 실행에 의해 상기 스택에 추가된 임의의 스택 오퍼랜드는, 상기 최종 연산의 실행을 시작한 후까지 추가되지 않는 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 입력변수는, 상기 제 2 명령어 내에 지정되지 않은 시스템 상태 변수를 포함한 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 프로세서 코어는 복수의 레지스터를 포함하는 레지스터 뱅크를 갖고, 상기 제 1 명령어 세트의 명령어는 상기 레지스터 내에 보유된 레지스터 오퍼랜드에 관한 연산을 실행하는 것을 특징으로 하는 데이터 처리장치.
- 제 8 항, 제9항 또는 제10항 중 어느 한 항에 있어서,상기 프로세서 코어는 복수의 레지스터를 포함하는 레지스터 뱅크를 갖고, 상기 제 1 명령어 세트의 명령어는 상기 레지스터 내에 보유된 레지스터 오퍼랜드에 관한 연산을 실행하며,상기 레지스터 뱅크 내의 레지스터 세트는, 상기 스택의 상부로부터 스택 오퍼랜드를 보유하는 것을 특징으로 하는 데이터 처리장치.
- 제 13 항에 있어서,상기 명령어 변환기는 상기 레지스터 세트 내에 서로 다른 레지스터가 상기 스택 내의 서로 다른 위치로부터 각각의 스택 오퍼랜드를 보유하는 복수의 매핑 상태를 갖고, 상기 명령어 변환기는 상기 입력변수를 갱신 가능하도록 상기 최종 연산이 실행될 때 매핑 상태 사이에서 이동하도록 동작가능한 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 제 2 명령어 세트의 상기 명령어는, 자바(Java) 가상 기계 명령어인 것을 특징으로 하는 데이터 처리장치.
- 제 1 명령어 세트의 명령어에 의해 지정된 대로 연산을 실행하는 단계와,제 2 명령어 세트의 명령어를 상기 제 1 명령어 세트의 명령어에 대응하는 변환기 출력신호로 변환하는 단계로서, 상기 제 2 명령어 세트 중 적어도 하나의 명령어가 하나 이상의 입력변수를 사용하여 실행하는 연산을 지정하는 변환 단계와,인터럽트 신호에 응답하여 현재 실행 중인 연산의 실행을 완료한 후 상기 제 1 명령어 세트의 명령어에 대응하는 연산의 실행을 인터럽트하는 단계와,상기 인터럽트 후 실행을 재시작하는 단계를 포함하고,상기 변환단계는, 상기 제 1 명령어 세트의 명령어에 대응하는 변환기 출력 신호의 하나 이상의 세트의 시퀀스를 발생하고, 상기 제 2 명령어 세트 중 상기 적어도 하나의 명령어를 나타낼 수 있도록 동작 가능하고, 이때, 각 시퀀스는 상기 시퀀스 내의 최종 연산을 실행할 때까지 상기 하나 이상의 입력 변수에 대해서 변경하지 않으며,상기 제 2 명령어 세트의 적어도 하나의 명령어를 나타내는 연산의 시퀀스의 실행중에 인터럽트가 발생한 후,(i) 상기 인터럽트가 상기 시퀀스내에서 최종연산의 실행을 시작하기 전에 일어난 경우, 상기 시퀀스내에서 첫 번째 연산의 실행을 재시작하고,(ii) 상기 인터럽트가 상기 시퀀스내에서 최종 연산의 실행을 시작한 후 일어난 경우, 상기 시퀀스에 이어서 다음 명령어의 실행을 재시작하는 것을 특징으로 하는 데이터 처리방법.
- 청구항 제16항의 데이터 처리방법을 수행하도록 컴퓨터를 제어하는 컴퓨터 프로그램을 저장한 것을 특징으로 하는 컴퓨터 판독가능한 기록매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0024402.0 | 2000-10-05 | ||
GB0024402A GB2367653B (en) | 2000-10-05 | 2000-10-05 | Restarting translated instructions |
PCT/GB2001/002741 WO2002029555A1 (en) | 2000-10-05 | 2001-06-21 | Restarting translated instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030034243A KR20030034243A (ko) | 2003-05-01 |
KR100890243B1 true KR100890243B1 (ko) | 2009-03-24 |
Family
ID=9900736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037004687A KR100890243B1 (ko) | 2000-10-05 | 2001-06-21 | 변환된 명령어의 재시작 |
Country Status (12)
Country | Link |
---|---|
US (1) | US7003652B2 (ko) |
EP (1) | EP1323032B1 (ko) |
JP (1) | JP4950408B2 (ko) |
KR (1) | KR100890243B1 (ko) |
CN (1) | CN1287270C (ko) |
DE (1) | DE60140068D1 (ko) |
GB (1) | GB2367653B (ko) |
IL (2) | IL151396A0 (ko) |
MY (1) | MY127147A (ko) |
RU (1) | RU2263949C2 (ko) |
TW (1) | TWI224280B (ko) |
WO (1) | WO2002029555A1 (ko) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69734399D1 (de) * | 1996-01-24 | 2006-03-02 | Sun Microsystems Inc | Verfahren und vorrichtung zur stapel-cachespeicherung |
US7162612B2 (en) * | 2000-08-16 | 2007-01-09 | Ip-First, Llc | Mechanism in a microprocessor for executing native instructions directly from memory |
JP2005506630A (ja) * | 2001-10-25 | 2005-03-03 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 低オーバヘッドの例外チェック |
US7155718B1 (en) * | 2002-04-04 | 2006-12-26 | Applied Micro Circuits Corp. | Method and apparatus to suspend and resume on next instruction for a microcontroller |
JP2004094533A (ja) * | 2002-08-30 | 2004-03-25 | Hajime Seki | 計算機システム |
JP4127495B2 (ja) * | 2002-09-05 | 2008-07-30 | 株式会社ルネサステクノロジ | 情報処理装置 |
US9158574B2 (en) | 2002-11-18 | 2015-10-13 | Arm Limited | Handling interrupts in data processing |
US7539853B2 (en) | 2002-11-18 | 2009-05-26 | Arm Limited | Handling interrupts in data processing of data in which only a portion of a function has been processed |
US20060117167A1 (en) * | 2002-12-12 | 2006-06-01 | Evrard Christophe J | Processing activity masking in a data processing system |
DE102004025418A1 (de) * | 2004-05-24 | 2005-12-22 | Infineon Technologies Ag | Controller mit einer Decodiereinrichtung |
DE102004025419A1 (de) * | 2004-05-24 | 2005-12-22 | Infineon Technologies Ag | Controller und Verfahren zum Verarbeiten von Befehlen |
US8621444B2 (en) * | 2004-06-01 | 2013-12-31 | The Regents Of The University Of California | Retargetable instruction set simulators |
EP1622009A1 (en) * | 2004-07-27 | 2006-02-01 | Texas Instruments Incorporated | JSM architecture and systems |
GB2424092A (en) * | 2005-03-11 | 2006-09-13 | Transitive Ltd | Switching between code translation and execution using a trampoline |
US7769983B2 (en) * | 2005-05-18 | 2010-08-03 | Qualcomm Incorporated | Caching instructions for a multiple-state processor |
US8010849B2 (en) * | 2006-09-05 | 2011-08-30 | Arm Limited | Diagnosing faults within programs being executed by virtual machines |
US7711927B2 (en) * | 2007-03-14 | 2010-05-04 | Qualcomm Incorporated | System, method and software to preload instructions from an instruction set other than one currently executing |
US8489989B1 (en) * | 2008-07-15 | 2013-07-16 | Adobe Systems Incorporated | Methods and systems for preflighting using multiple preflight profiles |
US8880857B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor |
US9317288B2 (en) | 2011-04-07 | 2016-04-19 | Via Technologies, Inc. | Multi-core microprocessor that performs x86 ISA and ARM ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
US9645822B2 (en) | 2011-04-07 | 2017-05-09 | Via Technologies, Inc | Conditional store instructions in an out-of-order execution microprocessor |
US9032189B2 (en) | 2011-04-07 | 2015-05-12 | Via Technologies, Inc. | Efficient conditional ALU instruction in read-port limited register file microprocessor |
US9292470B2 (en) | 2011-04-07 | 2016-03-22 | Via Technologies, Inc. | Microprocessor that enables ARM ISA program to access 64-bit general purpose registers written by x86 ISA program |
US9274795B2 (en) | 2011-04-07 | 2016-03-01 | Via Technologies, Inc. | Conditional non-branch instruction prediction |
US9176733B2 (en) | 2011-04-07 | 2015-11-03 | Via Technologies, Inc. | Load multiple and store multiple instructions in a microprocessor that emulates banked registers |
US8924695B2 (en) | 2011-04-07 | 2014-12-30 | Via Technologies, Inc. | Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor |
US9898291B2 (en) | 2011-04-07 | 2018-02-20 | Via Technologies, Inc. | Microprocessor with arm and X86 instruction length decoders |
US9336180B2 (en) | 2011-04-07 | 2016-05-10 | Via Technologies, Inc. | Microprocessor that makes 64-bit general purpose registers available in MSR address space while operating in non-64-bit mode |
US9043580B2 (en) | 2011-04-07 | 2015-05-26 | Via Technologies, Inc. | Accessing model specific registers (MSR) with different sets of distinct microinstructions for instructions of different instruction set architecture (ISA) |
US9146742B2 (en) | 2011-04-07 | 2015-09-29 | Via Technologies, Inc. | Heterogeneous ISA microprocessor that preserves non-ISA-specific configuration state when reset to different ISA |
US8880851B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Microprocessor that performs X86 ISA and arm ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
US9378019B2 (en) | 2011-04-07 | 2016-06-28 | Via Technologies, Inc. | Conditional load instructions in an out-of-order execution microprocessor |
US9244686B2 (en) | 2011-04-07 | 2016-01-26 | Via Technologies, Inc. | Microprocessor that translates conditional load/store instructions into variable number of microinstructions |
US9141389B2 (en) | 2011-04-07 | 2015-09-22 | Via Technologies, Inc. | Heterogeneous ISA microprocessor with shared hardware ISA registers |
US9128701B2 (en) | 2011-04-07 | 2015-09-08 | Via Technologies, Inc. | Generating constant for microinstructions from modified immediate field during instruction translation |
US8914615B2 (en) | 2011-12-02 | 2014-12-16 | Arm Limited | Mapping same logical register specifier for different instruction sets with divergent association to architectural register file using common address format |
WO2013132767A1 (ja) | 2012-03-09 | 2013-09-12 | パナソニック株式会社 | プロセッサ、マルチプロセッサシステム、コンパイラ、ソフトウェアシステム、メモリ制御システムおよびコンピュータシステム |
GB2514618B (en) * | 2013-05-31 | 2020-11-11 | Advanced Risc Mach Ltd | Data processing systems |
US9727944B2 (en) | 2015-06-22 | 2017-08-08 | Apple Inc. | GPU instruction storage |
EP3663916A4 (en) * | 2017-08-02 | 2020-08-19 | FeliCa Networks, Inc. | INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD |
CN112817812B (zh) * | 2020-12-31 | 2022-11-04 | 深圳市联影高端医疗装备创新研究院 | 序列翻译模拟方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0103547A2 (en) * | 1982-08-09 | 1984-03-21 | Giuseppe Rigo | Apparatus for generating a controllable steam and ozone mixture and hair-dryer for uniformly distributing said mixture on hair |
EP0772122A2 (en) * | 1991-03-07 | 1997-05-07 | Digital Equipment Corporation | Method for translating a first program code to a second program code and a system for executing a second program code |
KR19980702137A (ko) * | 1995-02-10 | 1998-07-15 | 카알 실버맨 | 프로세서의 명령어 집합간의 변환 방법 및 장치 |
KR100230552B1 (ko) | 1995-04-13 | 1999-11-15 | 포만 제프리 엘 | 동적 명령어 포맷팅을 이용한 컴퓨터 처리 시스템 |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3889243A (en) | 1973-10-18 | 1975-06-10 | Ibm | Stack mechanism for a data processor |
US3955180A (en) | 1974-01-02 | 1976-05-04 | Honeywell Information Systems Inc. | Table driven emulation system |
US4236204A (en) | 1978-03-13 | 1980-11-25 | Motorola, Inc. | Instruction set modifier register |
US4587632A (en) | 1980-05-27 | 1986-05-06 | At&T Bell Laboratories | Lookahead stack oriented computer |
US4922414A (en) | 1982-12-17 | 1990-05-01 | Symbolics Inc. | Symbolic language data processing system |
DE3726192A1 (de) | 1987-08-06 | 1989-02-16 | Otto Mueller | Stacksteuerung |
US5136696A (en) | 1988-06-27 | 1992-08-04 | Prime Computer, Inc. | High-performance pipelined central processor for predicting the occurrence of executing single-cycle instructions and multicycle instructions |
US5440749A (en) | 1989-08-03 | 1995-08-08 | Nanotronics Corporation | High performance, low cost microprocessor architecture |
JPH04302329A (ja) * | 1990-12-26 | 1992-10-26 | Xerox Corp | マイクロ処理システム |
TW197505B (ko) * | 1991-03-07 | 1993-01-01 | Digital Equipment Corp | |
US5307504A (en) * | 1991-03-07 | 1994-04-26 | Digital Equipment Corporation | System and method for preserving instruction granularity when translating program code from a computer having a first architecture to a computer having a second reduced architecture during the occurrence of interrupts due to asynchronous events |
US5367685A (en) | 1992-12-22 | 1994-11-22 | Firstperson, Inc. | Method and apparatus for resolving data references in generated code |
US5455775A (en) | 1993-01-25 | 1995-10-03 | International Business Machines Corporation | Computer design system for mapping a logical hierarchy into a physical hierarchy |
GB2289353B (en) | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Data processing with multiple instruction sets |
GB2289354B (en) | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Multiple instruction set mapping |
GB2290395B (en) | 1994-06-10 | 1997-05-28 | Advanced Risc Mach Ltd | Interoperability with multiple instruction sets |
US5752035A (en) | 1995-04-05 | 1998-05-12 | Xilinx, Inc. | Method for compiling and executing programs for reprogrammable instruction set accelerator |
US5619665A (en) | 1995-04-13 | 1997-04-08 | Intrnational Business Machines Corporation | Method and apparatus for the transparent emulation of an existing instruction-set architecture by an arbitrary underlying instruction-set architecture |
US5838948A (en) | 1995-12-01 | 1998-11-17 | Eagle Design Automation, Inc. | System and method for simulation of computer systems combining hardware and software interaction |
US5826089A (en) | 1996-01-04 | 1998-10-20 | Advanced Micro Devices, Inc. | Instruction translation unit configured to translate from a first instruction set to a second instruction set |
US5970242A (en) | 1996-01-24 | 1999-10-19 | Sun Microsystems, Inc. | Replicating code to eliminate a level of indirection during execution of an object oriented computer program |
US6026485A (en) | 1996-01-24 | 2000-02-15 | Sun Microsystems, Inc. | Instruction folding for a stack-based machine |
US6038643A (en) | 1996-01-24 | 2000-03-14 | Sun Microsystems, Inc. | Stack management unit and method for a processor having a stack |
DE69734399D1 (de) * | 1996-01-24 | 2006-03-02 | Sun Microsystems Inc | Verfahren und vorrichtung zur stapel-cachespeicherung |
JP2000501217A (ja) | 1996-01-24 | 2000-02-02 | サン・マイクロシステムズ・インコーポレイテッド | 配列アクセス境界チェックを加速したプロセッサ |
KR100513138B1 (ko) | 1996-01-24 | 2005-09-07 | 선 마이크로시스템즈 인코퍼레이티드 | 네트워크 또는 로컬 메모리로부터 수신된 명령 세트를실행하는 프로세서 및 컴퓨터 시스템 |
US5742802A (en) | 1996-02-16 | 1998-04-21 | International Business Machines Corporation | Method and system for efficiently mapping guest instruction in an emulation assist unit |
US5805895A (en) | 1996-06-09 | 1998-09-08 | Motorola, Inc. | Method and apparatus for code translation optimization |
US6031992A (en) | 1996-07-05 | 2000-02-29 | Transmeta Corporation | Combining hardware and software to provide an improved microprocessor |
JPH1069640A (ja) | 1996-08-27 | 1998-03-10 | Mitsumi Electric Co Ltd | Cd−rドライブにおけるウォブル信号生成方法 |
US5926832A (en) | 1996-09-26 | 1999-07-20 | Transmeta Corporation | Method and apparatus for aliasing memory data in an advanced microprocessor |
DE69723286T2 (de) | 1996-11-13 | 2004-05-13 | Paran, Arik, Sunnyvale | Echtzeitprogramm-sprachbeschleuniger |
US5937193A (en) * | 1996-11-27 | 1999-08-10 | Vlsi Technology, Inc. | Circuit arrangement for translating platform-independent instructions for execution on a hardware platform and method thereof |
US5953741A (en) | 1996-11-27 | 1999-09-14 | Vlsi Technology, Inc. | Stack cache for stack-based processor and method thereof |
US6011908A (en) * | 1996-12-23 | 2000-01-04 | Transmeta Corporation | Gated store buffer for an advanced microprocessor |
US6009499A (en) | 1997-03-31 | 1999-12-28 | Sun Microsystems, Inc | Pipelined stack caching circuit |
US5898885A (en) * | 1997-03-31 | 1999-04-27 | International Business Machines Corporation | Method and system for executing a non-native stack-based instruction within a computer system |
US5875336A (en) | 1997-03-31 | 1999-02-23 | International Business Machines Corporation | Method and system for translating a non-native bytecode to a set of codes native to a processor within a computer system |
US5892966A (en) | 1997-06-27 | 1999-04-06 | Sun Microsystems, Inc. | Processor complex for executing multimedia functions |
US6088786A (en) | 1997-06-27 | 2000-07-11 | Sun Microsystems, Inc. | Method and system for coupling a stack based processor to register based functional unit |
US6003126A (en) | 1997-07-01 | 1999-12-14 | International Business Machines | Special instruction register including allocation field utilized for temporary designation of physical registers as general registers |
US6317872B1 (en) | 1997-07-11 | 2001-11-13 | Rockwell Collins, Inc. | Real time processor optimized for executing JAVA programs |
US5953520A (en) | 1997-09-22 | 1999-09-14 | International Business Machines Corporation | Address translation buffer for data processing system emulation mode |
US5995743A (en) * | 1997-09-22 | 1999-11-30 | International Business Machines Corporation | Method and system for interrupt handling during emulation in a data processing system |
EP0950216B1 (en) | 1997-10-02 | 2003-11-26 | Koninklijke Philips Electronics N.V. | A processing device for executing virtual machine instructions |
KR100623403B1 (ko) | 1997-10-02 | 2006-09-13 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 가상 머신 명령을 처리하기 위한 데이터 처리 장치 |
AU745449B2 (en) * | 1997-11-20 | 2002-03-21 | Hajime Seki | Computer system |
US6070173A (en) | 1997-11-26 | 2000-05-30 | International Business Machines Corporation | Method and apparatus for assisting garbage collection process within a java virtual machine |
US6122638A (en) | 1997-11-26 | 2000-09-19 | International Business Machines Corporation | Object-oriented processor and method for caching intermediate data in an object-oriented processor |
US6039765A (en) * | 1997-12-15 | 2000-03-21 | Motorola, Inc. | Computer instruction which generates multiple results of different data types to improve software emulation |
US6148391A (en) | 1998-03-26 | 2000-11-14 | Sun Microsystems, Inc. | System for simultaneously accessing one or more stack elements by multiple functional units using real stack addresses |
US6374286B1 (en) | 1998-04-06 | 2002-04-16 | Rockwell Collins, Inc. | Real time processor capable of concurrently running multiple independent JAVA machines |
US6332215B1 (en) * | 1998-12-08 | 2001-12-18 | Nazomi Communications, Inc. | Java virtual machine hardware for RISC and CISC processors |
US6338134B1 (en) | 1998-12-29 | 2002-01-08 | International Business Machines Corporation | Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data |
US6718539B1 (en) * | 2000-12-22 | 2004-04-06 | Lsi Logic Corporation | Interrupt handling mechanism in translator from one instruction set to another |
-
2000
- 2000-10-05 GB GB0024402A patent/GB2367653B/en not_active Expired - Lifetime
-
2001
- 2001-06-21 IL IL15139601A patent/IL151396A0/xx active IP Right Grant
- 2001-06-21 DE DE60140068T patent/DE60140068D1/de not_active Expired - Lifetime
- 2001-06-21 RU RU2002127807/09A patent/RU2263949C2/ru not_active IP Right Cessation
- 2001-06-21 EP EP01940796A patent/EP1323032B1/en not_active Expired - Lifetime
- 2001-06-21 JP JP2002533061A patent/JP4950408B2/ja not_active Expired - Lifetime
- 2001-06-21 WO PCT/GB2001/002741 patent/WO2002029555A1/en active Application Filing
- 2001-06-21 KR KR1020037004687A patent/KR100890243B1/ko active IP Right Grant
- 2001-06-21 CN CNB018108180A patent/CN1287270C/zh not_active Expired - Lifetime
- 2001-06-25 US US09/887,559 patent/US7003652B2/en not_active Expired - Lifetime
- 2001-07-14 MY MYPI20013351 patent/MY127147A/en unknown
- 2001-09-25 TW TW090123666A patent/TWI224280B/zh not_active IP Right Cessation
-
2002
- 2002-08-21 IL IL151396A patent/IL151396A/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0103547A2 (en) * | 1982-08-09 | 1984-03-21 | Giuseppe Rigo | Apparatus for generating a controllable steam and ozone mixture and hair-dryer for uniformly distributing said mixture on hair |
EP0772122A2 (en) * | 1991-03-07 | 1997-05-07 | Digital Equipment Corporation | Method for translating a first program code to a second program code and a system for executing a second program code |
EP0772122A3 (en) | 1991-03-07 | 1997-05-14 | Digital Equipment Corporation | Method for translating a first program code to a second program code and a system for executing a second program code |
KR19980702137A (ko) * | 1995-02-10 | 1998-07-15 | 카알 실버맨 | 프로세서의 명령어 집합간의 변환 방법 및 장치 |
KR100230552B1 (ko) | 1995-04-13 | 1999-11-15 | 포만 제프리 엘 | 동적 명령어 포맷팅을 이용한 컴퓨터 처리 시스템 |
Also Published As
Publication number | Publication date |
---|---|
WO2002029555A1 (en) | 2002-04-11 |
CN1434938A (zh) | 2003-08-06 |
CN1287270C (zh) | 2006-11-29 |
KR20030034243A (ko) | 2003-05-01 |
RU2002127807A (ru) | 2004-02-27 |
US7003652B2 (en) | 2006-02-21 |
IL151396A0 (en) | 2003-04-10 |
RU2263949C2 (ru) | 2005-11-10 |
JP4950408B2 (ja) | 2012-06-13 |
EP1323032B1 (en) | 2009-09-30 |
GB2367653A (en) | 2002-04-10 |
IL151396A (en) | 2008-08-07 |
JP2004511041A (ja) | 2004-04-08 |
TWI224280B (en) | 2004-11-21 |
GB0024402D0 (en) | 2000-11-22 |
US20020066003A1 (en) | 2002-05-30 |
EP1323032A1 (en) | 2003-07-02 |
MY127147A (en) | 2006-11-30 |
GB2367653B (en) | 2004-10-20 |
DE60140068D1 (de) | 2009-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100890243B1 (ko) | 변환된 명령어의 재시작 | |
KR100890244B1 (ko) | 레지스터에의 스택 오퍼랜드의 저장 | |
JP4938187B2 (ja) | ネイティブおよび非ネイティブの命令集合間相互呼び出し | |
KR20030040515A (ko) | 프로세서 파이프라인 내에서의 하드웨어 명령어 변환 | |
EP0950216B1 (en) | A processing device for executing virtual machine instructions | |
US7356673B2 (en) | System and method including distributed instruction buffers for storing frequently executed instructions in predecoded form | |
WO2001061475A1 (en) | Transforming a stack-based code sequence to a register based code sequence | |
GB2367652A (en) | Scheduling control within a system having mixed hardware and software based instruction execution | |
GB2367658A (en) | Intercalling between native and non-native instruction sets | |
Säntti et al. | Java Co-Processor for Embedded Systems | |
WO2001061474A1 (en) | Delayed update of a stack pointer and program counter | |
WO2001061476A2 (en) | System including cpu and code translator for translating code from a second instruction set to a first instruction set |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E801 | Decision on dismissal of amendment | ||
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: 20130221 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140221 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150226 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160218 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170220 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180219 Year of fee payment: 10 |