Dynamic object-level code translation for improved performance of a computer processor
First Claim
1. A method for protecting from unauthorized use a computer program comprising computer instructions configured to perform operations to achieve an intended purpose when executed by a processor, comprising the steps of:
- determining a translation table constituting a security code, said security code defining operations on the computer instructions in said program at the object level; and
using said security code to encode said computer instructions, such that said program will be unusable for its intended purpose if executed without said encoded computer instructions being decoded;
wherein said encoded computer instructions are decoded by;
providing said translation table to said processor;
translating said encoded computer instructions using said translation table to generate translated computer instructions having a decoded format; and
replacing said encoded computer instructions with said translated instructions;
wherein the encoded instructions are in a format that can be recognized and executed but will not yield the intended results absent translation into the decoded format; and
including in said translation table conditions to be met by said encoded computer instructions for replacement by said translated instructions;
wherein said translation table further comprises selected instruction fields and substitute instruction fields, said conditions require the presence of said selected instruction fields in said encoded computer instructions; and
control logic constructs translated computer instructions having said decoded format by replacing said selected instruction fields with said substitute instruction fields.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method for improving the efficiency of an object-level instruction stream in a computer processor. Translation logic for generating translated instructions from an object-level instruction stream in a RISC-architected computer processor, and an execution unit which executes the translated instructions, are integrated into the processor. The translation logic combines the functions of a plurality of the object-level instructions into a single translated instruction which can be dispatched to a single execution unit as compared with the untranslated instructions, which would otherwise be serially dispatched to separate execution units. Processor throughput is thereby increased since the number of instructions which can be dispatched per cycle is extended.
-
Citations
2 Claims
-
1. A method for protecting from unauthorized use a computer program comprising computer instructions configured to perform operations to achieve an intended purpose when executed by a processor, comprising the steps of:
-
determining a translation table constituting a security code, said security code defining operations on the computer instructions in said program at the object level; and using said security code to encode said computer instructions, such that said program will be unusable for its intended purpose if executed without said encoded computer instructions being decoded; wherein said encoded computer instructions are decoded by; providing said translation table to said processor; translating said encoded computer instructions using said translation table to generate translated computer instructions having a decoded format; and replacing said encoded computer instructions with said translated instructions; wherein the encoded instructions are in a format that can be recognized and executed but will not yield the intended results absent translation into the decoded format; and including in said translation table conditions to be met by said encoded computer instructions for replacement by said translated instructions; wherein said translation table further comprises selected instruction fields and substitute instruction fields, said conditions require the presence of said selected instruction fields in said encoded computer instructions; and
control logic constructs translated computer instructions having said decoded format by replacing said selected instruction fields with said substitute instruction fields. - View Dependent Claims (2)
-
Specification