Microprocessor that facilitates task switching between encrypted and unencrypted programs
US8683225B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Apr 21, 2011 |
| Grant date | Mar 25, 2014 |
| Priority date | — |
| Expiry date | Jan 20, 2032 |
Classification
- Technology area (CPC H)Electricity
- CPC primaryH04L2209/20
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
A microprocessor includes an architected register having a bit (may be x86 EFLAGS register reserved bit) set by the microprocessor. A fetch unit fetches encrypted instructions from an instruction cache and decrypts them (via XOR) prior to executing them, in response to the microprocessor setting the bit. The microprocessor saves the bit value to a stack in memory and then clears the bit in response to receiving an interrupt. The fetch unit fetches unencrypted instructions from the instruction cache and executes them without decrypting them after the microprocessor clears the bit. The microprocessor restores the saved value from the stack in memory to the bit in the architected register (and in one embodiment, also restores decryption key values) in response to executing a return from interrupt instruction. The fetch unit resumes fetching and decrypting the encrypted instructions in response to determining that the restored value of the bit is set.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.