KR100890244B1 - 레지스터에의 스택 오퍼랜드의 저장 - Google Patents
레지스터에의 스택 오퍼랜드의 저장 Download PDFInfo
- Publication number
- KR100890244B1 KR100890244B1 KR1020037004688A KR20037004688A KR100890244B1 KR 100890244 B1 KR100890244 B1 KR 100890244B1 KR 1020037004688 A KR1020037004688 A KR 1020037004688A KR 20037004688 A KR20037004688 A KR 20037004688A KR 100890244 B1 KR100890244 B1 KR 100890244B1
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- stack
- register
- instructions
- operand
- Prior art date
Links
- 238000013507 mapping Methods 0.000 claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 32
- 230000008859 change Effects 0.000 claims abstract description 11
- 230000015654 memory Effects 0.000 claims description 42
- 238000000034 method Methods 0.000 claims description 29
- 238000006243 chemical reaction Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 5
- 238000003672 processing method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 238000013519 translation Methods 0.000 description 8
- 230000014616 translation Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000007812 deficiency Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 210000003813 thumb Anatomy 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 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
-
- 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)
Abstract
Description
Claims (17)
- 복수의 레지스터를 포함하는 레지스터 뱅크를 갖고, 상기 레지스터 내에 보유된 레지스터 오퍼랜드에 대하여 제 1 명령어 세트의 명령어 내에 지정된 대로 연산을 실행하도록 동작가능한 프로세서 코어와,하나의 스택에 보유된 스택 오퍼랜드에 관해 실행되는 연산을 지정하는 제 2 명령어 세트의 명령어를 상기 제 1 명령어 세트의 명령어에 대응한 변환기 출력신호로 변환하도록 동작가능한 명령어 변환기를 구비하고,상기 명령어 변환기가, 상기 스택의 일부로부터 스택 오퍼랜드를 보유하기 위해 상기 레지스터 뱅크 내에 레지스터 세트를 할당하도록 동작가능하고,상기 명령어 변환기가, 상기 레지스터 세트 내에 서로 다른 레지스터가 상기 스택의 상기 일부 내의 서로 다른 위치로부터 각각의 스택 오퍼랜드를 보유하는 복수의 매핑 상태를 갖고,상기 명령어 변환기가, 상기 레지스터 세트 내에 보유된 스택 오퍼랜드를 추가 또는 제거하는 동작에 따라서 매핑 상태사이에서 변화하도록 동작하는 것이 가능하고, 상기 제 2 명령어 세트로부터의 명령어를 상기 제 1 명령어 세트로부터의 명령어로 변환하기 위한 복수의 명령어 템플릿을 사용하고,하나 이상의 스택 오퍼랜드를 구비한 상기 제 2 명령어 세트로부터의 명령어는, 상기 명령어 변환기의 현재 채택된 매핑 상태에 의존하여 상기 스택 오퍼랜드에 대해 레지스터 오퍼랜드를 매핑한 상기 제 1 명령어 세트의 하나 이상의 명령어를 포함한 명령어 템플릿을 갖는 것을 특징으로 하는 데이터 처리장치.
- 제 1 항에 있어서,상기 변환기 출력신호는, 상기 제 1 명령어 세트의 명령어를 형성하는 신호 를 포함한 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 변환기 출력신호는, 상기 프로세서 코어의 동작을 제어하고, 상기 제 1 명령어 세트의 명령어를 디코딩시에 생성된 제어신호와 일치하는 제어신호를 포함한 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 변환기 출력신호는, 상기 프로세서 코어의 동작을 제어하고, 상기 제 1 명령어 세트의 명령어를 디코딩시에 생성된 제어신호에 의해 지정되지 않은 파라미터를 지정하는 제어신호를 포함한 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 명령어 변환기는, 상기 레지스터 세트내의 레지스터간에 스택 오퍼랜드를 이동하지 않고 상기 레지스터 세트에 스택 오퍼랜드를 추가 또는 상기 레지스터 세트로부터 스택 오퍼랜드를 제거하도록 매핑 상태를 제공하는 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 레지스터 세트는, 상기 스택내의 상부위치로부터의 상부 스택 오퍼랜드를 포함한 상기 스택의 상부로부터의 스택 오퍼랜드를 보유하도록 동작가능한 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 스택은, 스택 오퍼랜드를 보유하는 복수의 어드레스 가능한 복수의 메모리 위치를 더 포함한 것을 특징으로 하는 데이터 처리장치.
- 제 7 항에 있어서,상기 스택 오퍼랜드는, 상기 레지스터 세트로부터 상기 복수의 어드레스 가능한 메모리 위치로 오버플로우하는 것을 특징으로 하는 데이터 처리장치.
- 제 7 항에 있어서,상기 복수의 어드레스 가능한 메모리 위치 내에 보유된 스택 오퍼랜드는, 사용하기 전에 상기 레지스터 세트 내에 로딩되는 것을 특징으로 하는 데이터 처리장치.
- 삭제
- 삭제
- 제 1 항 또는 제 2 항에 있어서,상기 명령어 변환기는,하드웨어 변환로직부와,컴퓨터 장치를 제어하는 명령어 해석 프로그램 코드와,컴퓨터 장치를 제어하는 명령어 컴파일링 프로그램 코드와,하드웨어 컴파일링 로직부를, 하나 이상 구비한 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 명령어 변환기는, 상기 레지스터 세트 내에 보유된 다수의 스택 오퍼랜드를 나타내는 제 1의 복수의 상태 비트를 구비한 것을 특징으로 하는 데이터 처리장치.
- 제 13 항에 있어서,상기 명령어 변환기는, 상기 레지스터 세트 내의 레지스터가 상기 상부의 스택 오퍼랜드를 보유하는 것을 나타내는 제 2의 복수의 상태 비트를 구비한 것을 특징으로 하는 데이터 처리장치.
- 제 1 항 또는 제 2 항에 있어서,상기 제 2 명령어 세트는, Java 가상 기계 명령어 세트인 것을 특징으로 하는 데이터 처리장치.
- 복수의 레지스터를 포함하는 레지스터 뱅크를 갖고, 상기 레지스터 내에 보유된 레지스터 오퍼랜드에 대해 제 1 명령어 세트의 명령어 내에 지정된 대로 연산을 실행하도록 동작가능한 프로세서 코어를 사용한 데이터 처리방법에 있어서,복수의 명령어 템플릿을 사용하여 하나의 스택에 보유된 스택 오퍼랜드에 관해 실행되는 연산을 지정하는 제 2 명령어 세트의 명령어를 상기 제 1 명령어 세트의 명령어에 대응한 변환기 출력신호로 변환하는 단계와,상기 스택의 일부로부터 스택 오퍼랜드를 보유하기 위해 상기 레지스터 뱅크 내에 레지스터 세트를 할당하는 단계와,상기 레지스터 세트 내의 서로 다른 레지스터가 상기 스택의 상기 일부 내에 서로 다른 위치로부터 각각의 스택 오퍼랜드를 보유하는 복수의 매핑 상태 중 하나를 채택하는 단계로서, 하나 이상의 스택 오퍼랜드를 구비한 상기 제 2 명령어 세트로부터의 명령어는, 명령어 변환기의 현재 채택된 매핑 상태에 의존하여 상기 스택 오퍼랜드에 대하여 레지스터 오퍼랜드를 매핑한 상기 제 1명령어 세트의 하나 이상의 명령어를 포함한 명령어 템플릿을 갖는 단계와,상기 레지스터 세트 내에 보유된 스택 오퍼랜드를 추가 또는 제거하는 동작에 따라서 상기 복수의 매핑 상태 사이에서 변화시키는 단계를 포함한 것을 특징으로 하는 데이터 처리방법.
- 복수의 레지스터를 포함하는 레지스터 뱅크를 갖고, 상기 레지스터 내에 보유된 레지스터 오퍼랜드에 대하여 제 1 명령어 세트의 명령어 내에 지정된 대로 연산을 실행하도록 동작가능한 프로세서 코어를 사용한 데이터 처리를 제어하는 컴퓨터 프로그램이 저장된 컴퓨터 판독가능한 기록매체에 있어서,복수의 명령어 템플릿을 사용하여 하나의 스택에 보유된 스택 오퍼랜드에 관해 실행되는 연산을 지정하는 제 2 명령어 세트의 명령어를 상기 제 1 명령어 세트의 명령어에 대응한 변환기 출력신호로 변환하는 변환 코드와,상기 스택의 일부로부터 스택 오퍼랜드를 보유하기 위해 상기 레지스터 뱅크 내에 레지스터 세트를 할당하는 레지스터 할당 코드와,상기 레지스터 세트 내의 서로 다른 레지스터가 상기 스택의 상기 일부 내에 서로 다른 위치로부터 각각의 스택 오퍼랜드를 보유하는 복수의 매핑 상태 중 하나를 채택하는 매핑 상태 채택코드로서, 하나 이상의 스택 오퍼랜드를 구비한 상기 제 2 명령어 세트로부터의 명령어는, 명령어 변환기의 현재 채택된 매핑 상태에 의존하여 상기 스택 오퍼랜드에 대하여 레지스터 오퍼랜드를 매핑한 상기 제 1 명령어 세트의 하나 이상의 명령어를 포함한 명령어 템플릿을 갖는 매핑 상태 채택 코드와,상기 레지스터 세트 내에 보유된 스택 오퍼랜드를 추가 또는 제거하는 동작에 따라서 상기 복수의 매핑 상태 사이에서 변화하는 매핑 상태 변화코드를 포함하는 컴퓨터 프로그램이 저장된 컴퓨터 판독가능한 기록매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0024404A GB2367654B (en) | 2000-10-05 | 2000-10-05 | Storing stack operands in registers |
GB0024404.6 | 2000-11-20 | ||
PCT/GB2001/002776 WO2002029563A1 (en) | 2000-10-05 | 2001-06-21 | Storing stack operands in registers |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030036876A KR20030036876A (ko) | 2003-05-09 |
KR100890244B1 true KR100890244B1 (ko) | 2009-03-24 |
Family
ID=9900737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037004688A KR100890244B1 (ko) | 2000-10-05 | 2001-06-21 | 레지스터에의 스택 오퍼랜드의 저장 |
Country Status (12)
Country | Link |
---|---|
US (1) | US7000094B2 (ko) |
EP (1) | EP1323036B1 (ko) |
JP (1) | JP4833499B2 (ko) |
KR (1) | KR100890244B1 (ko) |
CN (1) | CN1244051C (ko) |
DE (1) | DE60131864T2 (ko) |
GB (1) | GB2367654B (ko) |
IL (2) | IL153215A0 (ko) |
MY (1) | MY126879A (ko) |
RU (1) | RU2271565C2 (ko) |
TW (1) | TWI236616B (ko) |
WO (1) | WO2002029563A1 (ko) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3634379B2 (ja) * | 1996-01-24 | 2005-03-30 | サン・マイクロシステムズ・インコーポレイテッド | スタックキャッシングのための方法及び装置 |
US7162612B2 (en) * | 2000-08-16 | 2007-01-09 | Ip-First, Llc | Mechanism in a microprocessor for executing native instructions directly from memory |
TW591405B (en) * | 2002-04-19 | 2004-06-11 | Ind Tech Res Inst | Non-copy shared stack and register set device and dual language processor structure using the same |
JP2004094533A (ja) * | 2002-08-30 | 2004-03-25 | Hajime Seki | 計算機システム |
JP4127495B2 (ja) | 2002-09-05 | 2008-07-30 | 株式会社ルネサステクノロジ | 情報処理装置 |
US7424596B2 (en) | 2004-03-31 | 2008-09-09 | Intel Corporation | Code interpretation using stack state information |
CN100461090C (zh) * | 2004-03-31 | 2009-02-11 | 英特尔公司 | 利用代码共享进行堆栈高速缓存的系统、方法和设备 |
KR100597414B1 (ko) | 2004-10-21 | 2006-07-05 | 삼성전자주식회사 | 데이터 처리 장치 및 이를 이용한 레지스터 할당 방법 |
US20070061551A1 (en) * | 2005-09-13 | 2007-03-15 | Freescale Semiconductor, Inc. | Computer Processor Architecture Comprising Operand Stack and Addressable Registers |
WO2007068706A1 (fr) * | 2005-12-13 | 2007-06-21 | Gemplus | Procede pour securiser l'execution d'un code logiciel en langage intermediaire dans un appareil portatif |
US7502029B2 (en) * | 2006-01-17 | 2009-03-10 | Silicon Integrated Systems Corp. | Instruction folding mechanism, method for performing the same and pixel processing system employing the same |
GB2442566B (en) * | 2006-10-02 | 2009-02-11 | Transitive Ltd | Computer system and method of adapting a computer system to support a register window architecture |
GB2474522B (en) * | 2009-10-19 | 2014-09-03 | Advanced Risc Mach Ltd | Register state saving and restoring |
CN107832083B (zh) * | 2011-04-07 | 2020-06-12 | 威盛电子股份有限公司 | 具有条件指令的微处理器及其处理方法 |
US9128701B2 (en) * | 2011-04-07 | 2015-09-08 | Via Technologies, Inc. | Generating constant for microinstructions from modified immediate field during instruction translation |
JP5922353B2 (ja) | 2011-08-22 | 2016-05-24 | サイプレス セミコンダクター コーポレーション | プロセッサ |
CN103135964B (zh) * | 2011-12-05 | 2015-09-23 | 联想(北京)有限公司 | 跨指令集调用函数的方法和电子设备 |
WO2013132767A1 (ja) | 2012-03-09 | 2013-09-12 | パナソニック株式会社 | プロセッサ、マルチプロセッサシステム、コンパイラ、ソフトウェアシステム、メモリ制御システムおよびコンピュータシステム |
GB2514618B (en) * | 2013-05-31 | 2020-11-11 | Advanced Risc Mach Ltd | Data processing systems |
RU2530285C1 (ru) * | 2013-08-09 | 2014-10-10 | Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования "Саратовский Государственный Университет Имени Н.Г. Чернышевского" | Активный аппаратный стек процессора |
CN109214169B (zh) * | 2017-06-30 | 2023-12-08 | 芜湖美的厨卫电器制造有限公司 | 堆栈溢出检测方法、装置及家用电器 |
US10620955B2 (en) | 2017-09-19 | 2020-04-14 | International Business Machines Corporation | Predicting a table of contents pointer value responsive to branching to a subroutine |
US10713050B2 (en) | 2017-09-19 | 2020-07-14 | International Business Machines Corporation | Replacing Table of Contents (TOC)-setting instructions in code with TOC predicting instructions |
US10884929B2 (en) | 2017-09-19 | 2021-01-05 | International Business Machines Corporation | Set table of contents (TOC) register instruction |
US11061575B2 (en) | 2017-09-19 | 2021-07-13 | International Business Machines Corporation | Read-only table of contents register |
US10725918B2 (en) | 2017-09-19 | 2020-07-28 | International Business Machines Corporation | Table of contents cache entry having a pointer for a range of addresses |
US10705973B2 (en) | 2017-09-19 | 2020-07-07 | International Business Machines Corporation | Initializing a data structure for use in predicting table of contents pointer values |
US10896030B2 (en) * | 2017-09-19 | 2021-01-19 | International Business Machines Corporation | Code generation relating to providing table of contents pointer values |
US10802854B2 (en) * | 2019-08-30 | 2020-10-13 | Alibaba Group Holding Limited | Method and apparatus for interpreting bytecode instruction stream |
CN110704368B (zh) * | 2019-09-25 | 2020-11-06 | 支付宝(杭州)信息技术有限公司 | 基于fpga的安全智能合约处理器的高效运算方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
WO2000034844A2 (en) * | 1998-12-08 | 2000-06-15 | Jedi Technologies, Inc. | Java virtual machine hardware for risc and cisc processors |
KR20010104678A (ko) * | 2000-05-15 | 2001-11-26 | 가네꼬 히사시 | 자기저항 효과 센서, 자기저항 효과 센서의 제조 방법,자기저항 검출 시스템 및 자기 저장 시스템 |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3889243A (en) | 1973-10-18 | 1975-06-10 | Ibm | Stack mechanism for a data processor |
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 |
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 |
US5638525A (en) | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
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 |
US5790825A (en) * | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
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 |
JP3634379B2 (ja) * | 1996-01-24 | 2005-03-30 | サン・マイクロシステムズ・インコーポレイテッド | スタックキャッシングのための方法及び装置 |
US6038643A (en) | 1996-01-24 | 2000-03-14 | Sun Microsystems, Inc. | Stack management unit and method for a processor having a stack |
US6026485A (en) | 1996-01-24 | 2000-02-15 | Sun Microsystems, Inc. | Instruction folding for a stack-based machine |
US6014723A (en) | 1996-01-24 | 2000-01-11 | Sun Microsystems, Inc. | Processor with accelerated array access bounds checking |
US5925123A (en) | 1996-01-24 | 1999-07-20 | Sun Microsystems, Inc. | Processor for executing instruction sets received from a network or from a local memory |
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 |
US6031992A (en) | 1996-07-05 | 2000-02-29 | Transmeta Corporation | Combining hardware and software to provide an improved microprocessor |
US5926832A (en) | 1996-09-26 | 1999-07-20 | Transmeta Corporation | Method and apparatus for aliasing memory data in an advanced microprocessor |
ATE244417T1 (de) | 1996-11-13 | 2003-07-15 | Paran Arik | 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 |
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 |
US5898850A (en) * | 1997-03-31 | 1999-04-27 | International Business Machines Corporation | Method and system for executing a non-native mode-sensitive instruction within a computer system |
US6009499A (en) | 1997-03-31 | 1999-12-28 | Sun Microsystems, Inc | Pipelined stack caching circuit |
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 |
EP1019794B1 (en) | 1997-10-02 | 2008-08-20 | Koninklijke Philips Electronics N.V. | Data processing device for processing virtual machine instructions |
EP0950216B1 (en) | 1997-10-02 | 2003-11-26 | Koninklijke Philips Electronics N.V. | A processing device for executing virtual machine instructions |
US6009509A (en) | 1997-10-08 | 1999-12-28 | International Business Machines Corporation | Method and system for the temporary designation and utilization of a plurality of physical registers as a stack |
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 |
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 |
-
2000
- 2000-10-05 GB GB0024404A patent/GB2367654B/en not_active Expired - Lifetime
-
2001
- 2001-06-21 KR KR1020037004688A patent/KR100890244B1/ko active IP Right Grant
- 2001-06-21 IL IL15321501A patent/IL153215A0/xx active IP Right Grant
- 2001-06-21 EP EP01940825A patent/EP1323036B1/en not_active Expired - Lifetime
- 2001-06-21 WO PCT/GB2001/002776 patent/WO2002029563A1/en active IP Right Grant
- 2001-06-21 CN CNB018123856A patent/CN1244051C/zh not_active Expired - Lifetime
- 2001-06-21 JP JP2002533069A patent/JP4833499B2/ja not_active Expired - Fee Related
- 2001-06-21 RU RU2002129004/09A patent/RU2271565C2/ru not_active IP Right Cessation
- 2001-06-21 DE DE60131864T patent/DE60131864T2/de not_active Expired - Lifetime
- 2001-06-25 US US09/887,560 patent/US7000094B2/en not_active Expired - Lifetime
- 2001-07-14 MY MYPI20013349 patent/MY126879A/en unknown
- 2001-09-25 TW TW090123665A patent/TWI236616B/zh not_active IP Right Cessation
-
2002
- 2002-12-02 IL IL153215A patent/IL153215A/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
WO2000034844A2 (en) * | 1998-12-08 | 2000-06-15 | Jedi Technologies, Inc. | Java virtual machine hardware for risc and cisc processors |
US6332215B1 (en) | 1998-12-08 | 2001-12-18 | Nazomi Communications, Inc. | Java virtual machine hardware for RISC and CISC processors |
KR20010104678A (ko) * | 2000-05-15 | 2001-11-26 | 가네꼬 히사시 | 자기저항 효과 센서, 자기저항 효과 센서의 제조 방법,자기저항 검출 시스템 및 자기 저장 시스템 |
Also Published As
Publication number | Publication date |
---|---|
CN1440528A (zh) | 2003-09-03 |
DE60131864D1 (de) | 2008-01-24 |
GB0024404D0 (en) | 2000-11-22 |
MY126879A (en) | 2006-10-31 |
WO2002029563A1 (en) | 2002-04-11 |
TWI236616B (en) | 2005-07-21 |
IL153215A (en) | 2008-08-07 |
DE60131864T2 (de) | 2008-12-11 |
US20020066004A1 (en) | 2002-05-30 |
KR20030036876A (ko) | 2003-05-09 |
RU2002129004A (ru) | 2004-03-10 |
RU2271565C2 (ru) | 2006-03-10 |
JP2004511044A (ja) | 2004-04-08 |
CN1244051C (zh) | 2006-03-01 |
IL153215A0 (en) | 2003-07-06 |
EP1323036B1 (en) | 2007-12-12 |
GB2367654B (en) | 2004-10-27 |
JP4833499B2 (ja) | 2011-12-07 |
GB2367654A (en) | 2002-04-10 |
EP1323036A1 (en) | 2003-07-02 |
US7000094B2 (en) | 2006-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100890244B1 (ko) | 레지스터에의 스택 오퍼랜드의 저장 | |
KR100890243B1 (ko) | 변환된 명령어의 재시작 | |
JP4938187B2 (ja) | ネイティブおよび非ネイティブの命令集合間相互呼び出し | |
KR20030040515A (ko) | 프로세서 파이프라인 내에서의 하드웨어 명령어 변환 | |
EP0950216B1 (en) | A processing device for executing virtual machine instructions | |
JP3499252B2 (ja) | コンパイル装置及びデータ処理装置 | |
US6332215B1 (en) | Java virtual machine hardware for RISC and CISC processors | |
US5889985A (en) | Array prefetch apparatus and method | |
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 | |
EP0101718A1 (en) | COMPUTER WITH AUTOMATIC TOPOGRAPHY OF THE MEMORY CONTENT IN REGISTERS. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E801 | Decision on dismissal of amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
E902 | Notification of reason for refusal | ||
B701 | Decision to grant | ||
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 |