Method and system for compressing program code and interpreting compressed program code
First Claim
1. A computer system for executing a compressed stream of instructions, the stream of instructions stored in a program store, the instruction stream having literal instructions and one or more Echo instructions for repeating one or more literal instructions, each Echo instruction relating to one or more literal instructions located in the program store, the system comprising:
- an execution module that executes literal instructions in the instruction stream;
an evaluation module that determines whether an instruction is a literal instruction or an Echo instruction;
an Echo module for executing the one or more Echo instructions; and
wherein at least one Echo instruction comprises;
a first parameter that identifies the first instruction to be repeated; and
a second parameter that identifies the last instruction to be repeated.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system and method for compressing an instruction stream and executing the compressed instruction stream without decompression. The invention utilizes a new pointer instruction, i.e., an “Echo” instruction that is used to replace repeated instructions or sequences of instructions, also referred to as phrases. Replacing subsequent, repeated phrases with the Echo instruction reduces the size of the instruction stream, i.e., compresses the instruction stream. The Echo instruction generally identifies at least one literal instruction appearing before the Echo instruction and further identifies the number of instructions appearing before the Echo instruction to be repeated. No additional delimiters are necessary, e.g., no End Echo instructions are required. Omitting the End Echo instruction allows for overlapping phrases without the need for two Echo instructions. Reducing the number of instructions used significantly increases compression.
-
Citations
36 Claims
-
1. A computer system for executing a compressed stream of instructions, the stream of instructions stored in a program store, the instruction stream having literal instructions and one or more Echo instructions for repeating one or more literal instructions, each Echo instruction relating to one or more literal instructions located in the program store, the system comprising:
-
an execution module that executes literal instructions in the instruction stream;
an evaluation module that determines whether an instruction is a literal instruction or an Echo instruction;
an Echo module for executing the one or more Echo instructions; and
wherein at least one Echo instruction comprises;
a first parameter that identifies the first instruction to be repeated; and
a second parameter that identifies the last instruction to be repeated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of executing a compressed instruction stream, the compressed instruction stream having one or more literal instructions and one or more Echo instructions, the method comprising:
-
evaluating one of the instructions in the instruction stream to determine whether the instruction is one of the literal instructions or one of the Echo instructions, wherein each Echo instruction identifies at least one literal instruction appearing before the Echo instruction to be repeated, and wherein the Echo instruction further identifies the number of instructions appearing before the Echo instruction to be executed;
upon determining that the evaluated instruction is one of the literal instructions, executing the literal instruction; and
upon determining that the instruction is one of the Echo instructions, executing the number of previous instructions. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-readable medium having stored thereon a data structure, the data structure comprising:
a compressed instruction stream of instructions executable by a computer system, the instruction stream comprising;
one or more literal instructions;
one or more Echo instructions, wherein the Echo instruction identifies at least one literal instruction appearing before the Echo instruction, and wherein the Echo instruction further identifies the number of instructions appearing before the Echo instruction to be executed; and
encoding to differentiate Echo instructions from literal instructions. - View Dependent Claims (22, 23, 24)
-
25. A method of compressing an instruction stream of literal instructions, the method comprising:
-
sequentially evaluating the instruction stream of instructions;
determining that one or more phrases are repeated; and
replacing at least one instance of the one or more repeated phrases with an Echo instruction to build a compressed instruction stream, the compressed instruction stream being directly interpretable without decompression. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification