CN100461090C - Stack high-speed memory using code sharing - Google Patents

Stack high-speed memory using code sharing Download PDF

Info

Publication number
CN100461090C
CN100461090C CNB2004800425684A CN200480042568A CN100461090C CN 100461090 C CN100461090 C CN 100461090C CN B2004800425684 A CNB2004800425684 A CN B2004800425684A CN 200480042568 A CN200480042568 A CN 200480042568A CN 100461090 C CN100461090 C CN 100461090C
Authority
CN
China
Prior art keywords
stack
operand
instruction
described instruction
shifting function
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 - Fee Related
Application number
CNB2004800425684A
Other languages
Chinese (zh)
Other versions
CN1926509A (en
Inventor
J·彭
G·吴
G·-Y·吕
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1926509A publication Critical patent/CN1926509A/en
Application granted granted Critical
Publication of CN100461090C publication Critical patent/CN100461090C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/451Stack data

Abstract

Executing an instruction on an operand stack, including performing a stack-state aware translation of the instruction to threaded code to determine an operand stack state for the instruction, dispatching the instruction according to the operand stack state for the instruction, and executing the instruction.

Description

Utilize code sharing to carry out the system of storehouse high-speed cache, method and apparatus
Technical field
The present invention relates to storehouse high-speed cache field, more specifically, relate to and utilize code sharing to carry out the system of storehouse high-speed cache, method and apparatus.
Background technology
Explanation is a kind of widely used technology, is used to realize virtual machine (VM) and operational system, and advantage is portable and maintainable.VM, operational system and other high level language processors such as the Java processor, comprise the storehouse caching scheme and come virtually syllabified code to be mapped on the operand stack.One type storehouse caching scheme, mixed stack can use physical register and continuous storage area as operand stack.Interpreter plays an important role in many operational systems.Many modern programming language when they are for example programmed and move, still use the execution engine of different interpreters as them such as Java, Forth, Perl and Python on the memory/computation restraint device.
Linguistic interpretation based on storehouse may rely on the secondary data structure of the execution of operating instruction thereon, for example, and operand stack.Accessing operation is counted storehouse may relate to memory access.In order to improve the performance of explanation, people have adopted diverse ways.In the middle of those methods, the storehouse high-speed cache can approach to eliminate most of visit to operand stack effectively and also can quicken to explain.The storehouse high-speed cache may promote the transfer of top operand to register, and this can reduce the number of times of memory access and cause each higher round-robin instruction number.
Handle the different state of mixed stack, for example, storehouse high-speed cache interpreter can be kept many copies of run time version for each bar VM instruction.A kind of design like this can cause code explosion, and it may consume excessive storer and introduce maintenance complexity.
Description of drawings
From following description more specifically to one exemplary embodiment of the present invention, as illustrational in the accompanying drawings, the different example features and the advantage of embodiments of the invention will become apparent, in the accompanying drawing similarly the general indication of label identical, in similar unit similarly and/or on the structure on the function.
Fig. 1 describes the one exemplary embodiment according to the mixed stack of the embodiment of the invention;
Fig. 2 describes the one exemplary embodiment according to the system of the embodiment of the invention;
Fig. 3 A describes the one exemplary embodiment according to the method for the embodiment of the invention;
Fig. 3 B describes the one exemplary embodiment according to the method for the embodiment of the invention;
Fig. 4 describes the one exemplary embodiment according to the method for the embodiment of the invention;
Fig. 5 describes the one exemplary embodiment according to the code layout of the embodiment of the invention;
Fig. 6 A describes the one exemplary embodiment according to the code layout of the embodiment of the invention;
Fig. 6 B describes the one exemplary embodiment according to the code layout of the embodiment of the invention;
Fig. 6 C describes the one exemplary embodiment according to the code layout of the embodiment of the invention;
Fig. 6 D describes the one exemplary embodiment according to the code layout of the embodiment of the invention;
Fig. 6 E describes the one exemplary embodiment according to the code layout of the embodiment of the invention;
Fig. 6 F describes the one exemplary embodiment according to the code layout of the embodiment of the invention;
Fig. 6 G describes the one exemplary embodiment according to the code layout of the embodiment of the invention; And
Fig. 7 describes can be used for the computing machine of the some parts of the embodiment of the invention and/or the one exemplary embodiment of communication system.
Embodiment
Go through one exemplary embodiment of the present invention below.Although concrete one exemplary embodiment is discussed, should understand, do just illustrative purposes for example like this.Person skilled in the relevant art will recognize that under the situation that does not break away from the spirit and scope of the present invention, other parts and configuration also can be used.
Embodiments of the invention can be provided for the code sharing mechanism of storehouse high-speed cache, repeat to avoid code.The storehouse caching scheme can use the register-stack model of mixing, that is, be mapped to the mixed stack of syllabified code (for example, Java or CLI) operand stack virtually.Mixed stack can be made of two parts: register stack and memory stack.Register stack can comprise physical register, and they can preserve several top unit of operand stack.Memory stack can be territory, a connected storage, and it can preserve the unit of the remainder of described operand stack.
Fig. 1 describes the one exemplary embodiment of mixed stack 100.As shown in Figure 1, mixed stack 100 can comprise register stack 101 and memory stack 102.
Fig. 2 describes the one exemplary embodiment of virtual-machine architecture 200.Virtual-machine architecture 200 can comprise interpreter 201, loader 202, garbage collector 203, thread 204 and this machine module 205.In one exemplary embodiment of the present invention, interpreter 201 can comprise ALU (ALU) (not shown), storehouse (not shown) and storer (not shown).Interpreter 201 can use above-mentioned parts to come that the appropriate functional unit is deciphered and called in instruction and execute instruction.Loader 202 can be responsible for a class file load memory, class file is carried out grammatical analysis and is interpreter 201 preparation syllabified code instructions.Interpreter 201 can be the execution engine of VM, and for example, once explains an instruction.Garbage collector 203 can distribute new object and reclaim useless object.In one exemplary embodiment of the present invention, thread 204 can support application program DLL (dynamic link library) (API), and this machine module 205 can support for example to be used for the API of this hangar function.
In one exemplary embodiment of the present invention, machine instruction can be from the operand stack fetch operand, operates on it and the result is sent back to storehouse.Storehouse can be 32 storehouses, and for example it can be used for passing a parameter and the result of method of reseptance to method, and parameter is provided and preserves operating result for operation.In one exemplary embodiment of the present invention, as mentioned above, storehouse can be a mixed stack.
In one exemplary embodiment of the present invention, interpreter, the syllabified code that can keep most of (if not whole) to move on register stack rather than memory stack such as interpreter 201 instructs.Do the execution time that can reduce memory access and instruction like this.
In one exemplary embodiment of the present invention, interpreter may need to carry out shifting function, so that keep the stack top location of operand stack in the register stack.For example, if register of an instruction consumes as shown in Figure 3A then can be removed stack top register R1 from register stack, the end value of R2 may need to move on to the top, and R3 moves to R2.Because memory stack is not empty (register stack underflow), the numerical value in the position 1 also may be moved to R3, so that keep register stack to fill numerical value.After position 1 was taken away, memory stack pointer (sp) also was updated to sp ' possibly.On the other hand, shown in Fig. 3 B, if an instruction produces the numerical value that needs are pushed to register stack, then may need by the numerical value displacement downwards R1 that soars, that is R3 moves to position 0 (register file stack overflow), R2 moves to R3, and R1 moves to R2 then.
Although embodiments of the invention are described with regard to following example, described description for convenient, is not the application of wanting to limit it just.In fact, after the following description of reading, the technician of relevant industries obviously knows how to invent below (for example, under the common statement runtime environment) realization in the embodiment that substitutes.
In addition, explaining on the JAVA syllabified code although following description concentrates on focus, is not to want to limit purposes of the present invention.How realizing following invention, is conspicuous to the technician of relevant industries.When needing, in the embodiment that substitutes.For example, embodiments of the invention can use separately, or with the architecture of different virtual machine, such as, but be not limited to common statement infrastructure and other virtual execution systems are used in combination.
Fig. 4 illustrates in one exemplary embodiment of the present invention interpreter and how can work with mixed stack.In one exemplary embodiment of the present invention, instruction is experienced the translation of knowing stack states that becomes thread code possibly such as the syllabified code instruction, and it may enter the entrance of sharing run time version for carrying out described instruction indication.
Fig. 4 describes for example one exemplary embodiment from syllabified code to the transformation 400 of sharing run time version of instruction.As shown in Figure 4, before first time interpretation procedure, can instruct syllabified code 401 to be sent to the translater 402 of knowing stack states, or make an explanation by translater 402.The translater 402 of knowing stack states can produce thread code 403.According to described thread code 403, instruction 401 can be dispatched according to the operand stack state of described instruction.In one exemplary embodiment of the present invention, when dispatching described instruction, just can determine to enter the entrance 404 of sharing run time version, and can carry out described instruction from described entrance according to the operand stack state of instruction.
In one exemplary embodiment of the present invention, can embody stack states by the shifting function number of times that needs after the execution command.As using the shifting function number of times that needs after η (i) the expression execution command i here.For example, referring to Fig. 3 B, 3 shifting functions are arranged in Fig. 3 B.
The described method with reference to Fig. 4 is described for example, can instructs iadd to make example, come the one exemplary embodiment of interpretive code shared mechanism with addition of integer.In one exemplary embodiment of the present invention, register stack can be made of 2 registers, for example comprises stack top (tos) register and next stack top (no) register.For instruction iadd, may be useful on two possible stack states carrying out iadd, depend on η (iadd).IADD_S1 among Fig. 4 on the row 1 of run time version 404 can represent the situation of explaining IADD when η (iadd)=1, and the IADD_S0 on run time version 404 row 3 can be corresponding to the situation of η (iadd)=0.
The situation of consideration situation η (iadd)=1 when operand stack has two above unit, η (iadd)=1 may occur.In other words, when the memory stack non-NULL and η (iadd)=1 may appear in register stack when having expired.Because two operands of instruction iadd consumption (that is, be respectively tos and no), and produce an operand (new tos), for the top items on the memory stack is moved to register stack as new no, may only need a shifting function.The iadd instruction just can be dispatched to the row 1 of IADD_S1 situation (as shown in Figure 4) then.For example, the row 2 of IADD_S1 situation can eject the register to temp to the top unit of memory stack.Described then implementation can drop to the situation of IADD_S0 always, wherein uses the add operation (row 4) of register can explain the addition of integer operation.For example, by temp is moved on to no, so that two unit, the top of operand stack are remained in the register, row 5 can refill no.As described herein, row 2 and 5 combination can constitute described shifting function.
When considering the situation of η (iadd)=0, when operand stack has only two unit (two all are in register stack), η (iadd)=0 may appear.Under such a case, may need no shifting function, because only surplus next unit is as the result of add operation.Iadd can be dispatched to IADD_S0 (tos will be unique stack item after carrying out).As described above, row 4 can be explained the addition of integer operation.Execution refills statement (row 5) may become useless and redundant at that time, but may not influence program correctness, may be legal project because have only tos after the execution IADD.Under such a case, for the attribute of register-register assignment, performance penalty may be unessential.
As shown and desc, IADD_S0 and IADD_S1 can share same run time version, repeat to avoid excessive code.In one exemplary embodiment of the present invention, the run time version of different stack states and instruction scheduling can be reused with the comprehensive Design layout.In such an embodiment, for example, during the code threads stage, the stack states of each instruction can calculate out, and described then instruction can directly be dispatched to suitable execution inlet, and tables look-up when need not to move.In addition, the translating phase can be carried out some optimizing process, so that improve sequence of interpretation.
Fig. 5 describes the exemplary code layout 500 according to one exemplary embodiment of the present invention.As shown in Figure 5, OP_S kExpression has operational code OP, and needs k (the explanation entrance that operand stack is kept in the inferior shifting function of η (i)=k) after carrying out i.For example, can illustrate the general code layout of all VM instructions as shown in Figure 5.
In Fig. 5, SO kBe corresponding to OP_S kThe code of shifting function.Carry out after the described operation, at SO kIn the unit that is shifted can move to register stack (RO).In one exemplary embodiment of the present invention, OP_S kCan also carry out its subsequent project OP_S oTo OP_S K-1All codes.In other words, in such an embodiment, can share code OP_S oTo OP_S K-1ID is the code that calls next instruction.
As example, consider the situation of register stack size M=2 (that is, as described above, 2 registers are arranged) in register stack.The characteristic of instruction I can be defined as [X (i), Y (i)], and wherein X (i) represents the number of the operand that i consumes, the number of the stack item that Y (i) expression i produces.Fig. 6 A-6G enumerates all possible code layout for 0≤X (i)≤M and 0≤Y (i)≤M.As example, former iadd example drops on the class of Fig. 6 D.
For its X (i)〉M or Y (i)〉instruction of M, the still code layout of type like the application class.In one exemplary embodiment of the present invention, as X (i)〉M or Y (i)〉during M, before run time version, may need to carry out more multiregister-memory shift operations.
As shown in Fig. 6 A-6G, each code layout is all represented specific class [X (i), Y (i)], and wherein X (i) represents the number of the operand that i consumes, and the number of the stack item that Y (i) expression i produces.In one exemplary embodiment of the present invention, know that the translating phase of stack states can be replenished code layout design.In such an embodiment, know that the translation of stack states can take place before execution command.Translater can be with the false code executive mode, for example, and the syllabified code of processing instruction, and be that each instruction produces suitable thread syllabified code inlet.Carry out on the point at each, translater can be recognized [X (i), Y (i)] characteristic of operand stack state and present instruction i.Translater can be calculated n (i) such as the result of calculation of f (Depth (opstack), M, X (i), Y (i)) correspondingly according to static table searching or comprehensive formula.
In described embodiment, the correctness of the described translation of knowing stack states can be based on the following fact: (constant during operation) determined before each syllabified code instruction and stack depth afterwards statically.Such translation may only need be carried out one time for most of syllabified code instructions.Such embodiment can allow to expose the more chance of optimizing in translation process.
Fig. 7 describes the one exemplary embodiment of computing machine and/or communication system, can be used for some parts of described system are included in the one exemplary embodiment of the present invention.Fig. 7 is described in the one exemplary embodiment of the computing machine 700 that can be used for some calculation elements in the one exemplary embodiment of the present invention.Computing machine 700 can include, but is not limited to: for example, any calculation element or communicator, for example, comprise personal computer (PC), workstation, mobile device, phone, hand-held PC, PDA(Personal Digital Assistant), thin client, fertile client, the network equipment, Internet-browser, call or warning device, TV, interactive television, receiver, tuner, high resolving power (HD) TV, HD receiver, video request program (VOD) system, server or other device.
In an exemplary embodiment, computing machine 700 can comprise the CPU (central processing unit) (CPU) or the processor 704 that can be coupled to bus 702.Processor 704 can be for example by bus 702 visit primary memorys 706.Computing machine 700 can be to be coupled to I/O (I/O) subsystem, such as network interface unit (NIC) 722 or the modem 724 of for example accesses network 726 usefulness.Computing machine 700 can also directly be coupled to supplementary storage 708 by bus 702 or by for example primary memory 706.Supplementary storage 708 can comprise for example disk memory device 710 or out of Memory storage medium.Exemplary disk memory device 710 can include, but is not limited to magnetic memory apparatus, such as for example hard disk, optical storage, such as for example only writing mutiread (WORM) driver or little CD (CD) or magneto-optical device.The supplementary storage 708 of another kind of type can comprise detachable sabot memory storage 712, it can with the information storage medium 714 of can removing stage makeup and costume, be used in combination such as for example CD-ROM or flexible plastic disc.Generally, the application program that disk memory device 710 can the storage operation computer system be used generally is called operating system.The document of disk memory device 710 all right stored data base (not shown).Computing machine 700 can interact by bus 702 and subsystem and disk memory device 710.Bus 702 can also be coupled to display 720, as output and input media, such as, but be not limited to keyboard 718 and mouse or other sensing/selecting arrangement 716.
The embodiment that illustrates in this manual and discuss just hopes and will teach the known diverse ways of the inventor to the professional and technical personnel, so that make and use the present invention.In this manual, anything all should not be regarded as and to limit the scope of the invention.The whole examples that provided all are representational and nonrestrictive.Without departing from the invention, can be appreciated that according to above-mentioned teaching that as the professional and technical personnel above-described embodiments of the invention can be revised or change.Therefore to understand, also can implement the present invention not according to specifically described method.

Claims (19)

1. method that on operand stack, executes instruction, described method comprises:
Finish described the instruction and know stack states translation so that determine the operand stack state of described instruction usefulness to thread code, comprise according to described stack states and determine to enter the entrance of sharing run time version, the described operand stack state of wherein said instruction usefulness is indicated by required shifting function number of times after carrying out described instruction, described shifting function is used for keeping stack top location, wherein finishes described translation and comprises:
Determine to carry out the described instruction number of operand on described operand stack in the past;
According to the operand number of described instruction consumes and the operand number of described instruction generation, the number of operand on the described operand stack after the described instruction of definite execution; And
Keep the required shifting function number of times of stack top location after extrapolating the described instruction of execution;
Dispatch described instruction according to the operand stack state of described instruction usefulness; And
Carry out described instruction.
2. the method for claim 1 is wherein carried out shifting function number of times required after the described instruction based on carrying out before the described instruction number of operand on the described operand stack and carrying out the number of the operand on the described operand stack after the described instruction.
3. the method for claim 1 is wherein carried out shifting function number of times required after the described instruction and is looked into showing according to static state and calculate out.
4. the method for claim 1, wherein said operand stack are the register stacks that mixes that comprises register stack and memory stack.
5. the method for claim 1, wherein said operand stack state comprise carries out the shifting function number of times of keeping the stack top location of described operand stack after the described instruction.
6. method as claimed in claim 5, wherein said stack top location comprises register stack.
7. method as claimed in claim 1 is characterized in that, also comprises: refill described operand stack.
8. a system comprises:
The operand stack that is used to execute instruction; And
Interpreter comprises
The assembly that is used for the state of definite described operand stack;
Be used for described instruction translation is the assembly of thread code; And
Be used for assembly according to the described instruction of node state scheduling of described operand stack;
The assembly that wherein is used for determining the state of described operand stack comprises: the sub-component that is used for determining to enter according to described stack states the entrance of sharing run time version, the described operand stack state of wherein said instruction usefulness is indicated by required shifting function number of times after carrying out described instruction, described shifting function is used for keeping stack top location, and
Wherein said being used for described instruction translation is that the assembly of thread code comprises:
Be used for determining to carry out the described instruction sub-component of the number of operand on described operand stack in the past;
Be used for the operand number that produces according to the operand number of described instruction consumes and described instruction to determine to carry out after the described instruction sub-component of the number of operand on the described operand stack; And
Be used to keep after extrapolating the described instruction of execution the sub-component of the required shifting function number of times of stack top location.
9. system as claimed in claim 8, wherein said operand stack are the mixed stack that comprises register stack and memory stack.
10. system as claimed in claim 9, wherein said register stack comprises at least one register of at least one the corresponding top unit that is used to keep described storehouse, and described memory stack comprises the contiguous storage zone that is used to keep the remaining unit of described operand stack.
11. an equipment that is used to carry out the instruction on the operation storehouse, described equipment comprises:
Be used for described virtual machine instructions being translated into the assembly of thread code according to the operand stack state of virtual machine instructions, comprise according to described stack states and determine to enter the entrance of sharing run time version, the described operand stack state of wherein said instruction usefulness is indicated by required shifting function number of times after carrying out described instruction, described shifting function is used for keeping stack top location, wherein is used for comprising according to the assembly that the operand stack state of virtual machine instructions is translated into thread code to described virtual machine instructions:
Be used for determining to carry out the described instruction assembly of the number of operand on described operand stack in the past;
Be used for the operand number that produces according to the operand number of described instruction consumes and described instruction to determine to carry out after the described instruction assembly of the number of operand on the described operand stack; And
Be used to keep after extrapolating the described instruction of execution the assembly of the required shifting function number of times of stack top location;
Be used for dispatching the assembly of described virtual machine instructions according to described operand stack state; And
Be used to carry out the assembly of described instruction.
12. want 11 described equipment as right, wherein said thread code is based on entering the entrance of sharing run time version.
13. equipment as claimed in claim 11 wherein also comprises:
Be used at the assembly of carrying out the operand number that exists on definite described operand stack before the described virtual machine instructions at every turn;
Be used for assembly at each operand number that exists on definite described operand stack after carrying out described virtual machine instructions; And
Be used to extrapolate the assembly that after carrying out described virtual machine instructions, keeps the required shifting function number of times of stack top location.
14. equipment as claimed in claim 12 is wherein carried out shifting function number of times required after the described instruction based on the number of the operand that exists on the described operand stack before the described instruction of each execution and each number of carrying out the operand that exists on the described operand stack after the described instruction.
15. equipment as claimed in claim 12 is wherein carried out shifting function number of times required after the described instruction and is looked into showing according to static state and calculate out.
16. comprising, equipment as claimed in claim 11, wherein said operand stack state carries out the shifting function number of times that described virtual machine instructions is kept the stack top location of operand stack afterwards.
17. equipment as claimed in claim 16, wherein said stack top location comprises register stack.
18. equipment as claimed in claim 11 wherein also comprises:
Be used to carry out the several times shifting function so that stack top location is substituted into the assembly of operand stack.
19. the number of the unit that equipment as claimed in claim 18, the number of times of wherein said shifting function produce based on the number of the unit on the operand stack that described virtual machine instructions consumed and described virtual machine instructions.
CNB2004800425684A 2004-03-31 2004-03-31 Stack high-speed memory using code sharing Expired - Fee Related CN100461090C (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2004/000290 WO2005096136A1 (en) 2004-03-31 2004-03-31 Stack caching using code sharing

Publications (2)

Publication Number Publication Date
CN1926509A CN1926509A (en) 2007-03-07
CN100461090C true CN100461090C (en) 2009-02-11

Family

ID=35063965

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800425684A Expired - Fee Related CN100461090C (en) 2004-03-31 2004-03-31 Stack high-speed memory using code sharing

Country Status (2)

Country Link
CN (1) CN100461090C (en)
WO (1) WO2005096136A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10265311B2 (en) 2009-07-22 2019-04-23 PureTech Health LLC Methods and compositions for treatment of disorders ameliorated by muscarinic receptor activation
US9436475B2 (en) * 2012-11-05 2016-09-06 Nvidia Corporation System and method for executing sequential code using a group of threads and single-instruction, multiple-thread processor incorporating the same
CN115237475B (en) * 2022-06-23 2023-04-07 云南大学 Forth multi-core stack processor and instruction set

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6273335A (en) * 1985-09-27 1987-04-04 Toshiba Corp Stack control system
US5070451A (en) * 1984-11-21 1991-12-03 Harris Corporation Forth specific language microprocessor
US6131144A (en) * 1997-04-01 2000-10-10 Sun Microsystems, Inc. Stack caching method with overflow/underflow control using pointers
CN1295279A (en) * 1999-11-09 2001-05-16 摩托罗拉公司 Device and method for execution of stack pull and push-down operation in processing system
CN1440528A (en) * 2000-10-05 2003-09-03 Arm有限公司 Storing stack operands in registers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5070451A (en) * 1984-11-21 1991-12-03 Harris Corporation Forth specific language microprocessor
JPS6273335A (en) * 1985-09-27 1987-04-04 Toshiba Corp Stack control system
US6131144A (en) * 1997-04-01 2000-10-10 Sun Microsystems, Inc. Stack caching method with overflow/underflow control using pointers
CN1295279A (en) * 1999-11-09 2001-05-16 摩托罗拉公司 Device and method for execution of stack pull and push-down operation in processing system
CN1440528A (en) * 2000-10-05 2003-09-03 Arm有限公司 Storing stack operands in registers

Also Published As

Publication number Publication date
WO2005096136A1 (en) 2005-10-13
CN1926509A (en) 2007-03-07

Similar Documents

Publication Publication Date Title
Goldberg et al. Smalltalk-80: the language and its implementation
US8332829B2 (en) Communication scheduling within a parallel processing system
US8972699B2 (en) Multicore interface with dynamic task management capability and task loading and offloading method thereof
Hansen Edison—a multiprocessor language
US20070226718A1 (en) Method and apparatus for supporting software tuning for multi-core processor, and computer product
CN100435102C (en) Method and system for swapping code in a digital signal processor
CN100362474C (en) Time-multiplexed speculative multi-threading to support single-threaded applications
Barras et al. Asynchronous processing of Coq documents: from the kernel up to the user interface
CN100461090C (en) Stack high-speed memory using code sharing
Driesen Software and hardware techniques for efficient polymorphic calls
Müller et al. He.. ro db: A concept for parallel data processing on heterogeneous hardware
CN102144226A (en) Flexible base class library
EP3906470B1 (en) Techniques for scheduling instructions in compiling source code
CN103631648A (en) Task processing method and system
de Carvalho Junior et al. Contextual contracts for component‐oriented resource abstraction in a cloud of high performance computing services
Weiher iOS and macOS Performance Tuning: Cocoa, Cocoa Touch, Objective-C, and Swift
US7424596B2 (en) Code interpretation using stack state information
Nanda et al. Resource aware scheduling for EDA regression jobs
Hibbard et al. A language implementation design for a multiprocessor computer system
Jones et al. Trends in microprogramming: A second reading
Dorochevsky et al. Constraint handling, garbage collection and execution model issues in ElipSys
Klimiankou Rapid Instruction Decoding for IA-32
Kacsuk Memory management in LOGFLOW
CN1661552A (en) Process language for microprocessors with finite resources
CN116909733A (en) Language model device, method of operating the same, and machine-readable storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090211

Termination date: 20200331

CF01 Termination of patent right due to non-payment of annual fee