Claims
- 1. An apparatus comprising:
a datapath for use to execute primitive operations; at least one control unit coupled to the datapath to control the datapath to selectively execute primitive operations of a first and a second collection of primitive operations, to effectuate execution of instructions of a first and a second instruction set architecture (ISA), where instructions of the first and the second ISA are implemented by the primitive operations of the first and second collections of primitive operations respectively.
- 2. The apparatus as set forth in claim 1, wherein primitive operations of said first and second collections of primitive operations implementing an instruction of said first and second ISA are hierarchically organized.
- 3. The apparatus as set forth in claim 2, wherein primitive operations of said first and second collections of primitive operations implementing an instruction of said first and second ISA are first organized as atomic units.
- 4. The apparatus as set forth in claim 3, wherein the atomic units further organized into snippets.
- 5. The apparatus as set forth in claim 4, wherein the snippets are further organized into execution threads.
- 6. The apparatus as set forth in claim 1, wherein the apparatus further includes at least one ISA selector accessible to the control logic to facilitate the control logic in said selective control of said datapath.
- 7. The apparatus as set forth in claim 6, wherein the at least one ISA selector facilitates the control logic in said selective control of said datapath for a first and a second deployment of the apparatus.
- 8. The apparatus as set forth in claim 6, wherein the datapath includes a first and a second set of resources, and the at least one ISA selector facilitates the control logic in said selective control of said datapath for said first and second sets of resources.
- 9. The apparatus as set forth in claim 6, wherein the datapath includes at least one set of resources, and the at least one ISA selector facilitates the control logic in selective control of one of said at least one set of resources of said datapath for a first and a second user instruction stream comprising of instructions of said first and second ISA respectively.
- 10. The apparatus as set forth in claim 6, wherein the datapath includes at least one set of resources, and the at least one ISA selector facilitates the control logic in selective control of one of said at least one set of resources of said datapath for a first and a second portion of an user instruction stream comprising of instructions of said first and second ISA respectively.
- 11. The apparatus as set forth in claim 10, wherein the at least one ISA selector is configured in accordance with ISA control information identifying the ISA of the instructions of the first and the second portion of the user instruction stream.
- 12. The apparatus as set forth in claim 11, wherein the ISA control information is obtained from a selected one of an internal source of the user instruction stream and a source external to the user instruction stream.
- 13. The apparatus as set forth in claim 6, wherein the ISA selector is a base address facilitating the control logic in locating either the first or the second collection of primitive operations.
- 14. The apparatus as set forth in claim 1, wherein the apparatus further comprises an ISA library coupled to the datapath and the at least one control unit to store the primitive operations of the first and the second collection of primitive operations, and to selectively supply the stored primitive operations of the first and the second collection of primitive operations to the datapath, responsive to the control of the control logic.
- 15. The apparatus as set forth in claim 14, wherein the ISA library further stores first and second control information for the first and the second ISA, and selectively supplies the stored first and second control information to the control logic.
- 16. The apparatus as set forth in claim 15, wherein the control information includes logical to physical mappings of the first and the second ISA.
- 17. An apparatus comprising:
a datapath for use to effectuate execution of instructions; at least one control unit coupled to the datapath to control the datapath to selectively effectuate execution of instructions of a first and a second instruction set architecture (ISA); and at least one ISA selector accessible to the control logic to facilitate the control logic in controlling said datapath to selectively effectuate said execution of instructions of the first and the second ISA.
- 18. The apparatus as set forth in claim 17, wherein the at least one ISA selector facilitates the control logic in controlling said datapath to effectuate execution of instructions of the first and the second ISA for a first and a second deployment of the apparatus respectively.
- 19. The apparatus as set forth in claim 17, wherein the datapath includes a first and a second set of resources, and the at least one ISA selector facilitates the control logic in controlling said first and second sets of resources of the datapath to effectuate execution of instructions of the first and the second ISA respectively.
- 20. The apparatus as set forth in claim 17, wherein the datapath includes at least one set of resources, and the at least one ISA selector facilitates the control logic in controlling one of said at least one set of resources of said datapath to effectuate execution of instructions of a first and a second user instruction stream, where the instructions of the first and the second user instruction stream are instructions of said first and second ISA respectively.
- 21. The apparatus as set forth in claim 17, wherein the datapath includes at least one set of resources, and the at least one ISA selector facilitates the control logic in controlling one of said at least one set of resources of said datapath to effectuate execution of instructions of a first and a second portion of an user instruction stream, where the instructions of the first and the second portion are of said first and second ISA respectively.
- 22. The apparatus as set forth in claim 21, wherein the at least one ISA selector is configured in accordance with ISA control information identifying the ISA of the instructions of the first and the second portion of the user instruction stream.
- 23. The apparatus as set forth in claim 22, wherein the ISA control information is obtained from a selected one of an internal source of the user instruction stream and a source external to the user instruction stream.
- 24. The apparatus as set forth in claim 17, wherein the apparatus further comprises an ISA library coupled to the control logic to store first and second control information for the first and the second ISA respectively, and to selectively supply the stored first and second control information to the control logic.
- 25. The apparatus as set forth in claim 24, wherein the control information includes logical to physical mappings of the first and the second ISA.
- 26. An apparatus comprising:
a datapath for use to effectuate execution of instructions; at least one control unit coupled to the datapath to control the datapath to selectively effectuate execution of instructions of a first and a second instruction set architecture (ISA); and an ISA library coupled to the control logic to store first and second control information for the first and the second ISA, and to selectively supply the stored first and second control information to the control logic.
- 27. The apparatus as set forth in claim 26, wherein the control information includes logical to physical mappings of the first and the second ISA.
- 28. A storage medium having stored therein a plurality of machine executed instructions, wherein when executed by a host processor, the executing instructions enable the host processor to generate an heterogeneous instruction stream having at least a first and second portion constituted with executable instructions of a first and a second ISA.
- 29. The storage medium as set forth in claim 28, wherein the executing instructions further enable the host processor to include information in the heterogeneous instruction stream describing the first and the second portion, including in particular, information describing the ISA of the executable instructions of the first and the second portion.
- 30. The storage medium as set forth in claim 29, wherein the executing instructions further enable the host processor to directly describe starting locations of corresponding implementing POP collections of the ISA of the executable instructions of the first and the second portion, in an ISA library of a targeted processor.
- 31. A method of executing instructions comprising:
a) executing first primitive operations of a first collection of primitive operations to effectuate execution of a first instruction of a first instruction set architecture (ISA). b) executing second primitive operations of a second collection of primitive operations to effectuate execution of a second instruction of a second instruction set architecture (ISA).
- 32. The method of claim 31, wherein (a) includes receiving the first instruction, which is part of a first instruction stream, and (b) includes receiving the second instruction, which is part of a second instruction stream.
- 33. The method of claim 31, wherein (a) includes receiving the first instruction, which is part of a first portion of an instruction stream, and (b) includes receiving the second instruction, which is part of a second portion of the same instruction stream.
- 34. The method of claim 31, wherein (a) includes receiving the first instruction, which is part of a caller routine, and (b) includes receiving the second instruction, which is part of a callee routine.
- 35. The method of claim 31, wherein (a) includes selecting a first set of resources of a datapath, and (b) includes selecting a second set of resources of the same datapath.
- 38. The method of claim 31, wherein the method further includes (c) selecting a set of resources of a datapath to perform (a) and (b).
- 37. The method of claim 31, wherein the method further includes (c) receiving ISA control information for performing (a) and (b).
- 38. The method of claim 37, wherein (c) receiving the ISA control information from a selected one of an internal source of a multi-portion instruction stream and a source external to the multi-portion instruction stream.
Parent Case Info
[0001] The present invention is a continuation-in-part application to application Ser. No. 08/963,387, entitled “A Processor Having An ISA Implemented With Hierarchically Organized Primitive Operations”, filed on Nov. 3, 1997, having identical inventorship with the present invention.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
08963387 |
Nov 1997 |
US |
Child |
09120043 |
Jul 1998 |
US |