Claims Analysis
Total Claims: 38
Claim 1
Independent Claim
244 words
In a computer system for generating high speed graphics using an instruction stream having a plurality of instructions, said computer system having a hardware parser for parsing a subset of said instructions so that at least some instructions are executable by high speed graphics hardware, and the computer system having a caller parser for parsing all instructions so that the remainder of said instructions are executable by a hardware emulation unit, a method for optimizing execution speed of the instructions by the allocation of the instructions between the high speed graphics hardware and the hardware emulation unit, the method comprising the steps of: using the hardware parser to parse the instruction stream and executing thereafter the parsed instructions with said high speed graphics hardware until the hardware parser encounters an instruction that is not understood by the hardware parser; using the caller parser to parse the instruction that is not understood by the hardware parser, and executing thereafter the parsed instruction at least partially with the hardware emulation unit; using the caller parser to parse the next instruction in the instruction stream and if the next instruction is understandable by the hardware parser, passing control of the instruction stream back to the hardware parser, and if the next instruction is not understandable by the hardware parser, executing the next instruction at least partially with the hardware emulation unit; and repeating each of the above steps until the instruction stream is completely parsed and executed.
Claim 2
Dependent Claim
244 words
In a computer system for generating high speed graphics using an instruction stream having a plurality of instructions, said computer system having a hardware parser for parsing a subset of said instructions so that at least some instructions are executable by high speed graphics hardware, and the computer system having a caller parser for parsing all instructions so that the remainder of said instructions are executable by a hardware emulation unit, a method for optimizing execution speed of the instructions by the allocation of the instructions between the high speed graphics hardware and the hardware emulation unit, the method comprising the steps of: using the hardware parser to parse the instruction stream and executing thereafter the parsed instructions with said high speed graphics hardware until the hardware parser encounters an instruction that is not understood by the hardware parser; using the caller parser to parse the instruction that is not understood by the hardware parser, and executing thereafter the parsed instruction at least partially with the hardware emulation unit; using the caller parser to parse the next instruction in the instruction stream and if the next instruction is understandable by the hardware parser, passing control of the instruction stream back to the hardware parser, and if the next instruction is not understandable by the hardware parser, executing the next instruction at least partially with the hardware emulation unit; and repeating each of the above steps until the instruction stream is completely parsed and executed.
Claim 3
Dependent Claim
62 words
A method optimizing execution speed of an instruction stream as recited in claim 1 further comprising the step of said caller parser determining which instructions are implemented by said high speed graphics hardware prior to beginning execution of the instructions so that said caller parser can identify which instructions in said instruction stream can be executed by said high speed graphics hardware.
Claim 4
Dependent Claim
40 words
A method optimizing execution speed of an instruction stream as recited in claim 1 wherein said caller parser is implemented using executable code means for causing a CPU of the computer system to perform the functions of said caller parser.
Claim 5
Dependent Claim
53 words
A method optimizing execution speed of an instruction stream as recited in claim 1 wherein said instruction stream comes from an encapsulated execute buffer comprised of said instruction stream and a plurality of vertices that together form a vertex pool, the instructions of said instruction stream rendering the vertices of said vertex pool.
Claim 6
Dependent Claim
94 words
A method optimizing execution speed of an instruction stream as recited in claim 1 wherein said caller parser uses said high speed graphics to implement a portion of an instruction that is unimplemented by said hardware parser by first translating the unimplemented instruction into a plurality of other instructions, at least one of which is implemented by the hardware parser, and then passing at least one instruction implemented by the hardware parser to the hardware parser for execution by the high speed graphics and then emulating the remainder of said plurality of other instructions.
Claim 7
Dependent Claim
37 words
A method optimizing execution speed of an instruction stream as recited in claim 1 wherein when said hardware parser encounters an unimplemented instruction, said hardware parser passes a pointer to the unimplemented instruction to said caller parser.
Claim 8
Dependent Claim
43 words
A method optimizing execution speed of an instruction stream as recited in claim 1 wherein when said caller parser encounters an instruction that is implemented by said hardware parser, said caller parser passes a pointer to the implemented instruction to said hardware parser.
Claim 9
Dependent Claim
75 words
A method optimizing execution speed of an instruction stream as recited in claim 1 wherein when said hardware parser encounters an unimplemented instruction and passes control to said caller parser, said caller parser parses said unimplemented instruction to determine if said unimplemented instruction should have been executed by the high speed graphics hardware and wherein said caller parser raises an error if said unimplemented instruction should have been executed by the high speed graphics hardware.
Claim 10
Dependent Claim
279 words
In a computer system for generating high speed graphics using an instruction stream having a plurality of instructions, said computer system having a hardware parser for parsing a subset of said instructions so that at least some instructions are executable by high speed graphics hardware, and the computer system having a caller parser for parsing all instructions so that the remainder of said instructions are executable by a hardware emulation unit, a method of optimizing execution speed of the instructions by the allocation of the instructions between the high speed graphics hardware and the hardware emulation unit, the method comprising the steps of: prior to execution of the instruction stream, the caller parser determining the subset of instructions implemented by said hardware parser so that said caller parser can identify which of said instructions in said instruction stream can be executed by said high speed graphics hardware; said hardware parser parsing the instruction stream and thereafter executing said instruction stream using the high speed graphics hardware until either the instruction stream is completely executed or until an instruction that is not implemented is encountered; if said hardware parser encounters an unimplemented instruction in said instruction stream then performing at least the steps of: said hardware parser passing control to said caller parser so that the unimplemented instruction can be executed under the direction of the caller parser; and said caller parser first parsing the unimplemented instruction and thereafter executing said unimplemented instruction at least in part by the hardware emulation unit; and prior to returning control to said hardware parser, said caller parser parsing the next instruction to see if the next instruction is implemented by said hardware parser.
Claim 11
Dependent Claim
279 words
In a computer system for generating high speed graphics using an instruction stream having a plurality of instructions, said computer system having a hardware parser for parsing a subset of said instructions so that at least some instructions are executable by high speed graphics hardware, and the computer system having a caller parser for parsing all instructions so that the remainder of said instructions are executable by a hardware emulation unit, a method of optimizing execution speed of the instructions by the allocation of the instructions between the high speed graphics hardware and the hardware emulation unit, the method comprising the steps of: prior to execution of the instruction stream, the caller parser determining the subset of instructions implemented by said hardware parser so that said caller parser can identify which of said instructions in said instruction stream can be executed by said high speed graphics hardware; said hardware parser parsing the instruction stream and thereafter executing said instruction stream using the high speed graphics hardware until either the instruction stream is completely executed or until an instruction that is not implemented is encountered; if said hardware parser encounters an unimplemented instruction in said instruction stream then performing at least the steps of: said hardware parser passing control to said caller parser so that the unimplemented instruction can be executed under the direction of the caller parser; and said caller parser first parsing the unimplemented instruction and thereafter executing said unimplemented instruction at least in part by the hardware emulation unit; and prior to returning control to said hardware parser, said caller parser parsing the next instruction to see if the next instruction is implemented by said hardware parser.
Claim 12
Dependent Claim
45 words
A method optimizing execution speed of an instruction stream as recited in claim 9 wherein control is returned to said hardware parser after said caller parser parses and thereafter causes said unimplemented instruction to be executed at least in part by the hardware emulation unit.
Claim 13
Dependent Claim
63 words
A method of optimizing execution speed of an instruction stream as recited in claim 9 wherein if said caller parser determines that the next instruction is not implemented by said hardware parser, said caller parser does not return control to said hardware parser and said caller parser causes the next instruction to be executed, at least in part, by the hardware emulation unit.
Claim 14
Dependent Claim
68 words
A method optimizing execution speed of an instruction stream as recited in claim 11 wherein said caller parser causes said unimplemented instruction to be executed by first translating the unimplemented instruction into a plurality of other instructions, at least one of which is implemented by the high speed graphics hardware and then by using said the high speed graphics hardware to execute said at least one implemented instruction.
Claim 15
Dependent Claim
39 words
A method optimizing execution speed of an instruction stream as recited in claim 11 wherein said hardware emulation unit is implemented using executable code means for causing a CPU of the computer system to emulate execution of graphics instructions.
Claim 16
Dependent Claim
53 words
A method optimizing execution speed of an instruction stream as recited in claim 13 wherein said instruction stream comes from an encapsulated execute buffer comprised of said instruction stream and a plurality of vertices that together form a vertex pool, the instructions of said instruction stream rendering the vertices of said vertex pool.
Claim 17
Dependent Claim
262 words
In a computer system for generating high speed graphics using an instruction stream having a plurality of instructions, said computer system comprising at least one specialized hardware processing unit adapted to parse and execute at least a subset of the instructions, and a central processing unit (CPU), having a caller parser at least partially implemented in software for parsing all instructions so that the remainder of the instructions are executable by a hardware emulation unit executing on the CPU a method for optimizing execution speed of the instructions by the allocation of the instructions between the at least one specialized processing unit and the CPU comprising the steps of: said CPU causing said specialized hardware processing unit to begin parsing and executing said instruction stream; said specialized hardware processing unit parsing and executing said instruction stream until said instruction stream is completely executed or until said specialized hardware processing unit encounters an instruction not implemented by said specialized hardware processing unit; if said specialized hardware processing unit encounters an unimplemented instruction, then performing at least the steps of: said specialized hardware processing unit passing said unimplemented instruction back to said CPU for processing; said CPU emulating said unimplemented instruction and said CPU then examining the next instruction prior to passing control back to said specialized hardware processing unit and if the next instruction is not implemented by said specialized hardware processing unit, then emulating the next instruction, and then passing control back to said specialized hardware processing unit; and said specialized hardware processing unit continuing to parse and execute said instruction stream.
Claim 18
Dependent Claim
262 words
In a computer system for generating high speed graphics using an instruction stream having a plurality of instructions, said computer system comprising at least one specialized hardware processing unit adapted to parse and execute at least a subset of the instructions, and a central processing unit (CPU), having a caller parser at least partially implemented in software for parsing all instructions so that the remainder of the instructions are executable by a hardware emulation unit executing on the CPU a method for optimizing execution speed of the instructions by the allocation of the instructions between the at least one specialized processing unit and the CPU comprising the steps of: said CPU causing said specialized hardware processing unit to begin parsing and executing said instruction stream; said specialized hardware processing unit parsing and executing said instruction stream until said instruction stream is completely executed or until said specialized hardware processing unit encounters an instruction not implemented by said specialized hardware processing unit; if said specialized hardware processing unit encounters an unimplemented instruction, then performing at least the steps of: said specialized hardware processing unit passing said unimplemented instruction back to said CPU for processing; said CPU emulating said unimplemented instruction and said CPU then examining the next instruction prior to passing control back to said specialized hardware processing unit and if the next instruction is not implemented by said specialized hardware processing unit, then emulating the next instruction, and then passing control back to said specialized hardware processing unit; and said specialized hardware processing unit continuing to parse and execute said instruction stream.
Claim 19
Dependent Claim
24 words
A method optimizing execution speed of an instruction stream as recited in claim 15 wherein said specialized hardware processing unit is a graphics processor.
Claim 20
Dependent Claim
46 words
A method optimizing execution speed of an instruction stream as recited in claim 15 wherein said instruction stream comes from an encapsulated execute buffer comprised of said instruction stream and a plurality of vertices that together form a vertex pool, said instruction stream rendering said vertices.
Claim 21
Dependent Claim
244 words
A computer program product for use in a high speed graphics computer comprising a central processing unit (CPU) and at least one specialized hardware processor for parsing and executing a portion of an instruction stream comprised of a plurality of instructions, said computer program product comprising: a computer readable medium; program code means embodied in said computer readable medium for causing said CPU to allocate execution of said instruction stream between the CPU and the at least one specialized graphics hardware processor to optimize execution speed of the instruction stream, said program code means comprising: means for determining which instructions are implemented by said at least one specialized hardware processor so that instructions in said instruction stream that are implemented by said at least one specialized hardware processor can be identified; means for emulating at least the instructions of said instruction stream that are not implemented by the at least one specialized hardware processor and then after emulating said portion, prior to giving control to said specialized hardware processor, parsing the next instruction to see if the next instruction is implemented by the specialized hardware processor; and means for parsing any of the instructions in the instruction stream so that said means for parsing can identify all instructions of said instruction stream and then after emulating said portion, prior to giving control to said specialized hardware processor, parsing the next instruction to see if the next instruction is implemented by the specialized hardware processor.
Claim 22
Dependent Claim
244 words
A computer program product for use in a high speed graphics computer comprising a central processing unit (CPU) and at least one specialized hardware processor for parsing and executing a portion of an instruction stream comprised of a plurality of instructions, said computer program product comprising: a computer readable medium; program code means embodied in said computer readable medium for causing said CPU to allocate execution of said instruction stream between the CPU and the at least one specialized graphics hardware processor to optimize execution speed of the instruction stream, said program code means comprising: means for determining which instructions are implemented by said at least one specialized hardware processor so that instructions in said instruction stream that are implemented by said at least one specialized hardware processor can be identified; means for emulating at least the instructions of said instruction stream that are not implemented by the at least one specialized hardware processor and then after emulating said portion, prior to giving control to said specialized hardware processor, parsing the next instruction to see if the next instruction is implemented by the specialized hardware processor; and means for parsing any of the instructions in the instruction stream so that said means for parsing can identify all instructions of said instruction stream and then after emulating said portion, prior to giving control to said specialized hardware processor, parsing the next instruction to see if the next instruction is implemented by the specialized hardware processor.
Claim 23
Dependent Claim
37 words
A computer program product as recited in claim 18 wherein the program code means further comprises means for causing said at least one specialized hardware processor to begin parsing and executing the instructions of the instruction stream.
Claim 24
Dependent Claim
41 words
A computer program product as recited in claim 18 wherein said instruction stream comes from an encapsulated execute buffer comprised of said instruction stream and a plurality of vertices that together form a vertex pool, said instruction stream rendering said vertices.
Claim 25
Dependent Claim
37 words
A computer program product as recited in claim 18 wherein said program code means further comprises means for taking control of executing said instruction stream when said at least one specialized hardware processor encounters an unimplemented instruction.
Claim 26
Dependent Claim
19 words
A computer program product as recited in claim 18 wherein said means for emulating emulates the entire instruction set.
Claim 27
Dependent Claim
287 words
A computer program product for use in a high speed graphics computer comprising a central processing unit (CPU) and at least one specialized hardware processor for parsing and executing a portion of an instruction stream comprised of a plurality of instructions drawn from an instruction set, said computer program product comprising: a computer readable medium; program code means embodied in said computer readable medium for causing said CPU to allocate execution of said instruction stream between the CPU and the at least one specialized graphics hardware processor to optimize execution speed of the instruction stream, said program code means comprising: means for determining which instructions are implemented by said at least one specialized hardware processor so that instructions in said instruction stream that are implemented by said at least one specialized hardware processor can be identified; means for emulating that portion of the instructions of said instruction stream that are not implemented by the at least one specialized hardware processor and then after emulating said portion, prior to giving control to said specialized hardware processor, parsing the next instruction to see if the next instruction is implemented by the specialized hardware processor; means for causing said at least one specialized hardware processor to begin parsing and executing the instructions of the instruction stream; and means for parsing any of the instructions of said instruction stream and for employing said means for emulating to emulate that portion of the instructions of said instruction stream that are not implemented by the at least one specialized hardware processor and then after emulating said portion, prior to giving control to said specialized hardware processor, parsing the next instruction to see if the next instruction is implemented by the specialized hardware processor.
Claim 28
Dependent Claim
287 words
A computer program product for use in a high speed graphics computer comprising a central processing unit (CPU) and at least one specialized hardware processor for parsing and executing a portion of an instruction stream comprised of a plurality of instructions drawn from an instruction set, said computer program product comprising: a computer readable medium; program code means embodied in said computer readable medium for causing said CPU to allocate execution of said instruction stream between the CPU and the at least one specialized graphics hardware processor to optimize execution speed of the instruction stream, said program code means comprising: means for determining which instructions are implemented by said at least one specialized hardware processor so that instructions in said instruction stream that are implemented by said at least one specialized hardware processor can be identified; means for emulating that portion of the instructions of said instruction stream that are not implemented by the at least one specialized hardware processor and then after emulating said portion, prior to giving control to said specialized hardware processor, parsing the next instruction to see if the next instruction is implemented by the specialized hardware processor; means for causing said at least one specialized hardware processor to begin parsing and executing the instructions of the instruction stream; and means for parsing any of the instructions of said instruction stream and for employing said means for emulating to emulate that portion of the instructions of said instruction stream that are not implemented by the at least one specialized hardware processor and then after emulating said portion, prior to giving control to said specialized hardware processor, parsing the next instruction to see if the next instruction is implemented by the specialized hardware processor.
Claim 29
Dependent Claim
37 words
A computer program product as recited in claim 23 wherein said program code means further comprises means for taking control of executing said instruction stream when said at least one specialized hardware processor encounters an unimplemented instruction.
Claim 30
Dependent Claim
35 words
A computer program product as recited in claim 24 wherein said instruction stream comes from an encapsulated execute buffer comprised of said instruction stream and a plurality of vertices that together form a vertex pool.
Claim 31
Dependent Claim
19 words
A computer program product as recited in claim 23 wherein said means for emulating emulates the entire instruction set.
Claim 32
Dependent Claim
236 words
A computer program product for use in a computer comprising a central processing unit (CPU) and a graphics processor for parsing and executing a portion of an instruction stream comprised of graphics instructions drawn from an graphics instruction set, said computer program product comprising: a computer readable medium; program code means embodied in said computer readable medium for causing said computer to allocate execution of said instruction stream between said graphics processor and an instruction execution unit means running on the CPU, said program code means comprising: instruction execution unit means for executing at least the instructions of said instruction set that are not executed by said graphics processor, said instruction execution unit means comprising: means for emulating at least the instructions of said instruction set that are not executed by said graphics processor; and means for parsing any of the instructions of said instruction set and then after emulating said instructions not executed by said graphics processor, prior to causing said graphics processor to begin execution, paring the next instruction to see if the next instruction is executable by the graphics processor; means for determining which portion of the instruction set is implemented by said graphics processor so that said instruction execution unit can determine which instructions in said instruction stream are implemented by said graphics processor; and means for causing said graphics processor to begin parsing and executing the instructions of the instruction stream.
Claim 33
Dependent Claim
236 words
A computer program product for use in a computer comprising a central processing unit (CPU) and a graphics processor for parsing and executing a portion of an instruction stream comprised of graphics instructions drawn from an graphics instruction set, said computer program product comprising: a computer readable medium; program code means embodied in said computer readable medium for causing said computer to allocate execution of said instruction stream between said graphics processor and an instruction execution unit means running on the CPU, said program code means comprising: instruction execution unit means for executing at least the instructions of said instruction set that are not executed by said graphics processor, said instruction execution unit means comprising: means for emulating at least the instructions of said instruction set that are not executed by said graphics processor; and means for parsing any of the instructions of said instruction set and then after emulating said instructions not executed by said graphics processor, prior to causing said graphics processor to begin execution, paring the next instruction to see if the next instruction is executable by the graphics processor; means for determining which portion of the instruction set is implemented by said graphics processor so that said instruction execution unit can determine which instructions in said instruction stream are implemented by said graphics processor; and means for causing said graphics processor to begin parsing and executing the instructions of the instruction stream.
Claim 34
Dependent Claim
209 words
A high speed graphics system that allocates execution of an instruction stream comprised of a plurality of instructions between a caller instruction execution unit that emulates instructions and a hardware instruction execution unit with high speed graphics hardware comprising: a CPU; a hardware instruction execution unit for executing a portion of the instruction stream, said hardware instruction execution unit comprising a hardware parser and high speed graphics hardware; program code means for causing said CPU to allocate execution of said instruction stream between said hardware instruction execution unit and a caller instruction execution unit, said program code means comprising: means for causing said caller instruction execution unit to execute at least the instructions of said instruction stream that are not executed by said hardware instruction execution unit, said caller instruction execution unit comprising: means for emulating at least the instructions of said instruction stream that are not executed by said hardware instruction execution unit; and means for parsing any of the instructions of said instruction stream and then after emulating said instructions not executed by said high speed graphics hardware, prior to causing said high speed graphics hardware to begin execution, parsing the next instruction to see if the next instruction is executable by the high speed graphics hardware.
Claim 35
Dependent Claim
209 words
A high speed graphics system that allocates execution of an instruction stream comprised of a plurality of instructions between a caller instruction execution unit that emulates instructions and a hardware instruction execution unit with high speed graphics hardware comprising: a CPU; a hardware instruction execution unit for executing a portion of the instruction stream, said hardware instruction execution unit comprising a hardware parser and high speed graphics hardware; program code means for causing said CPU to allocate execution of said instruction stream between said hardware instruction execution unit and a caller instruction execution unit, said program code means comprising: means for causing said caller instruction execution unit to execute at least the instructions of said instruction stream that are not executed by said hardware instruction execution unit, said caller instruction execution unit comprising: means for emulating at least the instructions of said instruction stream that are not executed by said hardware instruction execution unit; and means for parsing any of the instructions of said instruction stream and then after emulating said instructions not executed by said high speed graphics hardware, prior to causing said high speed graphics hardware to begin execution, parsing the next instruction to see if the next instruction is executable by the high speed graphics hardware.
Claim 36
Dependent Claim
34 words
A high speed graphics system as recited in claim 28 wherein said program code means further comprises means for determining which portion of the instruction stream is implemented by said hardware instruction execution unit.
Claim 37
Dependent Claim
20 words
A high speed graphics system as recited in claim 28 wherein said hardware instruction execution unit is a graphics processor.
Claim 38
Dependent Claim
42 words
A high speed graphics system as recited in claim 30 wherein said instruction stream comes from an encapsulated execute buffer comprised of said instruction stream and a plurality of vertices that together form a vertex pool, said instruction stream rendering said vertices.