×

Switch key instruction in a microprocessor that fetches and decrypts encrypted instructions

  • US 8,700,919 B2
  • Filed: 04/21/2011
  • Issued: 04/15/2014
  • Est. Priority Date: 05/25/2010
  • Status: Active Grant
First Claim
Patent Images

1. A microprocessor that includes a pipeline comprising:

  • an instruction cache;

    a fetch unit, configured to fetch a sequence of blocks of encrypted instructions of an encrypted program from the instruction cache at a corresponding sequence of fetch address values, wherein while fetching each block of the sequence the fetch unit is further configured to generate a decryption key as a function of key values in the fetch unit and a portion of the corresponding fetch address value, wherein for each fetched block of the sequence the fetch unit is further configured to decrypt the encrypted instructions in the fetched block using the generated decryption key;

    an execution unit that follows the fetch unit; and

    a switch key instruction, configured to instruct the microprocessor to update the key values in the fetch unit while the fetch unit is fetching the sequence of blocks from the instruction cache;

    wherein the fetch unit fetches a first encrypted instruction and decrypts it using a first key value;

    the execution unit replaces the first key value with a second key value in response to executing the switch key instruction; and

    the fetch unit fetches a second encrypted instruction and decrypts it using the second key value.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×