×

Security of program executables and microprocessors based on compiler-architecture interaction

  • US 9,582,650 B2
  • Filed: 11/21/2012
  • Issued: 02/28/2017
  • Est. Priority Date: 11/17/2003
  • Status: Active Grant
First Claim
Patent Images

1. A processor comprising:

  • memory storing instructions for an instruction stream of a program executable, the instruction stream comprising blocks of instructions, a first block of instructions among the blocks of instructions having been encoded in a first instruction set architecture using a first technique, and a second block of instructions among the blocks of instructions having been encoded in a second instruction set architecture using a second technique, the first instruction set architecture being different from the second instruction set architecture, the instruction stream further comprising a first control instruction and a second control instruction, the first control instruction preceding the first block of instructions in the instruction stream, the first control instruction providing first information about the first technique, and the second control instruction preceding the second block of instructions in the instruction stream, the second control instruction providing second information about the second technique; and

    a decoder to receive the instruction stream and to perform operations comprising;

    receiving the first control instruction in the instruction stream;

    obtaining, from the first control instruction, the first information about the first technique;

    receiving the first block of instructions in the instruction stream;

    using the first information to decode the first block of instructions to produce first decoded instructions;

    outputting, in a pipeline of the processor, the first decoded instructions;

    receiving the second control instruction in the instruction stream;

    obtaining, from the second control instruction, the second information about the second technique;

    receiving the second block of instructions in the instruction stream;

    using the second information to decode the second block of instructions to produce second decoded instructions; and

    outputting, in the pipeline of the processor, the second decoded instructions.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×