用于掩盖处理器的功耗的装置和方法与流程

文档序号:16808095发布日期:2019-02-10 13:16阅读:212来源:国知局
用于掩盖处理器的功耗的装置和方法与流程

现代微处理器可以利用各种逻辑电路系统来执行各种逻辑操作。这些逻辑操作可以包括由处理器的逻辑电路系统的功能块执行的各种指令的执行。由处理器执行的指令可以是各种类型,诸如数据处理指令、计算指令、存储指令,以及其它信息指令。操作和相关联指令可以顺序地或并行地执行和/或可以作为“流水线”的一部分来执行,其中多个指令同时在处理器的多个级处被执行。

由处理器执行的操作和指令可能易受监视以用于逆向工程目的。例如,处理器会在执行逻辑操作和相关联指令期间消耗一定量的功率。监视处理器的变化功耗可以使得能够识别正在执行的逻辑操作,并且可以使得能够对与所执行的指令相关联的代码进行逆向工程。

当操作和指令涉及用于保护数据和其它信息的密码算法的步骤时,该问题变得更加重要。例如,由处理器执行的逻辑操作和相关联指令可能涉及与加密标准(诸如,高级加密标准(aes)或数据加密标准(des)或rivest,shamir,aldeman(rsa)密码系统)相关联的密码算法的步骤。分析处理器的与密码操作/指令相关联的功耗可以揭示各种密码步骤(例如,涉及密码“密钥”的步骤),这可能导致信息安全性的损害。

一种这样的分析可以包括差分功率分析(dpa)的功率监视技术,其使得能够识别与各种加密标准相关联的密码算法的“密钥”。为了说明,作为对处理器的dpa攻击的一部分,可以估计不同指令(例如,密码指令)的功耗并且将其与处理器的功耗的监视相结合。dpa攻击可以揭示由处理器的功能块执行的操作/指令(例如,密码步骤和/或密钥)。

在传统的密码设备中,dpa攻击的可能性已驱使设计者使用各种技术来隐藏每个指令和/或所选择的密码算法的(一个或多个)轮次所需的功耗。迄今为止,还没有发现能够在处理器的操作/指令正被执行时准确地掩盖与这些操作/指令相关联的功耗的技术。这导致对准确且及时地将算法的每个阶段所涉及的操作对确定的攻击者进行隐藏的需要。

将参考如附图中所示的其实施例,通过示例的方式进一步描述(一个或多个)本技术。但是,应该理解的是,附图仅图示本文描述的各种实现,并不意味着限制本文描述的各种技术、方法、系统或装置的范围。

图1是示意性地图示根据本文描述的实施例的用于掩盖处理器的功耗的装置的电路图;

图2是示意性地图示根据本文描述的另一个实施例的用于掩盖处理器的功耗的装置的电路图;

图3是示意性地图示根据本文描述的又一个实施例的用于掩盖处理器的功耗的装置的电路图;

图4是示意性地图示根据本文描述的又一个实施例的用于掩盖处理器的功耗的装置的电路图;

图5是示意性地图示根据本文描述的又一个实施例的用于掩盖处理器的功耗的装置的电路图;

图6是示意性地图示根据本文描述的又一个实施例的用于掩盖处理器的功耗的装置的电路图;

图7是示意性地图示根据本文描述的又一个实施例的用于掩盖处理器的功耗的装置的电路图;

图8是图示用于掩盖与处理器的逻辑电路系统相关联的功耗的方法的实施例的流程图;

图9是图示用于掩盖与处理器的逻辑电路系统相关联的功耗的方法的另一个实施例的流程图;

图10是示意性地图示根据本文描述的本技术、装置和方法的系统的框图;以及

图11图示了根据本文描述的本技术、装置、系统和方法的实现的计算机系统的框图。

在参考附图讨论实施例之前,提供各种实施例的简要描述。在一个实施例中,本文描述了用于掩盖与处理器的逻辑电路系统的一个或多个操作相关联的第一功耗的装置。该装置包括平衡电路系统,该平衡电路系统被配置为提供第二功耗以直接平衡与逻辑电路系统的一个或多个操作相关联的第一功耗。第二功耗与和逻辑电路系统的一个或多个操作相关联的第一功耗相反地变化。该装置还包括首部电路系统,该首部电路系统被配置为使公共节点能够与逻辑电路系统的一个或多个操作对应地改变电压。平衡电路系统和首部电路系统每个都在公共节点处耦接到逻辑电路系统。

在另一个实施例中,本文描述了用于掩盖与处理器的逻辑电路系统的一个或多个操作相关联的第一功耗的装置。该装置包括平衡电路系统,该平衡电路系统被配置为提供第二功耗以预测性地平衡与逻辑电路系统的一个或多个操作相关联的第一功耗。第二功耗与和逻辑电路系统的一个或多个操作相关联的第一功耗相反地变化。该装置还包括首部电路系统,该首部电路系统被配置为使得能够实现逻辑电路系统的一个或多个操作。首部电路系统和平衡电路系统被配置为接收选择信号。

在另一个实施例中,提供了一种用于掩盖与逻辑电路系统的一个或多个操作相关联的第一功耗的系统。该系统包括处理器。该处理器包括逻辑电路系统和平衡电路系统,该平衡电路系统被配置为提供第二功耗以直接平衡与逻辑电路系统的一个或多个操作相关联的第一功耗。第二功耗与和逻辑电路系统的一个或多个操作相关联的第一功耗相反地变化。该处理器还包括首部电路系统,该首部电路系统被配置为使公共节点能够与逻辑电路系统的一个或多个操作对应地改变电压。平衡电路系统和首部电路系统每个都在公共节点处耦接到逻辑电路系统。该系统还包括存储设备,用于存储与逻辑电路系统的一个或多个操作相关联的一个或多个指令。

在另一个实施例中,提供了一种用于掩盖与逻辑电路系统的一个或多个操作相关联的第一功耗的系统。该系统包括处理器。该处理器包括逻辑电路系统和平衡电路系统,该平衡电路系统被配置为提供第二功耗以预测性地平衡与逻辑电路系统的一个或多个操作相关联的第一功耗。第二功耗与和逻辑电路系统的一个或多个操作相关联的第一功耗相反地变化。该处理器还包括首部电路系统,该首部电路系统被配置为使得能够实现逻辑电路系统的一个或多个操作。首部电路系统和平衡电路系统被配置为接收选择信号。该系统还包括存储设备,用于存储与逻辑电路系统的一个或多个操作相关联的一个或多个指令。

在另一个实施例中,提供了一种用于掩盖与处理器的逻辑电路系统的一个或多个操作相关联的第一功耗的方法。该方法包括选择与处理器相关联的首部电路系统和平衡电路系统。首部电路系统使得能够实现逻辑电路系统的一个或多个操作。该方法还包括生成对应于与逻辑电路系统的一个或多个操作相关联的第一功耗的第一电流。该方法还包括生成对应于第二功耗的第二电流,以直接平衡与逻辑电路系统的一个或多个操作相关联的第一功耗。第二功耗与和逻辑电路系统的一个或多个操作相关联的第一功耗相反地变化。第一电流与公共节点相关联,在该公共节点处,平衡电路系统和首部电路系统两者都耦接到逻辑电路系统。

在另一个实施例中,提供了一种用于掩盖与处理器的逻辑电路系统的一个或多个操作相关联的第一功耗的方法。该方法包括选择与处理器相关联的首部电路系统和平衡电路系统。首部电路系统使得能够实现逻辑电路系统的一个或多个操作。该方法还包括生成对应于与逻辑电路系统的一个或多个操作相关联的第一功耗的第一电流。该方法还包括生成对应于第二功耗的第二电流,该第二功耗预测性地平衡与逻辑电路系统的一个或多个操作相关联的第一功耗。第二功耗与和逻辑电路系统的一个或多个操作相关联的第一功耗相反地变化。

处理器可以包括各种逻辑组件(例如,功能块),逻辑组件可以各自通过执行相关联的指令来执行特定逻辑操作。每个操作和相关联指令的执行可能具有对处理器的总功耗有贡献的对应的功耗。因此,随着执行更多的逻辑操作,可能发生处理器的功耗的对应增加。监视和分析处理器的功耗(例如,dpa技术)可能有害地揭示所执行的逻辑操作、执行的指令代码或两者。本文描述的装置和方法可以与处理器的逻辑组件集成,以提供对与由处理器的逻辑组件执行的操作/指令相关联的功耗的准确掩盖。

这种掩盖技术可以改善由处理器处理的数据的安全性和完整性。此外,提供控制功耗掩盖的定时和激活的技术将是有利的。当对数据执行安全或非安全操作/指令时,这些技术可以改善处理器的性能、可靠性和效率。

例如,在非限制性实施例中,一种装置可以包括被配置为连接到处理器的逻辑电路系统的首部电路系统和平衡电路系统。当逻辑电路系统执行逻辑操作时,可能发生逻辑电路系统的功耗的对应增加或减少。平衡电路系统可以通过提供与逻辑电路系统的功耗相反变化的电流和对应的功耗来直接平衡逻辑电路系统的功耗。以这种方式,该装置可以准确地掩盖处理器的逻辑电路系统的功耗。

在另一个非限制性实施例中,一种装置可以包括被配置为接收选择信号的首部电路系统和平衡电路系统。当逻辑电路系统执行逻辑操作时,可能发生逻辑电路系统的功耗的对应增加或减少。平衡电路系统可以通过提供电流和与逻辑电路系统的功耗相反变化的对应的功耗来预测性地平衡逻辑电路系统的功耗。在接收到选择信号时,可以控制平衡与逻辑电路系统相关联的功耗的定时。由此,平衡电路系统可以提供可以更好地与逻辑电路系统的功耗相一致的平衡功耗。以这种方式,该装置可以及时地掩盖与处理器的逻辑电路系统相关联的功耗。

在一个实施例中,提供了一种用于掩盖与处理器的逻辑电路系统相关联的功耗的装置,以便使得能够改进由处理器处理的数据的安全性和完整性。在另一个实施例中,当对数据执行安全或非安全操作/指令时,该装置还可以提供处理器的改进的性能、可靠性和效率。

本文描述的装置和方法可以应用于实现各种类型的器件(诸如但不限于,平面器件、多栅极器件(例如,finfet器件)或两者的组合)的工艺技术。本文描述的装置和方法可以是独立于工艺的,使得它们可以应用于各种工艺技术。例如,该装置和方法可以应用于当前的工艺技术和具有减少的工艺几何形状和/或利用各种光刻技术(例如,双图案化技术(dpt))的任何未来的工艺技术。

本文描述的装置和方法可以与工艺技术的一个或多个标准单元相关联,以便使得能够自动设计具有功耗掩盖能力的集成电路(ic)。为了说明,标准设计流程可以提供网表(例如,示意级别和/或布局级别的网表),其包括用于掩盖与ic设计的逻辑模块相关联的功耗的装置。替代地或附加地,本文描述的装置和方法可以与用于对标准设计流程进行改变的一个或多个工程变更单(eco)步骤相关联。例如,可以利用eco步骤来修改标准设计流程以提供修改后的网表,该修改后的网表包括用于掩盖与ic设计的逻辑模块相关联的功耗的装置。

现在将参考图来描述具体实施例。

参考图1,示出了示意性地图示用于掩盖与处理器的逻辑电路系统相关联的功耗的装置的示例性设计的电路图并将其一般地指定为100。装置100包括连接到第一参考电压源(例如,vdd)的首部电路系统101和可与处理器相关联的逻辑电路系统102。装置100还包括平衡电路系统103,其连接到第一参考电压源(例如,vdd)和第二参考电压源(例如,地或vss)。平衡电路系统103和首部电路系统101可以各自在公共节点108(例如,虚拟vdd(vvdd)节点)处连接到逻辑电路系统102。

首部电路系统101可以包括第一p-沟道金属氧化物半导体(pmos)晶体管107(例如,晶体管m1)。第一pmos晶体管107可以连接到第一参考电压源,并且可以经由公共节点108连接到逻辑电路系统102。第一pmos晶体管107可以具有被配置为从控制电路系统(未示出)接收选择条(selb)信号的栅极端子118。selb信号可以是选择(sel)信号的反信号。首部电路系统101可以被配置为使公共节点108能够具有可以对应于由处理器的逻辑电路系统102执行的一个或多个逻辑操作而变化的电压。例如,第一pmos晶体管107可以在其栅极端子118处接收selb信号,该selb信号可以激活第一pmos晶体管107以“接通”并使得能够实现在公共节点108处的电压。第一pmos晶体管107的激活还可以使逻辑电路系统102能够执行一个或多个逻辑操作。第一pmos晶体管107可以使得能够生成第一电流110(例如,电流i1),第一电流110可以与由逻辑电路系统102执行的一个或多个逻辑操作对应地变化。第一电流110可以对应于与由逻辑电路系统102执行的一个或多个逻辑操作相关联的功耗。

平衡电路系统103可以包括第二pmos晶体管104(例如,晶体管m3)、第三pmos晶体管105(例如,晶体管m4)和第四pmos晶体管106(例如,晶体管m5)。平衡电路系统103可以被配置为提供第二功耗以直接平衡与由逻辑电路系统102执行的一个或多个逻辑操作相关联的功耗。第二pmos晶体管104可以连接到第一参考电压源(例如,vdd)并且可以经由第一节点109(例如,节点vfb)连接到第三pmos晶体管105。第二pmos晶体管104可以具有栅极端子115,该栅极端子115经由公共节点108(例如,节点vvdd)连接到逻辑电路系统102。

第三pmos晶体管105可以连接在第一节点和第二参考电压源(例如,地或vss)之间,并且可以具有栅极端子116,栅极端子116被配置为从控制电路系统(未示出)接收selb信号。在具体实施例中,平衡电路系统103的第三pmos晶体管105和首部电路系统101的第一pmos晶体管107都可以从控制电路系统接收selb信号。以这种方式,平衡电路系统103和首部电路系统101可以由公共选择信号控制。

在替代实施例中,第三pmos晶体管105可以接收与selb信号不同的第二selb信号(selb2)。selb2信号可以与可以独立于首部电路系统101的控制的第三pmos晶体管105的定时控制相关联。以这种方式,首部电路系统可以由第一选择信号(例如,selb信号)控制,并且平衡电路系统由与第一选择信号不同的第二选择信号(例如,selb2信号)控制。第二pmos晶体管104和第三pmos晶体管105可以与作为第二电流111(例如,电流i2)的一部分的第三电流112(例如,电流i3)相关联。第二pmos晶体管104和第三pmos晶体管105可以独自地或组合地使得能够调节第一节点109处的电压,以便增加用于直接平衡与由逻辑电路系统102执行的一个或多个逻辑操作相关联的功耗的第二功耗的准确度。

第四pmos晶体管106可以连接到第一参考电压源(例如,vdd),并且可以连接到第二参考电压源(例如,地或vss)。第四pmos晶体管106可以具有连接到第一节点109(vfb)并且被配置为接收第一节点109处的电压的栅极端子117。第四pmos晶体管106可以被配置为消耗(drain)第四电流114(例如,电流i4)并且表现出对应的第二功耗,该第二功耗可以用于平衡与由逻辑电路系统102执行的一个或多个逻辑操作相关联的功耗。

装置100可以包括具有不同阈值电压值的晶体管。例如,首部电路系统101可以包括第一pmos晶体管107,该第一pmos晶体管107被配置为具有大于平衡电路系统103的至少一个或多个pmos晶体管的阈值电压的阈值电压。作为另一个示例,平衡电路系统103可以包括第三pmos晶体管105,该第三pmos晶体管105被配置为具有大于第二pmos晶体管104的阈值电压或大于第四pmos晶体管106的阈值电压或大于两者的阈值电压。在具体实施例中,装置100可以包括具有相同阈值电压值的晶体管。例如,第一pmos晶体管107可以被配置为具有与第三pmos晶体管105的阈值电压相同的阈值电压。

为了说明,平衡电路系统101的第一pmos晶体管107和平衡电路系统103的第三pmos晶体管105可以被配置为具有相同的阈值电压,诸如与工艺技术相关联的“常规”阈值电压。例如,常规阈值电压可以是为工艺技术指定的平均或正常阈值电压。平衡电路系统103的第二pmos晶体管104和第四pmos晶体管106可以被配置为具有小于与工艺技术相关联的“常规”阈值电压的“低”阈值电压。以这种方式,第三pmos晶体管105可以被配置为其具有的阈值电压大于第二pmos晶体管104的阈值电压并且大于第四pmos晶体管106的阈值电压。

装置100可以包括被配置为具有不同尺寸的晶体管。晶体管“尺寸”可以指晶体管的若干维度之一:w(宽度)或l(长度)。在线性或饱和模式下w/l比率与从漏极流到源极的电流成正比。漏极到源极电流是活动功率或切换功率的主要组成部分。在本应用中,在讨论尺寸比率的大多数情况下,所使用的维度是宽度w。但是,在本应用中有几个模式提到“低功率模式,保持模式”。在讨论这些低功率模式或保持模式时,它是泄漏被抑制的情况。在抑制泄漏增加时,沟道长度可以是除阈值电压之外另一个对减少泄漏有帮助的因素。因此,在讨论泄漏抑制的情况下,w和l尺寸两者都包括在讨论中。

装置100的晶体管可以被配置为具有不同尺寸的宽度,从而产生不同的宽度比。例如,平衡电路系统103可以具有不同尺寸的晶体管,使得第二pmos晶体管104的尺寸和第三pmos晶体管105的尺寸可以具有3比1的比率。为了说明,第二pmos晶体管104的尺寸可以是第三pmos晶体管105的尺寸的三倍。这样的尺寸确定可以使第一节点109(vfb)能够具有大于第一参考电压源的一半(例如,大于vdd/2)的电压值。在另一个示例中,平衡电路系统103的第四pmos晶体管106的尺寸和首部电路系统101的第一pmos晶体管107的尺寸可以具有1.5比1的比率。在具体实施例中,平衡电路系统103的第二pmos晶体管104和第四pmos晶体管106可以被确定尺寸以提供对与逻辑电路系统102的一个或多个操作相关联的功耗(例如,第一功耗)的准确平衡。

在另一个实施例中,平衡电路系统103和首部电路系统101的晶体管的尺寸确定可以基于由逻辑电路系统102执行的逻辑操作。例如,平衡电路系统103的第二pmos晶体管104和第四pmos晶体管106可以基于与逻辑电路系统103相关联的预测功耗值来进行尺寸确定。这样的尺寸确定可以使得能够生成电流(例如,第四电流114)和可以用于平衡由逻辑电路系统102执行的一个或多个逻辑操作的功耗的对应的第二功耗。

在具体实施例中,装置100的各种尺寸的晶体管(例如,第二pmos晶体管104和第四pmos晶体管106)可以以定制方式确定尺寸。例如,在非限制性实施例中,第四pmos晶体管106可以被确定尺寸以提供与第一电流110(例如,i1)相反地变化的平衡电流(例如,第四电流114)。在第四pmos晶体管106已经被确定尺寸之后,可以根据第四pmos晶体管106的尺寸确定来调节第二pmos晶体管104的尺寸和第三pmos晶体管105的尺寸,以提供大于或等于二比一的比率的尺寸比率(例如,3比1的比率)。在另一个实施例中,装置100的各种尺寸的晶体管(例如,第二pmos晶体管104和第四pmos晶体管106)可以是工艺技术的标准单元库的一部分,以使得能够针对平衡电路系统103的自动配置进行自动的晶体管尺寸确定。

可以通过第二pmos晶体管104和第三pmos晶体管105的尺寸确定来生成和/或调节平衡电流(例如,第四电流114)。为了说明,第二pmos晶体管104和第三pmos晶体管105可以被配置为有效地形成分压器。第二pmos晶体管104和第三pmos晶体管105可以被确定尺寸(例如,确定尺寸为3比1),以使得能够调制第一节点109处的电压(vfb)。第一节点109的这种调制还可以调制第四pmos晶体管106以生成和/或调节平衡电流(例如,第四电流114(i4))。在另一个实施例中,可以通过第四pmos晶体管106的尺寸确定来生成和/或调节平衡电流,以便生成和/或调节平衡电流为与第一电流110(例如,i1)相反地变化。平衡电路系统103的晶体管的这种尺寸确定可以使得能够生成电流(例如,第四电流114)和可以用于平衡逻辑电路系统102执行的一个或多个逻辑操作的功耗的对应的第二功耗。

逻辑电路系统102可以与执行一个或多个逻辑操作的一个或多个功能块相关联。由逻辑电路系统102执行的逻辑操作可以包括但不限于任何数量的处理器操作,诸如数据处理操作、算术操作、逻辑操作等。在具体实施例中,逻辑操作可以对应于由处理器执行的一个或多个流水线步骤。例如,逻辑操作可以涉及各种流水线步骤,诸如指令获取步骤、指令解码和寄存器步骤、指令执行步骤、存储器访问步骤和寄存器写入步骤。

在另一个实施例中,逻辑操作可以对应于密码算法的一个或多个阶段。例如,逻辑操作可以涉及“带密钥的”密码步骤,诸如但不限于,密钥扩展步骤、组合步骤、替换步骤、转置步骤、混合步骤等。逻辑操作可以对应于与一个或多个加密标准相关联的密码算法。例如,逻辑操作可以涉及与高级加密标准(aes)或数据加密标准(des)或rivest,shamir,aldeman(rsa)密码系统相关的指令和步骤。

平衡电路系统103可以使得能够生成可以包括第三电流112(例如,电流i3)和第四电流114(例如,电流i4)的第二电流111(例如,电流i2)。在具体实施例中,第四电流114可以具有显著大于第三电流112的值的值。第二电流111(例如,i2)和第一电流110(例如,i1)可以具有以下关系:

i2∝1/i1

itotal≈i1+i2,,其中itotal是装置100的最大电流。

平衡电路系统103可以使得能够生成电流和与由逻辑电路系统102执行的一个或多个逻辑操作相关联的功耗(例如,第一功耗)相反变化的对应的功耗(例如,第二功耗)。例如,给定为装置100设计的最大电流,逻辑电路系统102可以利用可以消耗例如最大电流的三分之二并且表现出对应的最大功耗的三分之二功耗的一个或多个功能块来执行一个或多个逻辑操作(和/或相关联指令)。在这种情况下,平衡电路系统103可以使得能够生成为最大电流的三分之一的电流,并且平衡电路系统103可以表现出对应的最大功耗的三分之一功耗。以这种方式,平衡电路系统103可以提供与由逻辑电路系统102执行的一个或多个逻辑操作相关联的功耗相反变化的平衡功耗。

以类似的方式,如果逻辑电路系统102利用一个或多个功能块来执行一个或多个逻辑操作(和/或相关联指令)以消耗例如最大电流的三分之一并且表现出对应的三分之一的可能的功耗。在这种情况下,平衡电路系统103可以使得能够生成为最大电流的三分之二的电流,并且平衡电路系统103可以表现出对应的三分之二的可能的功耗。以这种方式,平衡电路系统103可以提供与和逻辑电路系统102执行的一个或多个逻辑操作相关联的功耗相反变化的平衡功耗。应该理解的是,以本文描述的方式,逻辑电路系统表现出的其它功耗值也可以由平衡电路系统103进行平衡。

在操作期间,装置100可以提供第二功耗,该第二功耗可以平衡与由处理器的逻辑电路系统执行的操作/指令相关联的功耗。例如,平衡电路系统103和首部电路系统101各自可以接收selb信号。selb信号可以具有逻辑值0和对应的“低”电压值(例如,对应于地、vss或工艺技术的低电压源的电压值)。在接收到selb信号时,首部电路系统101的第一pmos晶体管107和平衡电路系统103的第三pmos晶体管105可以基本上“接通”。

当第一pmos晶体管107接通时,公共节点108可以表现出对应于逻辑电路系统102的一个或多个功能块的操作的电压。此外,第一电流110可以表现出也对应于逻辑电路系统102的一个或多个功能块的操作的电流。例如,在第一种情况下,对于给定的实例,当逻辑电路系统102操作附加功能块和/或执行附加操作/指令时,逻辑电路系统102可以消耗更多电流,使得第一电流110可以增加。逻辑电路系统102可以表现出对应的功耗增加,并且公共节点108(例如,节点vvdd)可以表现出对应的电压降低。类似地,在第二种情况下,当逻辑电路系统102操作较少的功能块和/或执行较少的操作/指令时,逻辑电路系统102可以消耗较少的电流,使得第一电流110可以减小。逻辑电路系统102可以表现出对应的功耗降低,并且公共节点108可以表现出对应的电压增加。

在其中第一电流110可以增加并且逻辑电路系统102表现出对应的功耗增加的第一种情况期间,公共节点108处的降低的电压可以使得平衡电路系统103的第二pmos晶体管104能够变得更强烈地“接通”。当第二pmos晶体管104接通时,第一节点109(例如,节点vfb)可以表现出对应的电压增加,这可以使得第四pmos晶体管106能够变得更强烈地“关断”。这可以导致第四电流114对应地减小以便用于平衡逻辑电路系统102的功耗的第二功耗对应减小。以这种方式,当逻辑电路系统102增加操作/指令,其中功耗对应地增加时,平衡电路系统103可以提供电流(例如,电流114)和与逻辑电路系统102的功耗相反变化的对应的第二功耗。

类似地,在其中第一电流110可以减小并且逻辑电路系统102表现出对应的功耗降低的第二种情况期间,公共节点108处的增加的电压可以使得平衡电路系统103的第二pmos晶体管104能够变得更强烈地“关断”。当第二pmos晶体管104关断时,第一节点109(例如,节点vfb)可以表现出对应的电压降低(例如,电压可以“浮动”到地),这可以使得第四pmos晶体管106能够变得更强烈地“接通”。这可以导致第四电流114对应地增加以便用于平衡逻辑电路系统102的功耗的第二功耗的对应增加。以这种方式,当逻辑电路系统减少操作/指令,其中功耗对应地降低时,平衡电路系统103可以提供电流(例如,电流114)和与逻辑电路系统的功耗相反变化的对应的第二功耗。

应该理解的是,经由公共节点108将平衡电路系统103连接到逻辑电路系统102可以调制第二pmos晶体管104的活动性(activity)。第二pmos晶体管104的这种调制的活动性可以提供对第一节点109处的电压(vfb)的调节,以使得能够调制第四pmos晶体管106和由平衡电路系统103生成的相关联的第二功耗。以这种方式,平衡电路系统103与逻辑电路系统102的耦接可以使平衡电路系统103能够提供具有增加的用于直接平衡与逻辑电路系统102的一个或多个操作相关联的功耗的准确度的第二功耗。

因此,当逻辑电路系统102的逻辑操作和功耗增加接近装置100的最大功耗时,平衡电路系统103可以提供将起作用以掩盖逻辑电路系统及其相关联处理器的总功耗的第二功耗值。出于说明的目的,在非限制性示例中,逻辑电路系统102可以执行与为装置100可用的最大功耗的四分之一的功耗对应的逻辑操作。以本文描述的方式,平衡电路系统103可以(经由相关联的电流消耗)提供为装置100可用的最大功耗的四分之三的第二功耗。

作为另一个说明,如果逻辑电路系统102的功耗是装置100可用的最大功耗的一半,则平衡电路系统103可以提供为装置100可用的最大功耗的一半的第二功耗。类似地,如果逻辑电路系统102的功耗是装置100可用的最大功耗的四分之三,则平衡电路系统103可以提供为装置100可用的最大功耗的四分之一的第二功耗。以这种方式,平衡电路系统103可以提供与和处理器的逻辑电路系统102执行的逻辑操作相关联的功耗相反地变化的第二功耗。应该理解的是,平衡电路系统103不限于本文描述的操作示例,而是还可以提供在装置100可用的最大功耗范围内的功耗的其它相反值。

因此,应该理解的是,虽然逻辑电路系统102的功耗可以具有特定值(例如,最大功耗的四分之一),但与处理器相关联的总功耗可具有由逻辑电路系统102的功耗和由平衡电路系统103提供的第二功耗的组合产生的不同的值(例如,最大功耗)。以这种方式,平衡电路系统103可以提供第二功耗值,该第二功耗值将起作用以掩盖逻辑电路系统及其相关联处理器的总功耗。

装置100及其掩盖操作可以与其它处理器操作模式相关联,诸如但不限于安全模式、低功率模式或处理器的其它操作模式。与处理器的逻辑电路系统102相关联的功耗的掩盖可以提供对处理的数据、操作和指令的安全性和完整性的改进。例如,在其中处理器及其执行的操作/指令受到非期望的监控/分析的情况下,诸如在dpa攻击期间,装置100经由平衡电路系统103可以掩盖处理器的功耗(例如,装置的dpa模式)。这种掩盖可以抵抗对处理器、其相关联的操作/指令以及对应功耗的非期望的监视/分析,以提供由处理器的组件处理的数据和操作(例如,密码数据和/或操作)的改进的安全性。

参考图2,示出了示意性地图示用于掩盖与处理器的逻辑电路系统相关联的功耗的装置的另一种设计的电路图并将其一般地指定为200。装置200可以基本上类似于图1的装置100,但是可以包括和/或省略其它组件。例如,与图1的装置100对照,装置200可以具有包括第一n-沟道金属氧化物半导体(nmos)晶体管219(例如,晶体管m6)的平衡电路系统103。第一nmos晶体管219可以连接到平衡电路系统103的第四pmos晶体管106(例如,晶体管m5),并且可以连接到第二参考电压源(例如,地或vss)。第一nmos晶体管219可以具有栅极端子220,该栅极端子220被配置为从控制电路系统(未示出)接收选择(sel)信号。

装置200可以以与图1的装置100的方式基本上类似的方式操作,但是可以包括和/或省略其它操作。例如,装置200可以被配置为在与处理器相关联的低功率模式下操作。为了说明具体实施例,在操作期间,首部电路系统101的第一pmos晶体管107的栅极端子118和平衡电路系统103的第三pmos晶体管105的栅极端子116可以接收来自控制电路系统(未示出)的选择条(selb)信号。在另一个实施例中,第三pmos晶体管105可以由与selb信号不同的第二选择条(selb2)信号控制。selb2信号可以与可以独立于首部电路系统101的控制的第三pmos晶体管105的定时控制相关联。

selb信号可以是选择(sel)信号的反信号。selb信号可以向晶体管105和107提供逻辑值1(例如,对应的“高”电压值,诸如vdd电压、大于阈值电压的电压等)。第一nmos晶体管219可以具有被配置为从控制电路系统(未示出)接收sel信号的栅极端子220。sel信号可以向第一nmos晶体管219的栅极端子220提供对应于“低”电压值(例如,对应于地、vss或工艺技术的低电压源的电压值)的逻辑值0。

因此,第一pmos晶体管107、第三pmos晶体管105和第一nmos晶体管219可以各自基本上“关断”。在这种情况下,使第一nmos晶体管219处于“关断”状态可以防止第四pmos晶体管106将电流泄漏到接地端子。以这种方式,平衡电路系统103消耗的功率较少,这可以对应于在低功率模式下操作的装置200。低功率模式可以对应于与处理器相关联的睡眠模式。在其中第一pmos晶体管107和第三pmos晶体管105通过其接收的提供逻辑值0的selb信号而基本上“接通”的情况下,第一nmos晶体管219也可以通过其接收的提供逻辑值1的sel信号而基本上“接通”。以这种方式,装置200可以提供对与逻辑电路系统102相关联的功耗的掩盖,同时还提供用于与处理器相关联的低功率模式的防止电流泄漏的部件。低功率模式可以与其中不执行逻辑操作的实例(例如,处理器的睡眠模式)相关联。在另一个实施例中,低功率模式可以与其中执行逻辑操作并且不关心对处理器的非期望的监视/分析的实例(例如,非dpa操作模式)相关联。在这种情况下(未示出),第一nmos晶体管219和第三pmos晶体管105可以接收独立于由第一pmos晶体管107接收的选择条(selb)信号的选择信号。为了说明,由第一nmos晶体管219接收的选择(sel)信号和由第三pmos晶体管105接收的第二选择条(selb2)信号都可以独立于由第一pmos晶体管107接收的选择条(selb)信号。

参考图3,示出了示意性地图示用于掩盖与处理器的逻辑电路系统相关联的功耗的装置的又一个设计的电路图并将其一般地指定为300。装置300可以基本上类似于图1的装置100,但是可以包括和/或省略其它组件。例如,与图1的装置100对照,装置300可以具有包括多个pmos晶体管330的平衡电路系统103。多个pmos晶体管330可以包括pmos晶体管305(例如,晶体管m4)和被描绘为305_n(例如,第n晶体管m4_n的“n”个其它pmos晶体管),其中“n”是正整数。

多个pmos晶体管330可以并联连接到第一节点109和第二参考电压源(例如,地或vss)。多个pmos晶体管330中的每个pmos晶体管(例如,晶体管305直到并包括第n晶体管305_n)可以具有与多个栅极端子(例如,栅极端子310直到并包括310_n)相关联的栅极端子。多个pmos晶体管330可以由多个第二选择信号(例如,信号selb2直到并包括selb2_n)控制。例如,多个pmos晶体管330中的每个pmos晶体管(例如,晶体管305直到并包括第n晶体管305_n)可以被配置为在多个栅极端子(例如,栅极端子310直到并包括310_n)中的其对应的栅极端子处从控制电路系统(未示出)接收与多个第二选择信号(例如,信号selb2直到并包括selb2_n)相关联的第二选择条信号(例如,selb2信号)。在具体实施例中,多个第二选择信号可以与多个pmos晶体管330的定时控制相关联。该定时控制可以独立于首部电路系统101的控制。在具体实施例中,与装置300相关联的控制电路系统可以与其它逻辑电路系统(例如,多路复用器和/或多路分解器电路系统)相关联。

装置300可以以与图1的装置100的方式基本上类似的方式操作,但是可以包括和/或省略其它操作。例如,装置300可以被配置为在与处理器相关联的调制模式下操作。在具体实施例中,在操作期间,在多个pmos晶体管330内的活动的pmos晶体管的数量可以取决于激活的selb2信号的数量(例如,第二选择信号selb2直到并包括selb2_n)。selb2信号的激活可以基于要由逻辑电路系统102执行的操作的数量。在另一个实施例中,selb2信号的激活和多个pmos晶体管330中的对应的活动pmos晶体管的数量可以基于要由逻辑电路系统102执行的一个或多个操作使用的电流(或功耗)。因此,多个pmos晶体管330内的各个pmos晶体管的激活(或停用)可以更准确地调制平衡电路系统103,以便供给平衡与由逻辑电路系统102执行的操作/指令相关联的功耗的第二功耗。以这种方式,通过由控制电路系统发送的多个第二选择信号控制多个pmos晶体管330可以使得能够提高平衡电路系统103的平衡与逻辑电路系统102的一个或多个操作相关联的第一功耗的准确度。当与作为处理器的“流水线”处理的一部分的操作/指令相关联时,这种调制可以具有显著的益处。

作为说明性示例,多个pmos晶体管330中的一个或多个pmos晶体管的激活可以消耗较多电流(例如,第三电流112(i3))并且可以调制第一节点109处的电压(vfb)使得第一节点109的电压降低。类似地,多个pmos晶体管330中的一个或多个pmos晶体管的停用可以消耗较少的电流(例如,第三电流112(i3))并且可以增加第一节点109处的电压(vfb)。以这种方式,多个pmos晶体管330的激活(或停用)的晶体管可以更准确地调制第四pmos晶体管106(例如,m5)以使得能够实现通过第四pmos晶体管106(例如,m5)的较多的电流(例如,更多活动m4晶体管的情况)或较少的电流(例如,更少活动m4晶体管的情况)。这种调制可以通过平衡电路系统103提供更准确的第二功耗。因此,为了平衡目的,平衡电路系统103可以提供与和由逻辑电路系统102执行的逻辑操作相关联的功耗相反变化的第二功耗。

参考图4,示出了示意性地图示用于掩盖与处理器的逻辑电路系统相关联的功耗的装置的另一种设计的电路图并将其一般地指定为400。装置400可以基本上类似于图1的装置100,但是可以省略其它组件以使得能够以与图1的装置100的方式类似但独特的方式进行操作。例如,与图1的装置100对照,装置400可以具有不连接到公共节点108(vvdd)处的逻辑电路系统102的平衡电路系统103。装置400可以具有平衡电路系统103,其包括第二pmos晶体管104(例如,晶体管m3)、第三pmos晶体管105(例如,晶体管m4)和第四pmos晶体管106(例如,晶体管m5)。第一pmos晶体管107的栅极端子118、第二pmos晶体管104的栅极端子115和第三pmos晶体管105的栅极端子116可以被配置为从控制电路系统(未示出)接收selb信号。装置400可以具有首部电路系统101,该首部电路系统101被配置为使得能够实现逻辑电路系统102的一个或多个操作。首部电路系统101和平衡电路系统103可以被配置为接收选择信号(例如,selb信号或其它选择信号)。

装置400可以以与图1的装置100的方式基本上类似的方式包括具有不同阈值电压值和不同晶体管尺寸的晶体管。例如,平衡电路系统103的第二pmos晶体管104和第四pmos晶体管106可以被配置为具有与工艺技术相关联的“低”阈值电压。在另一个示例中,第二pmos晶体管104的尺寸和第三pmos晶体管105的尺寸可以具有5比1的比率。在具体实施例中,第二pmos晶体管104和第四pmos晶体管106可以被确定尺寸以提供第二功耗。为了说明,第二pmos晶体管104和第四pmos晶体管106可以被确定尺寸以使得能够生成第四电流114(例如,电流i4),该第四电流114可以对应于为逻辑电路系统102的操作预测的电流消耗。以这种方式,装置400的平衡电路系统103可以被配置为提供第二功耗以预测性地平衡与逻辑电路系统102的一个或多个操作相关联的功耗。由平衡电路系统103提供的第二功耗可以与和逻辑电路系统102的一个或多个操作相关联的功耗相反地变化。

可以基于逻辑电路系统102的特性来进行装置400的晶体管的尺寸确定。例如,在具体实施例中,第二pmos晶体管104、第三pmos晶体管105和第四pmos晶体管106可以基于对与逻辑电路系统102的一个或多个操作(或功能块)相关联的功耗的估计(例如,功耗值估计)来确定尺寸。在另一个实施例中,第二pmos晶体管104和第四pmos晶体管106可以基于逻辑电路系统102的功能块的设计参数来确定尺寸。在又一个实施例中,第二pmos晶体管104和第四pmos晶体管106可以基于逻辑电路系统102的功能块的预定功耗值来确定尺寸。在另一个实施例中,装置400的各种尺寸的晶体管可以是工艺技术的标准单元库的一部分。在具体实施例中,可以从与逻辑电路系统102相关联的处理器本地访问和存储功耗估计。在另一个实施例中,可以从另一个设备访问和存储功耗估计。在又一个实施例中,功耗估计的访问和存储可以是与处理器或其它设备相关联的一个或多个查找表的形式。

装置400的晶体管可以被配置为从控制电路系统(未示出)接收一个或多个选择信号。一个或多个选择信号可以提供由装置400生成的第二功耗的定时控制。为了说明具体实施例,在操作期间,首部电路系统101的第一pmos晶体管107的栅极端子118、平衡电路系统103的第二pmos晶体管104的栅极端子115和第三pmos晶体管105的栅极端子116可以各自从控制电路系统接收选择条(selb)信号。在另一个实施例中,第三pmos晶体管105可以由与selb信号不同的第二选择条(selb2)信号控制。selb2信号可以与可以独立于首部电路系统101的控制的第三pmos晶体管105的定时控制(例如,平衡电路系统103的控制)相关联。在另一个实施例中,selb2信号可以与在第二pmos晶体管104和第二参考电压源(例如,地或vss)之间并联连接的多个pmos晶体管(例如,其可以包括第三pmos晶体管105)相关联。在另一个实施例中,第三pmos晶体管105可以由第三选择条(selb3)信号控制,该第三选择条信号可以与selb信号和/或selb2信号不同。

装置400可以以与图1的装置100基本类似但独特的方式操作。例如,装置400可以被配置为提供第二功耗以预测性地平衡与逻辑电路系统相关联的功耗,同时使得能够控制预测性平衡的定时和激活。为了说明装置400的基本实施例,在操作期间,首部电路系统101的第一pmos晶体管107的栅极端子118、平衡电路系统103的第二pmos晶体管104的栅极端子115和第三pmos晶体管105的栅极端子116各自可以从控制电路系统接收选择条(selb)信号。selb信号可以具有逻辑值0和对应的“低”电压值(例如,与地、vss或工艺技术的低电压源对应的电压值)。在接收到selb信号时,第一pmos晶体管107、第二pmos晶体管104和第三pmos晶体管105可以基本上“接通”。

当第一pmos晶体管107接通时,公共节点108可以表现出对应于逻辑电路系统102的功能块的操作的电压。此外,第一电流110可以表现出也对应于逻辑电路系统102的功能块的操作的电流。例如,对于给定的实例,当逻辑电路系统102操作多个功能块以执行操作/指令时,逻辑电路系统102可以消耗第一电流110并且表现出对应于多个功能块的功耗。

当第二pmos晶体管104和第三pmos晶体管105接通时,第一节点109(例如,节点vfb)可以表现出可以使第四pmos晶体管106能够变得略微“接通”并使得生成减小的第四电流114(例如,电流i4)的电压。当第二pmos晶体管104和第四pmos晶体管106对应于为逻辑电路系统102的操作预测的电流消耗而被确定尺寸时,所生成的第四电流114可以对应于可以预测性地平衡与逻辑电路系统102的操作相关联的功耗的第二功耗。第二功耗可以与逻辑电路系统102的功耗相反地变化。在其中逻辑电路系统102可能利用较少的功能块用于较少执行的操作/指令的情况下,可以由包括多个子平衡电路的平衡电路系统103提供用于预测性平衡的第二功耗,如参考图5进一步描述的。

在具体实施例中,装置400可以被配置为利用第三选择条信号(selb3)操作,该第三选择条信号具有基于由逻辑电路系统102执行的操作/指令而变化的电压。以这种方式,装置400可以提供可以预测性地平衡与处理器的逻辑电路系统102的一个或多个操作相关联的功耗的平衡功耗。例如,控制电路系统可以将selb3信号提供给第二pmos晶体管104的栅极端子115。selb3信号可以具有基于逻辑电路系统102的操作/指令而变化的电压。以这种方式,selb3信号可以调制第二pmos晶体管104的活动性,以进一步调制第四pmos晶体管106的活动性,以便生成对应的平衡功耗。

为了说明,在第一种情况下,逻辑电路系统102可以执行具有对应功耗的多个操作/指令。基于操作/指令的数量或类型或基于与每个操作/指令相关联的估计功耗,selb3信号可以提供其值基于逻辑电路系统102执行更多操作/指令(例如,增加功耗)而减小的电压。提供给第二pmos晶体管104的降低的selb3电压(基于增加的逻辑操作)可以将第四pmos晶体管106调制为较少“接通”,以便为预测性的平衡的目的提供较小的平衡功耗。

类似地,在第二种情况下,逻辑电路系统102可以执行具有对应的较低功耗的较少操作/指令。基于较少数量或类型的操作/指令或基于与较少操作/指令相关联的较低估计功耗,selb3信号可以提供其值基于逻辑电路系统102执行较少操作/指令(例如,降低功耗)而增加的电压。提供给第二pmos晶体管104的增加的selb3电压(基于减少的逻辑操作)可以将第四pmos晶体管106调制为较多“接通”,以便为预测性的平衡的目的提供较大的平衡功耗。在具体实施例中,第二pmos晶体管104和第四pmos晶体管106可以基于逻辑电路系统102的预测最大电流消耗(例如,与逻辑电路系统102相关联的最大功耗)来确定尺寸,或者可以基于其它条件/参数(例如,对逻辑电路系统102的一个或多个功能块的功耗估计)来确定尺寸。以这种方式,装置400可以提供预测性地平衡与逻辑电路系统102的操作/指令相关联的功耗的功耗。

逻辑电路系统102可以与一个或多个功能块或逻辑操作/指令相关联。这些操作可以包括但不限于任何数量的处理器操作(例如,数据处理、算术和/或逻辑操作)。在具体实施例中,逻辑操作可以对应于由处理器执行的一个或多个流水线步骤。在其它实施例中,逻辑操作可以对应于密码算法的一个或多个阶段、一个或多个“带密钥的”密码步骤,或与一个或多个加密标准(例如,aes、des或rsa标准)相关联的密码算法。

装置400可以被配置为在如本文所述的其它操作模式下操作,诸如但不限于参考图2描述的低功率模式、任何保持模式,或本文描述的其它操作模式。此外,装置400(及其组件)可以被配置为使得能够控制由平衡电路系统103提供的预测平衡的定时和激活。例如,通过利用选择信号(例如,selb、selb2和/或selb3信号),可以控制装置400及其平衡电路系统103,以便在执行逻辑电路系统102的操作/指令之前或与其同时提供用于平衡的第二功耗。为了说明具体示例,逻辑电路系统102可以执行与处理器的“流水线”处理相关联的操作/指令。与装置400相关联的控制电路系统可以确定尚未被执行的流水线的操作/指令,并且基于该确定可以调节发送到装置400的、可以影响提供用于平衡的第二功耗的定时的选择信号的定时。以这种方式,装置400可以被配置为使得能够控制第二功耗的定时和激活,以便平衡(例如,功耗掩盖)与逻辑电路系统102相关联的功耗。由装置400提供的这种对平衡的控制可以在掩盖与逻辑电路系统的加密或非加密操作/指令相关联的功耗期间提高处理器性能。

为了说明另一个示例,装置400的逻辑电路系统102可以执行与处理器的“流水线”处理相关联的操作/指令。与装置400相关联的控制电路系统可以确定尚未被执行的流水线处理的操作/指令。基于与确定操作/指令相关联的预测功耗值,可以预测流水线处理的下一个时钟周期所需的功耗。在特定实施例中,预测功耗值可以基于各种处理器操作/指令的功耗估计。因此,知道下一个时钟周期所需的功耗的装置400可以提供更及时和更准确的平衡功耗。以这种方式,装置400可以被配置为提供具有改进的准确度和定时的更快的平衡功耗,以平衡(例如,功耗掩盖)与逻辑电路系统102相关联的功耗。

参考图5,示出了示意性地图示用于掩盖与处理器的逻辑电路系统相关联的功耗的装置的另一种设计的电路图并将其一般地指定为500。装置500可以基本上类似于图1的装置100和/或图4的装置400,但是可以包括和/或省略其它组件,以使得能够以与图4的装置400的方式类似的方式操作。例如,装置500可以具有不在公共节点108(vvdd)处连接到的逻辑电路系统102的平衡电路系统103。平衡电路系统103可以包括多个子平衡电路,该多个子平衡电路包括子平衡电路504和被描绘为504_n的“n”个其它子平衡电路,其中“n”是正整数。

多个子平衡电路(例如,504直到且包括504_n)可以并联连接在第一参考电压源(例如,vdd)和第二参考电压源(例如,地或vss)之间。多个子平衡电路(504至504_n)中的每个子平衡电路可以包括图4的平衡电路系统103。多个子平衡电路(例如,504直到并包括504_n)可以被配置为从控制电路系统(未示出)接收一个或多个选择信号(例如,selb信号:selb直到并包括selb_n)。例如,一个或多个选择信号可以激活或停用多个子平衡电路中的一个或多个子平衡电路。为了说明具体示例,子平衡电路504可以在对应于第二pmos(例如,pmos104)和第三pmos晶体管(例如,pmos105)的栅极端子506和512(例如,图4的栅极端子115和116)处接收selb信号。以类似的方式,其它子平衡电路504_n可以在对应于其各自的晶体管(例如,第二pmos104和第三pmos晶体管105)的其各自的栅极端子(例如,栅极端子506_n和512_n)处接收与其它selb信号(例如,selb_n)。

装置500可以以与图4的装置400的方式基本类似的方式操作,但是可以包括和/或省略其它操作。例如,装置500可以提供平衡功耗以预测性地平衡与逻辑电路系统102的一个或多个操作/指令相关联的功耗。为了说明,装置500可以被配置为提供第二功耗以预测性地平衡与由逻辑电路系统102执行的逻辑操作/指令相关联的功耗。在具体实施例中,操作/指令可以是处理器的“流水线”处理的一部分。在另一个实施例中,在操作期间,在平衡电路系统103内的要活动/不活动的子平衡电路(例如,504直到并包括504_n)的数量可以取决于激活或停用的selb信号(例如,selb直到并包括selb_n)的数量。selb信号的激活/停用可以基于要由逻辑电路系统102执行的操作的数量。在另一个实施例中,selb信号的激活/停用以及对应的活动/不活动的子平衡电路(例如,504直到并包括504_n)的数量可以基于要由逻辑电路系统102执行的一个或多个操作所使用的电流(或功耗)。以这些方式,多个子平衡电路(例如,504直到并包括504_n)的激活(或停用)可以确定要生成以平衡与由逻辑电路系统102执行的操作/指令相关联的功耗的第二功耗。在具体实施例中,可以确定逻辑电路系统102的逻辑操作/指令,并且可以预测流水线处理的下一个时钟周期的相关联功耗。selb信号的激活/停用可以基于预测的功耗,以使得能够预测性平衡与逻辑电路系统102相关联的功耗。

为了说明非限制性示例,在其中逻辑电路系统102可以利用较少功能块和/或执行较少操作/指令、具有相关联的降低功耗的的情况下,控制电路系统可以预测性地提供多个selb信号(例如,selb直到并包括selb_n)以激活多个对应的子平衡电路(例如,504直到并包括504_n)。多个子平衡电路的激活可以提供增加的第二功耗以用于平衡逻辑电路系统102的功耗。在其中逻辑电路系统102可以利用较多功能块和/或执行较多操作/指令、具有相关联的增加功耗的情况下,控制电路系统可以预测性地提供较少的selb信号以激活较少的对应的子平衡电路(例如,504直到并包括504_n)。激活平衡电路系统103的较少的子平衡电路可以提供降低的第二功耗以用于平衡逻辑电路系统102的功耗。以这种方式,多个子平衡电路(例如,504直到并包括504_n)的激活(或停用)可以确定要生成以预测性地平衡与由逻辑电路系统102执行的操作/指令相关联的功耗的第二功耗。因此,第二功耗可以与和由逻辑电路系统102执行的操作相关联的功耗相反地变化。

以类似于图1的装置100和/或图4的装置400的方式,装置500可以包括具有不同阈值电压值和/或不同晶体管尺寸的晶体管。例如,可以基于与逻辑电路系统102的一个或多个功能块相关联的功耗估计、设计参数或预定功耗值来确定一个或多个相应子平衡电路的第二pmos晶体管104和第四pmos晶体管106的尺寸。功耗估计可以在本地或远程访问和存储,并且可以与和处理器相关联的一个或多个查找表相关联。

此外,装置500可以被配置为以如本文所述的其它操作模式操作,诸如但不限于参考图2描述的低功率模式、任何保持模式,或本文描述的其它操作模式。此外,装置500可以被配置为使得能够以与针对图4的装置400所描述的类似的方式通过利用选择信号(例如,selb、selb2和/或selb3信号)来控制预测性功耗平衡的定时和激活。这样的控制可以使得装置500能够在执行逻辑电路系统102的操作/指令之前或同时并且以与针对图4的装置400所描述的方式类似的方式提供平衡功耗。在具体实施例中,与装置500相关联的控制电路系统可以与其它逻辑电路系统(例如,多路复用器和/或多路分解器电路系统)相关联。

参考图6,示出了示意性地图示用于掩盖与处理器的逻辑电路系统相关联的功耗的装置的另一种设计的电路图并将该其一般地指定为600。装置600可以基本上类似于图1的装置100,但是可以包括和/或省略其它组件。例如,与图1的装置100对照,装置600可以包括首部电路系统101,首部电路系统101包括nmos晶体管621(例如,晶体管m2)和反相器623。nmos晶体管621可以与第一pmos晶体管107(例如,晶体管m1)并联连接到第一参考电压源(例如,vdd)并且经由公共节点108(vvdd)连接到逻辑电路系统102。nmos晶体管621可以具有在首部节点624处连接到第一pmos晶体管107的栅极端子118的栅极端子622。反相器623可以连接到首部节点624并且可以被配置为接收来自控制电路系统(未示出)的选择(sel)信号作为输入。反相器623可以在首部节点624处提供选择条(selb)信号。selb信号可以是sel信号的反信号。nmos晶体管621和第一pmos晶体管107可以被配置为在它们各自的栅极端子(例如,分别为栅极624和118)处接收selb信号。

装置600可以以与图1的装置100的方式基本上类似的方式操作,但是可以包括和/或省略其它操作。例如,装置600可以被配置为在与处理器相关联的保持模式下操作。为了说明具体实施例,在操作期间,平衡电路系统103的第三pmos晶体管105的栅极端子116可以从控制电路系统(未图示)接收selb信号。第一pmos晶体管107的栅极端子118和nmos晶体管621的栅极端子622都可以经由首部节点624接收selb信号。selb信号可以向晶体管105、107和621提供逻辑值1(例如,对应的“高”电压值,诸如vdd电压、大于阈值电压的电压等),以使得晶体管105和107能够被基本上“关断”并使得晶体管621能够被基本上“接通”。在另一个实施例中,第三pmos晶体管105可以由与selb信号不同的第二选择条(selb2)信号控制。selb2信号可以与可以独立于首部电路系统101的控制的第三pmos晶体管105的定时控制相关联。

对于利用selb信号的情况,与图1的装置100对照,活动nmos晶体管621可以使得公共节点108(vvdd)能够具有足以使逻辑电路系统的特定组件维持逻辑状态的电压。为了说明,举一个或多个实例,逻辑电路系统102可能不需要掩盖其功耗(例如,处理器的非dpa模式),但是逻辑电路系统102可能包括需要电压来维持/保持逻辑状态的组件(例如,存储/存储器组件)。首部电路系统101的活动nmos晶体管621可以使得能够在公共节点108处实现用于这种保持目的的电压。以这种方式,可以提供逻辑电路系统102的保持模式。因此,虽然逻辑电路系统102的功耗的掩盖在对应的非活动平衡电路系统103(例如,不执行平衡)的情况下可以是不必要的(例如,处理器的非dpa模式),但是逻辑电路系统102的逻辑状态组件(例如,存储/存储器组件)可以在由装置600提供的保持模式期间维持它们的逻辑状态。

在具体实施例中,装置600的保持模式可以是与逻辑电路系统102或相关联的处理器相关联的“睡眠”操作模式的一部分。在另一个实施例中,装置600的保持模式可以使得能够实现逻辑电路系统102和相关联处理器的较快的“唤醒”时间。例如,通过提供足以维持逻辑电路系统102的特定组件的逻辑状态(即,装置600的保持模式)的电压(例如,在公共节点108处),逻辑电路系统组件(例如,存储/存储器单元)可以具有更接近“唤醒”(例如,活动)电压的电压。因此,装置600的保持模式可以使得逻辑电路系统组件能够在较短的时间内达到“唤醒”(例如,活动)电压。

参考图7,示出了示意性地图示用于掩盖与处理器的逻辑电路系统相关联的功耗的装置的另一种设计的电路图并将其一般地指定为700。装置700可以基本上类似于图1的装置100、图2的装置200和/或图6的装置600,但是可以包括和/或省略其它组件。例如,与图6的装置600对照,装置700可以具有包括第二nmos晶体管719(例如,晶体管m6)的平衡电路系统103。第二nmos晶体管719可以连接到平衡电路系统103的第四pmos晶体管106(例如,晶体管m5),并且可以连接到第二参考电压源(例如,地或vss)。第二nmos晶体管719可以具有被配置为从控制电路系统(未示出)接收选择(sel)信号的栅极端子720。

装置700可以以与图2的装置200和/或图6的装置600基本上类似的方式操作。例如,与图6的装置600对照,装置700可以被配置为在保持模式下操作,但是也可以被配置为以与图2的装置200的低功率模式类似的方式在与处理器相关联的低功率模式下操作。为了说明说具体实施例,在操作期间,第一pmos晶体管107的栅极端子118和第一nmos晶体管621的栅极端子622都可以经由首部节点624接收selb信号。平衡电路系统103的第三pmos晶体管105的栅极端子116可以从控制电路系统(未示出)接收selb信号。在具体实施例中,第三pmos晶体管105可以由与selb信号不同的第二选择条(selb2)信号控制。selb2信号可以与可以独立于首部电路系统101的控制的第三pmos晶体管105的定时控制相关联。

selb信号可以是选择(sel)信号的反信号,并且可以向晶体管105、107和621提供逻辑值1(例如,对应的“高”电压值,诸如vdd电压、大于阈值电压的电压等)。因此,第一pmos晶体管107和第三pmos晶体管105各自可以基本上被“关断”,而第一nmos晶体管621可以基本上被“接通”。以这种方式,装置700可以为逻辑电路系统102提供以与图6的装置600的保持模式类似的方式操作的保留模式。

第二nmos晶体管719可以具有被配置为从控制电路系统接收sel信号的栅极端子720。在另一个实施例中,第二nmos晶体管719可以由与sel信号不同的第二选择条(selb2)信号控制。sel信号可以向第一nmos晶体管219的栅极端子720提供对应于“低”电压值(例如,对应于地、vss或工艺技术的低电压源的电压值)的逻辑值0。因此,第二nmos晶体管719可以基本上被“关断”。在这种情况下,使第二nmos晶体管719处于“关断”状态可以防止第四pmos晶体管106将电流泄漏到接地端子。以这种方式,可以对应于在与处理器相关联的低功率模式下操作的装置700的平衡电路系统103消耗的功率较少。

因此,装置700可以提供与逻辑电路系统102相关联的功耗的掩盖,还可以为逻辑电路系统102提供保持模式操作,并且还可以提供用于防止在使用与逻辑电路系统102和相关联处理器相关联的低功率模式的情况下的电流泄漏的部件。低功率模式可以与其中不执行逻辑操作和/或不关心对处理器的非期望监视/分析(例如,非dpa操作模式)的实例相关联。保持模式可以是与逻辑电路系统102或相关联处理器相关联的“睡眠”操作模式的一部分。

参考图8,示出了图示用于掩盖与处理器的逻辑电路系统的一个或多个操作相关联的功耗的方法的特定实施例的流程图并将其一般地指定为800。方法800包括在802处选择与处理器相关联的首部电路系统和平衡电路系统。例如,可以向装置(例如,诸如图1-3、图6和图7的装置100、200、300、600和700)的首部电路系统和平衡电路系统(例如,首部电路系统101和平衡电路系统103)提供选择信号(例如,selb、sel和/或selb2信号)。首部电路系统可以使得能够实现逻辑电路系统(例如,诸如前述装置的逻辑电路系统102)的一个或多个操作。选择信号可以激活/停用首部电路系统和平衡电路系统,以便在其它操作当中提供对与处理器的逻辑电路系统的一个或多个操作相关联的功耗的掩盖。

方法800还包括在804处生成与和逻辑电路系统的一个或多个操作相关联的功耗(例如,第一功耗)对应的第一电流。例如,首部电路系统可以接收具有对应于“低”电压值(例如,地、vss或低电压值)的逻辑值0的selb信号,其可以是激活首部电路系统(例如,首部电路系统101)以基本上“接通”的一部分。首部电路系统的这种激活可以使得能够生成对应于逻辑电路系统(例如,本文描述的装置的逻辑电路系统102)的一个或多个功能块的操作的第一电流(例如,本文描述的装置的电流110)。

方法800还包括在806处生成对应于第二功耗的第二电流,以直接平衡与逻辑电路系统的一个或多个操作相关联的功耗,其中第二功耗与和逻辑电路系统的一个或多个操作相关联的功耗相反地变化,并且其中第一电流与公共节点相关联,在该公共节点处平衡电路系统和首部电路系统两者都耦接到逻辑电路系统。例如,平衡电路系统(例如,本文描述的装置的平衡电路系统103)可以接收具有对应于“低”电压值(例如,地、vss或低电压值)的逻辑值0的selb信号,其可以是激活平衡电路系统的一部分。平衡电路系统的这种激活可以使得能够生成对应于第二功耗的第二电流(例如,本文描述的装置的电流114)。所生成的第二功耗可以用于直接平衡与逻辑电路系统(例如,本文描述的装置的逻辑电路系统102)的一个或多个功能块的操作相关联的功耗。

由方法800生成的第二功耗可以与和逻辑电路系统的一个或多个操作相关联的功耗相反地变化。例如,在非限制性示例中,如果逻辑电路系统执行与例如为最大可用功耗的四分之一的功耗对应的一个或多个逻辑操作,则平衡电路系统可以(经由相关联的电流消耗)提供可以是最大可用功耗的四分之三的第二功耗。以这种方式,平衡电路系统可以提供与和由逻辑电路系统执行的逻辑操作相关联的功耗相反地变化的第二功耗。应该理解的是,平衡电路系统还可以提供在可用的最大功耗范围内的功耗的其它相反值。

第一电流可以与公共节点相关联,在该公共节点处,平衡电路系统和首部电路系统两者都耦接到逻辑电路系统。例如,由首部电路系统生成的第一电流可以是公共节点(例如,本文描述的装置的公共节点108(vvdd))的一部分。该公共节点可以是平衡电路系统和首部电路系统(例如,本文描述的装置的平衡电路系统103、首部电路系统101)两者在其处都连接到逻辑电路系统(例如,本文描述的装置的逻辑电路系统102)的节点。平衡电路系统和逻辑电路系统之间的这种连接可以提供对与逻辑电路系统的一个或多个操作相关联的功耗的更准确的平衡。

方法800可以结合分别针对图1、图2、图3、图6和图7的装置100、200、300、600和/或700描述的操作和特性。例如,可以基于不同因素来确定平衡电路系统103的晶体管(例如,第二pmos晶体管104和第四pmos晶体管106)的尺寸,以使得能够生成平衡与逻辑电路系统102的操作相关联的功耗的第二功耗。在非限制性示例中,可以基于对逻辑电路系统102的一个或多个功能块的功耗估计来确定平衡电路系统103的晶体管的尺寸。替代地或附加地,晶体管可以被配置为具有不同的阈值电压值。方法800可以结合本文描述的装置的各种操作模式,诸如但不限于,安全模式、低功率模式、保持模式或处理器的其它操作模式。

参考图9,示出了图示用于掩盖与处理器的逻辑电路系统的一个或多个操作相关联的功耗的方法的特定实施例的流程图并将其一般地指定为900。方法900包括在902处选择与处理器相关联的首部电路系统和平衡电路系统。例如,控制电路系统可以向装置(例如,诸如图4的装置400和/或图5的装置500)的首部电路系统和平衡电路系统(例如,首部电路系统101和平衡电路系统103)提供选择信号(例如,selb、selb2和/或selb3信号)。首部电路系统可以使得能够实现逻辑电路系统(例如,诸如前述装置的逻辑电路系统102)的一个或多个操作。选择信号可以激活/停用首部电路系统和平衡电路系统,以便在其它操作当中提供对与处理器的逻辑电路系统的一个或多个操作相关联的功耗的掩盖。

方法900还包括在904处生成与和逻辑电路系统的一个或多个操作相关联的功耗(例如,第一功耗)对应的第一电流。例如,首部电路系统可以接收具有对应于“低”电压值(例如,地、vss或低电压值)的逻辑值0的selb信号,其可以是激活首部电路系统(例如,分别的图4和图5的装置400和/或500的首部电路系统101)至基本上“接通”的一部分。首部电路系统的这种激活可以使得能够生成对应于逻辑电路系统(例如,分别的图4和图5的装置400和/或500的逻辑电路系统102)的一个或多个功能块的操作的第一电流(例如,电流110)。

方法900还包括在906处生成对应于第二功耗的第二电流,该第二功耗预测性地平衡与逻辑电路系统的一个或多个操作相关联的功耗,其中第二功耗与和逻辑电路系统的一个或多个操作相关联的功耗相反地变化。例如,平衡电路系统(例如,分别的图4和图5的装置400和/或500的平衡电路系统103)可以接收具有对应于“低”电压值(例如,地、vss或低电压值)的逻辑值0的selb信号,其可以是激活平衡电路系统103的一部分。平衡电路系统103的这种激活可以使得能够生成对应于第二功耗的第二电流(例如,电流114)。所生成的第二功耗可以用于预测性地平衡与逻辑电路系统的一个或多个功能块的操作相关联的功耗。由方法900生成的第二功耗可以与和逻辑电路系统的一个或多个操作相关联的功耗相反地变化。应该理解的是,方法900的平衡电路系统103可以在可用的最大功耗范围内提供其它相反值的功耗。

方法900可以结合分别针对图4和图5的装置400和/或500描述的操作和特性。例如,可以基于不同因素来确定平衡电路系统103的晶体管(例如,第二pmos晶体管104和第四pmos晶体管106)的尺寸,以使得能够生成可以预测性地平衡与逻辑电路系统102的操作相关联的功耗的第二功耗。在非限制性示例中,可以基于对逻辑电路系统102的一个或多个功能块的功耗估计来确定平衡电路系统103的晶体管的尺寸。替代地或附加地,晶体管可以被配置为具有不同的阈值电压值。方法900可以结合本文描述的装置的各种操作模式,诸如但不限于,安全模式、低功率模式、保持模式或处理器的其它操作模式。

方法900可以结合分别针对图4和图5的装置400和/或500描述的定时和控制特性。例如,选择信号(例如,selb、selb2和/或selb3信号)可以用作方法900的一部分来控制装置(例如,装置400和/或500),以便在执行逻辑电路系统102的操作/指令之前或与其同时提供用于预测性平衡的功耗。替代地或附加地,方法900可以结合与装置400和/或500相关联的控制电路系统,以使得能够基于尚未被执行的流水线操作/指令来调节选择信号定时,以便影响提供平衡功耗的定时。平衡与逻辑电路系统102相关联的功耗的这种控制可以在掩盖与逻辑电路系统的加密或非加密操作/指令相关联的功耗期间提高处理器的性能。

参考图10,示出了示意性地图示根据本文描述的装置、方法和技术的系统的框图并将其一般地指定为1000。系统1000可以掩盖与逻辑电路系统的一个或多个操作相关联的功耗。系统1000包括处理器1002,处理器1002包括平衡电路系统1006、首部电路系统1008和逻辑电路系统1010。系统1000还可以包括存储设备1004。在具体实施例中,存储设备1004可以被包括在处理器1002内。平衡电路系统1006和首部电路系统1008可以使得能够掩盖与逻辑电路系统1010的一个或多个操作相关联的功耗。系统1000可以执行图8的方法800和/或图9的方法900,以及与本文描述的装置相关联的操作、模式或技术。

平衡电路系统1006可以被配置为提供直接平衡与由逻辑电路系统1010执行的一个或多个逻辑操作相关联的功耗的第二功耗。例如,系统1000可以利用图1-3和图6-7的装置及其相应的平衡电路系统103来提供用于平衡与逻辑电路系统1010相关联的功耗的第二功耗。第二功耗可以与和逻辑电路系统的一个或多个操作相关联的功耗相反地变化。

在另一个实施例中,平衡电路系统1006可以被配置为提供第二功耗以预测性地平衡与由逻辑电路系统1010执行的一个或多个逻辑操作相关联的功耗。例如,系统1000可以利用图4和图5的装置及其相应的平衡电路系统103来提供用于预测性地平衡与逻辑电路系统1010相关联的功耗的第二功耗。第二功耗可以与和逻辑电路系统的一个或多个操作相关联的功耗相反地变化。

首部电路系统1008可以被配置为使得公共节点能够具有可以对应于由处理器1002的逻辑电路系统1010执行的一个或多个逻辑操作而变化的电压。首部电路系统1008和平衡电路系统1006各自可以在公共节点处耦接到逻辑电路1010。例如,系统1000可以利用图1-3和图6-7的装置及其相应的首部电路系统101来使得公共节点电压能够根据逻辑电路系统1010的操作而变化。在另一个实施例中,首部电路系统1008可以被配置为使得能够实现逻辑电路1010的一个或多个操作。首部电路系统1008和平衡电路系统1006可以被配置为接收选择信号(例如,selb)。例如,系统1000可以利用图4和图5的装置及其相应的首部电路系统101来使得能够实现逻辑电路1010的一个或多个操作。

逻辑电路系统1010可以具有由一个或多个相关联的功能块或逻辑操作/指令产生的功耗,这些操作/指令可以包括但不限于任何数量的处理器操作(例如,数据处理、算术和/或或逻辑操作)。逻辑电路系统1010的逻辑操作可以对应于由处理器1002执行的一个或多个流水线步骤、密码算法的一个或多个阶段、一个或多个“带密钥的”密码步骤,或与一个或多个加密标准(例如,aes、des或rsa标准)相关联的密码算法。与逻辑电路系统1010相关联的功耗可以由平衡电路系统1006和首部电路系统1008进行平衡,以使得能够掩盖与逻辑电路系统1010的一个或多个操作相关联的功耗。

存储设备1004可以存储与可以由逻辑电路系统1010执行的一个或多个操作相关联的一个或多个指令的功耗信息(例如,功耗估计)并且提供对该信息的访问。例如,逻辑电路系统1010可以访问存储设备1004以检索存储的一个或多个指令。逻辑电路系统1010的组件(例如,功能块)可以执行一个或多个指令,以便执行与逻辑电路系统1010相关联的一个或多个操作。从存储设备1004存储和访问的指令可以包括与任何数量的处理器操作(诸如数据处理、算术和/或逻辑操作、流水线操作、密码操作或与一个或多个加密标准(例如,aes、des或rsa标准)相关联的操作)相关的指令。存储设备1004可以是易失性存储器(例如,sram、dram或其它未来的易失性存储器类型)或非易失性存储器(例如,rom、eprom、eeprommram或其它未来的非易失性存储器类型)的形式。存储设备1004可以与处理器1002分离,或者可以与处理器1002集成(例如,作为处理器的高速缓存存储器)。

系统1000可以结合本文描述的装置(例如,分别图1-7的装置100-700)的操作和特性。例如,平衡电路系统1006可以具有基于不同因素来确定尺寸的晶体管(例如,第二pmos晶体管104和第四pmos晶体管106),以使得能够生成平衡与逻辑电路系统1010的操作相关联的功耗的第二功耗。平衡电路系统1006的晶体管可以具有不同的阈值电压值,或者可以基于对逻辑电路系统1010的一个或多个功能块的功耗估计来确定尺寸。系统1000可以结合本文描述的装置的各种操作模式,诸如安全模式、低功率模式、保持模式或处理器的其它操作模式。此外,系统1000的组件可以被配置为使得能够控制用于平衡(例如,功耗掩盖)与逻辑电路系统1010相关联的功耗的第二功耗的定时和激活。

系统1000可以操作以提供第二功耗,该第二功耗将起作用以掩盖与处理器1002相关联的逻辑电路系统1010的总功耗。由系统1000提供的功耗的掩盖可以抵抗对处理器1002、其相关联的操作/指令和对应的功耗的非期望的监视/分析(例如,dpa攻击)。对与逻辑电路系统1010相关联的功耗的这种掩盖可以提供由处理器1002的组件处理的数据、指令和/或操作(例如,密码和/或其它操作)的安全性和完整性的改进。

参考图11,示出了示意性地图示可以用于实现上述装置、方法和技术的类型的通用计算机的框图并将其一般地标记为1100。通用计算机1100包括全部都经由公共总线1122连接的中央处理单元1102、随机存取存储器1104、只读存储器1106、网络接口卡1108、硬盘驱动1110、显示驱动器1112、具有键盘1118和鼠标1120的用户输入/输出电路1116,以及监视器1114。在操作中,中央处理单元1102将执行可以被存储在随机存取存储器1104、只读存储器1106和硬盘驱动器1110中的一个或多个中或者经由网络接口卡1008动态下载的计算机程序指令。所执行的处理的结果可以经由显示驱动器和监视器1114显示给用户1112。用于控制通用计算机1100的操作的用户输入可以经由用户输入/输出电路1116从键盘1118或鼠标1120接收。将认识到的是,计算机程序可以用各种不同的计算机语言编写。计算机程序可以被存储和分布在记录介质上或动态下载到通用计算机1100。

当在适当的计算机程序的控制下操作时,通用计算机1100可以包括上述装置(例如,分别图1-7的装置100-700)并执行上述方法和技术(例如,分别图8和图9的方法800和/或900)并且可以被认为形成了用于执行上述方法和技术的具体装置。例如,具体装置可以包括图10的系统1000或图10的系统1000的一个或多个组件。通用计算机1100的架构可以具有相当大地变化,并且图11仅是一个示例。

虽然已经参考附图在本文详细地描述了本发明的说明性实施例,但是应该理解的是,本发明不限于那些精确的实施例,并且本领域技术人员可以在不脱离由所附权利要求限定的本发明的范围的情况下在其中实现各种改变、添加和修改。例如,在不脱离本发明的范围的情况下,可以用独立权利要求的特征制成从属权利要求的特征的各种组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1