DE60131864D1 - Speichern von stapeloperanden in registern - Google Patents

Speichern von stapeloperanden in registern

Info

Publication number
DE60131864D1
DE60131864D1 DE60131864T DE60131864T DE60131864D1 DE 60131864 D1 DE60131864 D1 DE 60131864D1 DE 60131864 T DE60131864 T DE 60131864T DE 60131864 T DE60131864 T DE 60131864T DE 60131864 D1 DE60131864 D1 DE 60131864D1
Authority
DE
Germany
Prior art keywords
tabs
stack operands
saving stack
saving
operands
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
DE60131864T
Other languages
English (en)
Other versions
DE60131864T2 (de
Inventor
Edward Colles Nevill
Andrew Christopher Rose
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines Ltd
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 ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of DE60131864D1 publication Critical patent/DE60131864D1/de
Application granted granted Critical
Publication of DE60131864T2 publication Critical patent/DE60131864T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • 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/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • 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
    • 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/3802Instruction prefetching
    • 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/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • 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/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
    • 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

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)
DE60131864T 2000-10-05 2001-06-21 Speichern von stapeloperanden in registern Expired - Lifetime DE60131864T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0024404 2000-10-05
GB0024404A GB2367654B (en) 2000-10-05 2000-10-05 Storing stack operands in registers
PCT/GB2001/002776 WO2002029563A1 (en) 2000-10-05 2001-06-21 Storing stack operands in registers

Publications (2)

Publication Number Publication Date
DE60131864D1 true DE60131864D1 (de) 2008-01-24
DE60131864T2 DE60131864T2 (de) 2008-12-11

Family

ID=9900737

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60131864T Expired - Lifetime DE60131864T2 (de) 2000-10-05 2001-06-21 Speichern von stapeloperanden in registern

Country Status (12)

Country Link
US (1) US7000094B2 (de)
EP (1) EP1323036B1 (de)
JP (1) JP4833499B2 (de)
KR (1) KR100890244B1 (de)
CN (1) CN1244051C (de)
DE (1) DE60131864T2 (de)
GB (1) GB2367654B (de)
IL (2) IL153215A0 (de)
MY (1) MY126879A (de)
RU (1) RU2271565C2 (de)
TW (1) TWI236616B (de)
WO (1) WO2002029563A1 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100584964B1 (ko) * 1996-01-24 2006-05-29 선 마이크로시스템즈 인코퍼레이티드 스택 메모리 구조에서의 캐싱 장치
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
WO2005096136A1 (en) * 2004-03-31 2005-10-13 Intel Corporation Stack caching using code sharing
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
US9128701B2 (en) * 2011-04-07 2015-09-08 Via Technologies, Inc. Generating constant for microinstructions from modified immediate field during instruction translation
CN107832083B (zh) * 2011-04-07 2020-06-12 威盛电子股份有限公司 具有条件指令的微处理器及其处理方法
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
US10896030B2 (en) * 2017-09-19 2021-01-19 International Business Machines Corporation Code generation relating to providing table of contents pointer values
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
US11061575B2 (en) 2017-09-19 2021-07-13 International Business Machines Corporation Read-only table of contents register
US10884929B2 (en) 2017-09-19 2021-01-05 International Business Machines Corporation Set table of contents (TOC) register instruction
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
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
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的安全智能合约处理器的高效运算方法及装置

Family Cites Families (45)

* Cited by examiner, † Cited by third party
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
US6014723A (en) 1996-01-24 2000-01-11 Sun Microsystems, Inc. Processor with accelerated array access bounds checking
KR100584964B1 (ko) * 1996-01-24 2006-05-29 선 마이크로시스템즈 인코퍼레이티드 스택 메모리 구조에서의 캐싱 장치
US6038643A (en) 1996-01-24 2000-03-14 Sun Microsystems, Inc. Stack management unit and method for a processor having a stack
KR100618756B1 (ko) 1996-01-24 2007-05-04 선 마이크로시스템즈 인코퍼레이티드 네트워크또는로컬메모리로부터수신된명령세트를실행하는프로세서및컴퓨터시스템
WO1997027536A1 (en) 1996-01-24 1997-07-31 Sun Microsystems, Inc. Instruction folding for a stack-based machine
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
EP0938703B1 (de) 1996-11-13 2003-07-02 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
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
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
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
WO1999018486A2 (en) 1997-10-02 1999-04-15 Koninklijke Philips Electronics N.V. Data processing device for processing virtual machine instructions
EP1359501A3 (de) 1997-10-02 2007-11-21 Koninklijke Philips Electronics N.V. Vorrichtung zur Ausführung virtueller Maschinenbefehle
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
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
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
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
JP2001325704A (ja) * 2000-05-15 2001-11-22 Nec Corp 磁気抵抗効果センサ、磁気抵抗効果センサの製造方法、磁気抵抗検出システム、および磁気記憶システム

Also Published As

Publication number Publication date
IL153215A0 (en) 2003-07-06
GB2367654B (en) 2004-10-27
MY126879A (en) 2006-10-31
JP2004511044A (ja) 2004-04-08
CN1244051C (zh) 2006-03-01
TWI236616B (en) 2005-07-21
CN1440528A (zh) 2003-09-03
RU2271565C2 (ru) 2006-03-10
JP4833499B2 (ja) 2011-12-07
EP1323036B1 (de) 2007-12-12
US20020066004A1 (en) 2002-05-30
KR100890244B1 (ko) 2009-03-24
GB2367654A (en) 2002-04-10
KR20030036876A (ko) 2003-05-09
IL153215A (en) 2008-08-07
RU2002129004A (ru) 2004-03-10
EP1323036A1 (de) 2003-07-02
US7000094B2 (en) 2006-02-14
DE60131864T2 (de) 2008-12-11
GB0024404D0 (en) 2000-11-22
WO2002029563A1 (en) 2002-04-11

Similar Documents

Publication Publication Date Title
DE60131864D1 (de) Speichern von stapeloperanden in registern
DE10192148T1 (de) Computer mit entfernbaren Blenden
DE60102196T2 (de) Tücherpackung
FI20000510A (fi) Taajuusmuuttaja
DE60137515D1 (de) Ndbreite in gesampelten systemen
ATE281673T1 (de) Multiportkarte
ATA16142000A (de) Plattenaufteilsäge
DE50114456D1 (de) Texturierdüse
FI4589U1 (fi) Kuormalava
FR2815473B1 (fr) Diac planar symetrique
DE50114582D1 (de) Texturierdüse
DE1134667T1 (de) UART-Taktaufwecksequenz
DK1180326T3 (da) o-Phenylphenolat-koncentrater
DE60133605D1 (de) Ausrichten von Gegenständen
DE10085289T1 (de) Verbesserungen von oder bezüglich Ionenaustauschern
DE60103146D1 (de) Modifiziertes polyethylenterephthalat
DE10190358D2 (de) Tragbarer Computer
EE00235U1 (et) Kombineeritud lõikelaud
SE0102342D0 (sv) Modified yeast
FI20000746A0 (fi) Järjestely lämmityspatterissa
FI4534U1 (fi) Erikoiskortti
FIU20000079U0 (fi) Informaatioteline
UA4233S (uk) Рекламний аркуш
UA4232S (uk) Рекламний аркуш
UA3805S (uk) Рекламний аркуш

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: NEVILL, EDWARD COLLES, HEMINGFORD GREY, HUNTIN, GB

Inventor name: ROSE, ANDREW CHRISTOPHER, CHERRY HINTON, CAMBR, GB

8364 No opposition during term of opposition