GB2367658B - Intercalling between native and non-native instruction sets - Google Patents

Intercalling between native and non-native instruction sets

Info

Publication number
GB2367658B
GB2367658B GB0028249A GB0028249A GB2367658B GB 2367658 B GB2367658 B GB 2367658B GB 0028249 A GB0028249 A GB 0028249A GB 0028249 A GB0028249 A GB 0028249A GB 2367658 B GB2367658 B GB 2367658B
Authority
GB
United Kingdom
Prior art keywords
native
intercalling
instruction sets
native instruction
sets
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
GB0028249A
Other versions
GB0028249D0 (en
GB2367658A (en
Inventor
Edward Colles Nevill
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
Priority claimed from GB0024404A external-priority patent/GB2367654B/en
Priority claimed from GB0024399A external-priority patent/GB2367652B/en
Priority claimed from GB0024396A external-priority patent/GB2367651B/en
Priority claimed from GB0024402A external-priority patent/GB2367653B/en
Application filed by ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Priority to US09/731,060 priority Critical patent/US20020069402A1/en
Publication of GB0028249D0 publication Critical patent/GB0028249D0/en
Priority to US09/887,561 priority patent/US7134119B2/en
Priority to JP2001259954A priority patent/JP4938187B2/en
Publication of GB2367658A publication Critical patent/GB2367658A/en
Publication of GB2367658B publication Critical patent/GB2367658B/en
Application granted granted Critical
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
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/30101Special purpose 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/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Executing Machine-Instructions (AREA)
GB0028249A 2000-10-05 2000-11-20 Intercalling between native and non-native instruction sets Expired - Lifetime GB2367658B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US09/731,060 US20020069402A1 (en) 2000-10-05 2000-12-07 Scheduling control within a system having mixed hardware and software based instruction execution
US09/887,561 US7134119B2 (en) 2000-10-05 2001-06-25 Intercalling between native and non-native instruction sets
JP2001259954A JP4938187B2 (en) 2000-10-05 2001-08-29 Cross-call between native and non-native instruction sets

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB0024404A GB2367654B (en) 2000-10-05 2000-10-05 Storing stack operands in registers
GB0024402A GB2367653B (en) 2000-10-05 2000-10-05 Restarting translated instructions
GB0024396A GB2367651B (en) 2000-10-05 2000-10-05 Hardware instruction translation within a processor pipeline
GB0024399A GB2367652B (en) 2000-10-05 2000-10-05 Scheduling control within a system having mixed hardware and software based instruction execution

Publications (3)

Publication Number Publication Date
GB0028249D0 GB0028249D0 (en) 2001-01-03
GB2367658A GB2367658A (en) 2002-04-10
GB2367658B true GB2367658B (en) 2004-09-22

Family

ID=27447891

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0028249A Expired - Lifetime GB2367658B (en) 2000-10-05 2000-11-20 Intercalling between native and non-native instruction sets

Country Status (1)

Country Link
GB (1) GB2367658B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434209B2 (en) 2003-07-15 2008-10-07 Transitive Limited Method and apparatus for performing native binding to execute native code
GB2426840A (en) 2005-06-04 2006-12-06 Transitive Ltd Method of executing program code where a portion of the target code calls a native code portion which then calls a second target code portion.

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6091897A (en) * 1996-01-29 2000-07-18 Digital Equipment Corporation Fast translation and execution of a computer program on a non-native architecture by use of background translator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091897A (en) * 1996-01-29 2000-07-18 Digital Equipment Corporation Fast translation and execution of a computer program on a non-native architecture by use of background translator
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

Also Published As

Publication number Publication date
GB0028249D0 (en) 2001-01-03
GB2367658A (en) 2002-04-10

Similar Documents

Publication Publication Date Title
EG23122A (en) Pyrrolcarboxamides and pyrrolcarbothioamides
DE60111076D1 (en) Thioether substituierte imidazochinoline
AU9667901A (en) Mycoattractants and mycopesticides
AU2002235128A1 (en) Expression miniarrays and uses thereof
HRP20020944A2 (en) 3-nitrogen-6,7-dioxygen steroids and uses related thereto
GB2358261B (en) Data processing with native and interpreted program instruction words
GB0013770D0 (en) Training aid
IL154553A0 (en) Urocortin-iii and uses thereof
GB0014975D0 (en) Waco
HK1063486A1 (en) Novel expression vectors and uses thereof
GB2364273B (en) Book covering
EP1302770A4 (en) Particle-labeled protein and immuno-chromatograph using the same
GB0108607D0 (en) Training aid
GB2367658B (en) Intercalling between native and non-native instruction sets
GB0022949D0 (en) Processing instruction words
EP1314428A4 (en) Oct preparations
GB0005326D0 (en) Enzymes and uses relating thereto
AU2002213398A1 (en) Expression vectors and uses thereof
GB2359400B (en) Character input
GB0011269D0 (en) Protein over expression
HK1072538A1 (en) Immunoregulatory antibodies and uses thereof
ZA200300774B (en) Urocortin proteins and uses thereof
TW525567U (en) Clipping and positioning structure for pincer
GB0023696D0 (en) Computer instructions
CA89490S (en) Pedicure implement

Legal Events

Date Code Title Description
PE20 Patent expired after termination of 20 years

Expiry date: 20201119