1.一种处理器,包括:
处理器核,用于执行应用;
密钥属性表(kat)寄存器,用于存储与所述应用相关联的多个密钥标识符(keyid),其中所述多个keyid中的keyid标识加密密钥;
选择电路,耦合至所述kat寄存器,所述选择电路用于基于keyid选择符(ksel)从所述kat寄存器中选择所述keyid,其中所述ksel与要执行对其的访问的存储器块相关联;
高速缓存,耦合至所述处理器核,所述高速缓存用于存储在其上已经执行了访问的所述存储器块的物理地址、数据和所述keyid,其中所述keyid是与所述存储器块相关联的属性;以及
存储器控制器,耦合至所述高速缓存,用于当存储在所述高速缓存中的所述存储器块从所述高速缓存被驱逐到主存储器时基于由所述keyid标识的所述加密密钥来加密所述存储器块的所述数据。
2.如权利要求1所述的处理器,其特征在于,所述处理器核执行各自与一个或多个kat寄存器中的一个相关联的一个或多个逻辑处理器,并且其中所述一个或多个逻辑处理器中的逻辑处理器用于当在与所述kat寄存器相关联的逻辑处理器上激活所述应用后将所述多个keyid加载到所述kat寄存器中。
3.如权利要求1所述的处理器,其特征在于,进一步包括:
加密密钥高速缓存,耦合至所述存储器控制器,所述加密密钥高速缓存用于存储与活跃的keyid相关联的加密密钥,其中所述处理器核用于将与不活跃的keyid相关联的加密密钥从所述加密密钥高速缓存卸载到主存储器的保留区域,并且其中所述加密密钥在被卸载到所述主存储器的保留区域后由所述存储器控制器加密。
4.如权利要求1所述的处理器,其特征在于,所述高速缓存包括:
数据高速缓存,用于存储所述存储器块的所述数据;以及
keyid高速缓存,用于存储所述存储器块的所述keyid。
5.如权利要求1和4中的任一项所述的处理器,其特征在于,进一步包括:
第一存储器设备,可操作地耦合至第一逻辑处理器,其中所述keyid高速缓存驻留在所述第一存储器设备上;以及
第二存储器设备,可操作地耦合至第二逻辑处理器和所述第一存储器设备,其中第二keyid高速缓存驻留在所述第二存储器设备上。
6.如权利要求1所述的处理器,其特征在于,所述ksel嵌入在包括指向所述存储器块的物理地址的指针的线性地址中。
7.如权利要求1所述的处理器,其特征在于,所述ksel作为与存储器的物理页相关联的属性被存储在页表中,其中所述存储器块驻留在所述存储器的物理页内,并且其中所述存储器的物理页的物理地址根据由所述应用提供的线性地址来确定。
8.如权利要求1所述的处理器,其特征在于,所述存储器控制器包括总存储器加密引擎。
9.一种系统,包括:
主存储器;
处理器,耦合至所述主存储器,其中所述处理器包括:
处理器核,用于执行应用;
密钥属性表(kat)寄存器,用于存储与所述应用相关联的多个密钥标识符(keyid),其中所述多个keyid中的keyid标识加密密钥;
选择电路,耦合至所述kat寄存器,所述选择电路用于基于keyid选择符(ksel)从所述kat寄存器中选择所述keyid,其中所述ksel与要执行对其的访问的存储器页相关联;
高速缓存,耦合至所述处理器核,所述高速缓存用于存储在其上已经执行了访问的所述存储器页的物理地址、数据和所述keyid,其中所述keyid是与所述存储器页相关联的属性;以及
存储器控制器,所述存储器控制器用于当所述存储器页从所述系统被驱逐到主存储器时使用由所述keyid标识的所述加密密钥来加密所述存储器页。
10.如权利要求9所述的系统,其特征在于,所述处理器是多核处理器,所述多核处理器进一步包括:
第二处理器核,用于执行第二应用;
第二kat寄存器,用于存储与所述第二应用相关联的第二多个keyid,其中所述第二多个keyid中的第二keyid标识第二加密密钥;
第二选择电路,耦合至所述第二kat寄存器,所述第二选择电路用于基于第二ksel从所述第二kat寄存器中选择所述第二keyid,其中所述第二ksel与要执行对其的访问的第二存储器页相关联;以及
第二高速缓存,耦合至所述第二处理器核,所述第二高速缓存用于存储在其上已经执行了访问的所述第二存储器页的第二物理地址、数据和所述第二keyid,其中所述第二keyid是与所述第二存储器页相关联的属性。
11.如权利要求9和10中的任一项所述的系统,其特征在于,当在所述处理器核上激活所述应用后所述多个keyid被加载到所述kat寄存器中,并且当在所述第二处理器核上激活所述第二应用后所述第二多个keyid被加载到所述第二kat寄存器中。
12.如权利要求9所述的系统,其特征在于,进一步包括模式选择多路复用器,用于选择传统模式或可缩放多密钥加密模式,并且其中所述存储器控制器驻留在所述处理器上。
13.如权利要求9所述的系统,其特征在于,进一步包括:
加密密钥高速缓存,耦合至所述存储器控制器,所述加密密钥高速缓存用于存储与活跃的keyid相关联的加密密钥,其中所述处理器核用于将与不活跃的keyid相关联的加密密钥从所述加密密钥高速缓存卸载到系统存储器的保留区域,并且其中所述加密密钥在被卸载到所述系统存储器的保留区域后由所述存储器控制器加密。
14.如权利要求9和13中的任一项所述的系统,其特征在于,所述加密密钥高速缓存由硬件管理,以将不活跃的加密密钥卸载到所述保留区域并且从系统存储器加载与加载到所述kat寄存器中的keyid相关联的加密密钥。
15.如权利要求9和13中的任一项所述的系统,其特征在于,所述加密密钥高速缓存由软件管理,所述软件基于加密密钥的使用来加载和卸载所述加密密钥。
16.一种操作方法,包括:
用一个或多个密钥标识符(keyid)来加载密钥属性表(kat)寄存器,所述一个或多个keyid标识用于加密由应用使用的存储器的加密密钥的,其中所述一个或多个keyid是能够由系统访问的所有keyid的子集;
由处理设备请求要由所述应用使用的存储器块;
从所述kat寄存器中选择与存储器请求相关联的keyid,其中使用选择电路和密钥标识符选择符(ksel)从所述kat寄存器中选择所述keyid;以及
将所述keyid存储在keyid高速缓存(kic)中,所述kic用于存储用于由所述系统高速缓存的每个存储器块的keyid。
17.如权利要求16所述的方法,其特征在于,进一步包括:
基于所述存储器块的物理地址确定所述存储器块由所述系统高速缓存;
确定由所述系统高速缓存的所述存储器块不与从所述kat寄存器中选择的所述keyid相关联;
从所述高速缓存驱逐所述存储器块;以及
从主存储器检取所述存储器块,对所述存储器块进行高速缓存,并且将从所述kat寄存器中选择的所述keyid存储在所述kic中,存储为与所述存储器块相关联。
18.如权利要求16所述的方法,其特征在于,进一步包括:
基于所述存储器块的物理地址确定所述存储器块由所述系统高速缓存;
确定由所述系统高速缓存的所述存储器块与从所述kat寄存器中选择的所述keyid相关联;以及
通过检取由所述系统高速缓存的所述存储器块来完成所述存储器请求。
19.如权利要求16所述的方法,其特征在于,进一步包括:
将与不活跃的keyid相关联的加密密钥从加密密钥高速缓存卸载到主存储器的保留区域;以及
在将所述加密密钥卸载到所述主存储器的保留区域后对所述加密密钥进行加密。
20.如权利要求16所述的方法,其特征在于,所述应用是虚拟机。
21.一种设备,包括:用于执行如权利要求16-20中的任一项所述的方法的装置。
22.一种机器可读介质,包括代码,所述代码当被执行时使机器执行如权利要求16-20中的任一项所述的方法。