CN107545292B - 用于动态功率控制的方法和电路 - Google Patents
用于动态功率控制的方法和电路 Download PDFInfo
- Publication number
- CN107545292B CN107545292B CN201611219826.2A CN201611219826A CN107545292B CN 107545292 B CN107545292 B CN 107545292B CN 201611219826 A CN201611219826 A CN 201611219826A CN 107545292 B CN107545292 B CN 107545292B
- Authority
- CN
- China
- Prior art keywords
- clock signal
- pipeline
- clock
- data processing
- timing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 15
- 238000012545 processing Methods 0.000 claims abstract description 143
- 230000001960 triggered effect Effects 0.000 claims abstract description 18
- 238000013461 design Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 description 14
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 11
- 201000005973 campomelic dysplasia Diseases 0.000 description 8
- 201000006815 congenital muscular dystrophy Diseases 0.000 description 8
- 208000019484 coronary microvascular disease Diseases 0.000 description 8
- 230000015654 memory Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 5
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 5
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 102100040856 Dual specificity protein kinase CLK3 Human genes 0.000 description 4
- 101000749304 Homo sapiens Dual specificity protein kinase CLK3 Proteins 0.000 description 4
- 208000027301 sporadic infantile bilateral striatal necrosis Diseases 0.000 description 4
- 230000007480 spreading Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/79—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for data transfer in combination with power transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Advance Control (AREA)
Abstract
动态功率控制实施例涉及数据处理流水线。第一流水线级和第二流水线级相应地接收第一时钟信号和第二时钟信号。第一流水线级和第二流水线级被配置为执行由第一时钟信号的第一定时边沿和第二时钟信号的第二定时边沿相应地触发的第一操作和第二操作。时钟控制器被配置为生成第一时钟信号和第二时钟信号。时钟控制器能够在第一模式中操作,其中在数据处理流水线的第一数据处理周期期间,第一定时边沿中的第一个与第二定时边沿中的第一个同相。时钟控制器还能够在第二模式中操作,其中在数据处理流水线的第二数据处理周期期间,第一定时边沿中的第二个与第二定时边沿中的第二个异相。
Description
技术领域
本公开涉及功率控制的领域,并且特别地涉及一种用于数据处理流水线中的动态功率控制的方法和电路。
背景技术
在同步数据处理流水线中,流水线中的每个阶段在时钟信号的每个显著的边沿上执行其对应的操作,这使得数据传播通过流水线。这样的同步流水线的优点在于,其允许相对高的数据处理速率,因为该速率仅由每个阶段的数据处理时间而非由流水线的总体传播延迟限制。然而,这样的同步操作可以具有某些应用中的缺点。
例如,在NFC(近场通信)的领域中,RF卡通过由NFC阅读器生成的RF场供电,并且对RF场进行调制以便将数据发射回到阅读器。如果RF场是弱的,则RF卡可以降低其时钟速率以便降低其功率消耗。然而,RF卡内的数据处理流水线的电流消耗将具有在每个显著的时钟边沿上并且在低频率处发生的电流消耗峰值,使这些峰值平滑可能不是可能的。这可以导致RF卡的电流消耗在卡天线处是可见的,其可以中断卡与阅读器之间的通信。
而且,对安全设备(诸如加密或解密电路)的边信道攻击使用基于功率消耗的强大的相关性技术,以尝试确定由数据处理流水线所处理的数据。同步流水线不提供对这样的攻击的足够的保护。
背景技术章节中所讨论的主题不必是现有技术并且不应当被假定为仅是现有技术作为背景技术章节中的其讨论的结果。沿着这些线,除非明确阐述为现有技术,否则在背景技术章节中所讨论的现有技术中的一个或多个问题和与其相关联的主题的识别不应当被视为现有技术。相反,涵盖现有技术中的一个或多个所识别的问题的背景技术章节中的讨论应当被视为对于特定问题的发明人的方法的一部分,其内部及本身也可以是发明的。
发明内容
本描述的实施例的目标是至少部分解决现有技术中的一个或多个问题。
根据一个方面,提供了一种数据处理流水线,包括:第一流水线级,其接收第一时钟信号并且被配置为执行由第一时钟信号的第一定时边沿所触发的第一操作;第二流水线级,其接收第二时钟信号并且被配置为执行由第二时钟信号的第二定时边沿所触发的第二操作;以及时钟控制器,被配置为生成第一时钟信号和第二时钟信号,其中时钟控制器能够操作:在第一模式中,其中在数据处理流水线的第一数据处理周期期间,第一定时边沿中的第一个定时边沿与第二定时边沿中的第一个定时边沿同相;和在第二模式中,其中在数据处理流水线的第二数据处理周期期间,第一定时边沿中的第二个定时边沿与第二定时边沿中的第二个定时边沿异相。
根据一个实施例,时钟控制器被配置为基于主时钟信号,生成第一时钟信号和第二时钟信号。
根据一个实施例,在第一模式中,时钟控制器被配置为选择主时钟信号的第一定时边沿以形成第一定时边沿和第二定时边沿中的第一个定时边沿;并且当在第二模式中时,时钟控制器被配置为选择主时钟信号的第二定时边沿以形成第一时钟信号的第一定时边沿中的第二个定时边沿并且选择主时钟信号的第三定时边沿以形成第二时钟信号的第二定时边沿中的第二个定时边沿。
根据一个实施例,时钟控制器包括计算电路,其适于生成:第一使能信号,其用于选择主时钟信号的第二定时边沿以形成第一时钟信号的第一定时边沿中的第二个定时边沿;和第二使能信号,其用于选择主时钟信号的第三定时边沿以形成第二时钟信号的第二定时边沿中的第二个定时边沿。
根据一个实施例,计算电路适于基于第一使能信号和第二使能信号中的先前值并且基于时钟分频因数,生成第一使能信号和第二使能信号的当前值。
根据一个实施例,在第二模式中,时钟控制器适于将第二数据处理周期展开在n个时钟相位上,其中n在2与P之间,其中P是数据处理流水线中的流水线级的数量。
根据一个实施例,第一流水线级包括输出,其被耦合到第二流水线级的输入,并且其中在数据处理流水线的第二数据处理周期期间,时钟控制器适于生成在第一时间点处发生的第一时钟信号的第一定时边沿中的第二个定时边沿和在比第一时间点更早的第二时间点处发生的第二时钟信号的第二定时边沿中的第二个定时边沿。
根据另一方面,提供了一种包括以上数据处理流水线的NFC卡,其中时钟控制器进一步适于基于对于NFC卡的可用功率,控制第一时钟信号和第二时钟信号的时钟周期。
根据另一方面,提供了一种包括以上数据处理流水线的密码电路,其中在第二数据处理周期期间,流水线的第一j级接收第一时钟信号,并且流水线的第二k级接收第二时钟信号,并且在第三数据处理周期期间,流水线的第一l级接收第一时钟信号,并且流水线的第二m级接收第二时钟信号,其中j、k、l和m各自是等于1或更多的整数,并且j和l是不相等的。
根据另一方面,提供了一种包括以上数据处理流水线的模块算术硬件加速器,其中第一流水线级和第二流水线级实现乘法操作。
根据又一方面,提供了一种多核心处理器,包括:第一核心,其包括以上数据处理流水线中的第一个;第二核心,其包括以上数据处理流水线中的第二个;和时钟控制电路,被配置为将第一主时钟信号供应到第一核心并且将第二主时钟信号供应到第二核心,其中第一主时钟信号和第二主时钟信号的时钟边沿中的至少一些时钟边沿彼此异相。
根据又一方面,提供了一种数据处理流水线的电路概念的方法,该方法包括生成数据处理流水线的电路设计,其包括:第一流水线级,被配置为执行由第一时钟信号的第一定时边沿所触发的第一操作;第二流水线级,被配置为执行由独立于第一时钟信号的第二时钟信号的第二定时边沿所触发的第二操作;和时钟控制器,被配置为生成第一时钟信号和第二时钟信号,其中时钟控制器能够进行以下操作:在第一模式中,其中在数据处理流水线的第一数据处理周期期间,第一定时边沿中的第一个定时边沿与第二定时边沿中的第二个定时边沿同相;并且在第二模式中,其中在数据处理流水线的第二数据处理周期期间,第一定时边沿中的第二个定时边沿与第二定时边沿中的第二个定时边沿异相。
根据一个实施例,生成数据处理流水线的电路设计包括通过将初始流水线级分割为第一并行流水线子级和第二并行流水线子级修改数据处理流水线的初始电路设计。
根据一个实施例,生成数据处理流水线的电路设计进一步包括生成包括由对应的独立时钟信号时钟控制的一个或多个另外的流水线级的电路设计,其中电路设计中的独立时钟信号的数量大于初始电路设计的流水线级的数量。
根据另一方面,提供了一种动态地控制数据处理流水线的方法,包括:通过时钟控制器生成第一时钟信号和第二时钟信号;将第一时钟信号提供给第一流水线级,被配置为执行由第一时钟信号的第一定时边沿所触发的第一操作;将第二时钟信号提供给第二流水线级,被配置为执行由第二时钟信号的第二定时边沿所触发的第二操作;其中时钟控制器能够进行以下操作:在第一模式中,其中在数据处理流水线的第一数据处理周期期间,第一定时边沿中的一个或多个定时边沿与第二定时边沿中的一个或多个定时边沿同相;和在第二模式中,其中在数据处理流水线的第二数据处理周期期间,第一定时边沿中的一个或多个定时边沿关于第二定时边沿中的一个或多个定时边沿异相。
根据另一方面,提供了一种多核心处理设备,包括:第一处理核心,其接收第一时钟信号并且被配置为执行由第一时钟信号的第一定时边沿所触发的操作;第二处理核心,其接收第二时钟信号并且被配置为执行由第二时钟信号的第二定时边沿所触发的操作;和时钟控制器,被配置为生成第一时钟信号和第二时钟信号,其中时钟控制器能够在至少第一模式和第二模式中操作,其中在第一模式中,第一定时边沿中的第一个定时边沿与第二定时边沿中的第一个定时边沿同相;并且在第二模式中,第一定时边沿中的第二个定时边沿与第二定时边沿中的第二个定时边沿异相。
附图说明
参考附图描述了非限制性和非详尽的实施例,其中除非另外指明,否则相同标记贯穿各视图指代相同部分。在下文中参考附图描述了一个或多个实施例。前述和其他特征和优点将从参考附图通过示出而非限制给定的实施例的以下详细描述而变得明显,其中:
图1A和图1B是表示在相对高时钟频率的情况下同步流水线中的电流消耗的图形;
图2A和图2B是表示在相对低时钟频率的情况下同步流水线中的电流消耗的图形;
图3示意性地示出了同步流水线;
图4示意性地示出了根据本公开的示例实施例的数据处理流水线;
图5A和图5B是表示图4的流水线中的信号的示例的时序图;
图6示意性地更详细地示出了根据示例实施例的图4的时钟控制器;
图7A至图7D是根据示例实施例的表示图4的流水线中的操作的执行时间的示图;
图8A示意性地示出了实现RSA密码算法的一部分的电路;
图8B示意性地示出了图8A的电路的流水线操作;
图9A示意性地示出了根据本公开的示例实施例的包括执行相位的指示的图8A的电路;
图9B示意性地示出了根据本公开的示例实施例的图9A的电路的流水线操作;
图10示意性地示出了根据示例实施例的多核心处理系统;以及
图11是根据示例实施例的示出图10的处理核心中的时钟信号的示例的时序图。
具体实施方式
术语“连接的”在本文中被用于指代电路元件之间的直接电气连接,然而术语“耦合的”在本文中被用于指代可以直接或可以经由一个或多个中间部件(诸如电阻器、电容器、晶体管等)的电气连接。
图1A是示出假定相对高的时钟频率的同步流水线中的电流消耗的示例的图形。例如,同步流水线形成用于使用在NFC通信中的RF卡的集成电路的一部分。可以看到,电流消耗以在时钟信号的每个上升沿时发生的尖峰(spikes)的形式。
图1B示出了对同步流水线供电的供电电路的电流消耗。例如,同步流水线由LDO(低压差稳压器)供电。LDO例如包括一个或多个电容器,其使得其能够维持相对稳定的电流消耗。
图2A是示出在相对低时钟频率的情况下同步流水线的电流消耗的图形。例如,如果RF卡接收相对弱的RF场,则其自动地示出其时钟频率以便降低其所要求的功率。因此,电流消耗中的峰值在相对间隔的时间间隔处发生。例如,然而在图1A的情况下,时钟频率等于大约20到50MHz,在图2A的情况下,时钟频率被降低到大约其初始值的十六分之一来降低功率消耗。更一般地,时钟信号的频率降低2到32倍。
图2B示出了对同步流水线(诸如LDO)供电的供电电路的电流消耗。在这种情况下,由于电流尖峰之间的相对长的时间段,LDO不能够维持稳定的电流消耗,并且电流消耗具有时钟信号的每个时钟沿上的峰值。LDO上面的电路消耗变化由RF卡的天线看到,并且可以因此干扰RF卡与RF阅读器之间的通信。例如,RF阅读器可能错误地将天线处的变化解译为RF卡与RF阅读器之间的通信尝试。
图3示意性地示出了同步流水线300的示例。流水线300例如包括串联耦合的三个级302、304、306,并且相应地对输入数据执行操作OPERATION 0(操作0)、OPERATION 1(操作1)和OPERATION 2(操作2)。该级例如串联布置,使得每级接收先前级的输出数据作为输入数据。虽然未示出在图3中,但是每个流水线级可以包括:一个或多个输入寄存器,其在由该级处理从前一流水线级所接收的输入数据之前暂时地存储从前一流水线级所接收的输入数据;或一个或多个输出级,其在输出数据被提供到下一流水线级之前暂时地存储输出数据。各级接收相同时钟信号CLK,并且因此由每级供应的操作例如在基本上相同时间点处执行,其中基本上例如隐含时钟周期的加或减5%的裕度。
图4示意性地示出了根据本公开的示例实施例的同步流水线400。流水线400与流水线300类似,并且相同特征已经标记有相同附图标记。然而,在图4的实施例中,流水线级302、304和306各自相应地接收时钟信号CLK0、CLK1和CLK2。时钟信号CLK0、CLK1和CLK2中的每一个例如基于主时钟信号MCLK由时钟控制器(CLOCK CONTROLLER)402生成。时钟信号中的每一个时钟信号例如是相同频率的时钟信号。
时钟控制器402例如被配置为生成时钟信号CLK0到CLKN以选择数据处理周期将被展开在其之上的时钟相位的数量。例如,时钟控制器402可以生成所有时钟信号CLK0到CLKN以具有相位边沿中的一个或多个,使得流水线级彼此同步地操作,或者将每个处理周期展开在两个或两个以上时钟相位之上,并且直到N+1个时钟相位。在一些实施例中,时钟控制器402基于对电路供电的可用功率,选择针对每个处理操作的时钟相位的数量。在备选实施例中,其他准则可以被用于选择时钟相位的数量。例如,在要为密码电路增加对边信道攻击的保护的情况下,可以以随机或伪随机方式选择时钟相位的数量。
虽然图4示出了其中存在三个流水线级的示例,但是在备选实施例中,可以存在任何多个流水线级。
现在将参考图5A和图5B的时序图更详细地描述图4的流水线400的操作。
图5A示出了图4的主时钟信号MCLK和时钟信号CLK0、CLK1和CLK2的示例。
在图3的流水线的情况下,根据时钟信号CLK的每个显著的时钟沿,每个流水线级302、304、306将处理存在于其输入处的相应的数据值D0、D1、D2并且在其输出处提供结果。在图3的流水线中的每个有效时钟沿时执行的这些事件在本文中将被称为流水线的处理周期。
在图5A的示例中,流水线处理周期被展开在主时钟周期MCLK的三个连续周期上。例如,主时钟信号MCLK包括一系列高脉冲P1到P9,并且时钟信号CLK0仅包括脉冲P3、P6和P9,时钟信号CLK1仅包括脉冲P2、P5和P8,并且时钟信号CLK2仅包括脉冲P1、P4和P7。脉冲P1、P2和P3例如对应于在其中每个流水线级被触发一次的流水线的第一处理周期C1。类似地,脉冲P4、P5和P6例如对应于流水线的第二处理周期C2,并且脉冲P7、P8和P9例如对应于流水线的第三处理周期C3。当然,虽然在图5A的示例中选择主时钟的正脉冲,但是在备选实施例中,可以选择负脉冲。流水线级可以由下降和/或上升时钟沿时钟控制。
因此,在多个时钟相位之上执行每个流水线处理周期C1、C2和C3。在图5A的示例中,从最早到最晚的时钟相位相应地被应用到流水线的从最后一个到第一个的级。做出该选择以便避免更改流水线中的数据处理操作的功能行为,如下面将更详细描述的。
图5B是根据操作的另一示例的示出图4的主时钟信号MCLK和时钟信号CLK0到CLK3的时序图,假定在该示例中流水线包括四级。如在图5B中所示出的,时钟控制器402例如能够从一个处理周期到下一处理周期动态地修改每个流水线级的时钟相位。图5B示出了四个连续的处理周期C4到C7的示例。
在图5B的处理周期C4和C7中,时钟信号CLK0到CLK3全部包括主时钟的相同高脉冲P10,并且因此所有流水线级同步地操作。
在处理周期C5中,时钟信号CLK0到CLK3相应地包括主时钟信号的连续的高脉冲P11到P14,使得流水线的处理周期被展开在主时钟的四个连续的时钟周期上。
在处理周期C6中,时钟信号CLK2和CLK3包括主时钟的相同高脉冲P15,并且时钟信号CLK0和CLK1包括主时钟信号MCLK的相同高脉冲P16,使得流水线的处理周期被展开在主时钟的两个连续的时钟周期上。
当然,图5B的处理周期提供仅一个示例,并且在备选实施例中,时钟控制器402例如能够动态地选择针对每个处理周期的操作模式。该选择例如基于期望的时钟频率,其中频率越低,流水线的每个处理周期的时钟相位的数量越大。在备选实施例中,该选择可以基于其他准则(诸如针对功率管理或针对安全性)。假定p级的流水线,每个数据处理操作例如被展开在多达p个连续的时钟相位上。
在图5B的示例中,流水线级在处理周期C4中全部一起被分组,并且在周期C6中成对地分组。在一些实施例中,可以从一个处理周期到另一处理周期执行流水线级的动态分组。这例如出于安全原因是有利的,因为其提供来自边信道攻击的保护。例如,可以使用两个时钟相位,并且在第一处理周期中,第一相位可以应用到第四流水线级,同时第二相位被应用到第一流水线级、第二流水线级和第三流水线级。在后续处理周期中,第一相位可以被应用到第三流水线级和第四流水线级,同时第二相位被应用到第一流水线级和第二流水线级。在又一处理周期中,第一相位可以被应用到第二流水线级、第三流水线级和第四流水线级,同时第二相位被应用到第一流水线级。作为另一示例,在八级流水线中,可以选择时钟信号的三个相位以连续地使能第一处理周期期间的6-1-1个流水线级和后续处理周期期间的3-2-3个流水线级。更一般地,在一个数据处理周期期间,流水线的第一j级例如接收第一时钟信号,并且流水线的第二k级例如接收与第一时钟信号异相的第二时钟信号,并且在另一数据处理周期期间,流水线的第一l级例如接收第一时钟信号,并且流水线的第二m级例如接收第二时钟信号,其中j、k、l和m各自是等于1或更多的整数,并且j和l是不相等的。
进一步地,虽然在图5A和图5B的实施例中,应用到每个流水线级的时钟脉冲与主时钟信号同步,但是在备选实施例中,时钟信号之间的相位差可以小于主时钟的一个时钟周期。
图6示意性地更详细地示出了根据示例实施例的图4的时钟控制器402。
图6的示例针对其中时钟控制器420生成八个时钟信号CLK0到CLK7的情况。当然,在备选实施例中,时钟控制器420可以生成任何多个时钟信号。
时钟控制器402例如包括输入线602,其接收指示将被用于流水线的每个处理周期的主时钟的时钟周期的数量的命令信号Div_cmd。线602例如被耦合到一对触发器604、606的串联连接,其例如通过基于指示每个处理周期的结束并且在输入线608上提供的定时信号对命令信号Div_cmd进行时钟控制使信号与流水线操作同步。当处理周期的最后时钟相位Ena(7)已经激活时,例如断言该定时信号。同步命令信号Div_cmd_sync在线610上被提供到计算逻辑电路(COMP LOGIC)612,其例如生成使能信号Nxt_Ena(7:0)的集合。
使能信号Nxt_Ena(7:0)将一个或多个逻辑“1”值加载到触发器614,其每个与时钟信号CLK0到CLK7中的对应的一个相关联。每个触发器614例如由主时钟信号MCLK时钟控制。触发器614输出对应的使能信号作为输出Ena(7:0),其例如被提供到对应的时钟门(CG)616的使能输入EN。时钟门616各自接收时钟信号MCLK,并且当其相应的使能信号在逻辑“1”时在其输出处供应时钟信号。这样,时钟门在其输出处相应地生成时钟信号CLK0到CLK7。
使能信号Ena(7:0)还例如被提供在返回到计算逻辑电路612的反馈路径618上。电路612例如基于命令信号Div_cmd_sync并且基于对应于信号Ena(7:0)的使能信号的先前值,生成使能信号Nxt_Ena(7:0)。例如,假定命令信号Div_cmd_sync指示处理周期将被展开在n个时钟周期上并且存在q个独立时钟信号,电路612例如通过断言使能信号Nxt_Ena(0)到Nxt_Ena((q/n)1)开始处理周期。如果n等于1,那么处理周期是完整的。然而,如果n大于1,那么对于主时钟的下一周期而言,信号Ena(7:0)的q/n逻辑“1”向左偏移q/n位置以生成信号Nxt_Ena(7:0)。这例如继续直到在处理周期已经断言所有时钟信号(例如,直到已经断言值Nxt_Ena(7))。
在一些实施例中,可以省略时钟门616,并且触发器614可以直接提供时钟信号CLK0到CLK7。然而,使用时钟门控的优点在于,当使能信号Ena(7:0)全部断言时,时钟信号CLK0到CLK7的频率将是主时钟MCLK的频率,而不是限于主时钟的频率的一半。
图7A至图7D是根据示例实施例的表示流水线中的处理操作的执行时间的示图。其假定流水线具有四级:FSM(有限状态机)级,其控制流水线中的多路复用器以将数据D0_A或D0_B提供到流水线中;命令级CMD,其对数据D0_A执行命令CMD_A或者对数据D0_B执行命令CMD_B;计算级CALC,其执行计算CALC_A或CALC_B;和结果级RES,其存储结果RES_A或RES_B。
图7A示出了在其中由流水线的每级所接收的时钟相同的情况。在流水线的第一处理周期C1中,FSM提供数据D0_A。在流水线的第二周期C2中,FSM提供数据D0_B,并且CMD级执行命令CMD_A。在流水线的第三周期C3中,CMD级执行命令CMD_B,并且计算级执行计算CALC_A。在第四周期C4中,CALC级执行计算CALC_B,并且存储结果RES_A。在第五周期C5中,存储结果RES_B。而且,在第五周期中,存储在操作RES_A中的值A例如由FSM级使用,其例如经由流水线的反馈路径接收该值。
图7B示出了在其中时钟频率已经例如关于图7A的示例降低2的示例,并且存在两个时钟相位,每个处理周期被展开在两个时钟周期上。因此,不是由全部时钟周期间隔,通过流水线的操作由一半时钟周期间隔。可以看到,在该示例中,流水线的行为与图7A的行为存在功能性差异,因为结果RES_A将在FSM级的第三处理周期中的反馈路径上是可用的,然而数据仅使用在FSM级的第五处理周期C5中。换句话说,在该示例中,将处理周期展开在数个时钟相位之上产生功能保持问题。
图7C示出了用于降低在图7B中所标识的功能保持问题的影响的方案。在图7C的示例中,每个处理周期被展开在四个时钟相位上,并且在图7C中标记PH4的每个周期的最晚相位被提供到第一流水线级(其是FSM级)。而且,第二最晚相位PH3被提供到第二流水线级(其是CMD级),第三最晚相位PH2被提供到第三流水线级(其是CALC级),并且最早相位PH1被提供到最后流水线级(其是RES级)。可以看到,时钟相位的该选择意味着结果RES_A仅比要求早一个周期是可用的。因此,存在至多行为中的一个时钟周期偏移。
图7D示出了图7C的示例类似的另一示例,但是其中修改流水线处理使得数据在其被使用之后一个周期是稳定的。因此,非活动周期被添加在其中提供数据D0_A的FSM的周期C1之后,并且这样结果RES_A还针对级RES的周期C5保持有效,使得其可以在没有任何保持的情况下直接经由反馈路径由FSM级使用。
图8A示意性地示出了根据示例实施例的模块算术硬件加速器。该电路例如实现RSA(Rivest,Shamir and Adleman)密码算法的一部分,但是在备选实施例中,其可以具有其他应用(诸如针对ECC(椭圆曲线密码学)算法或其他加密或解密操作)。图8A的电路例如实现模幂操作的一部分,并且特别地,函数A.B+Y.N,换句话说A.B模(A.B modulo N)的模乘。每个数据字A例如分为段Ai以用于处理。例如,值A、B和N是计算的操作数,并且Y表示允许待实现的模特性的数量,例如使得0<A.B+Y.N<N。用于计算Y的装置将为本领域的技术人员所知。
Ai、B和N的值以及先前迭代S=Ri-1的临时结果例如被存储在存储器802(其是例如RAM(随机存取存储器))中,并且每次迭代的临时结果R被存储到存储器802。在该示例中,S被用于从A0到Ai-1累加前面的结果。R是A0到Ai与B的乘法的临时结果。Ai、B、N、Yi、S和R的值例如相应地被存储在对应的寄存器804、806、808、810、812和814中。
值B和值A的第i段Ai通过乘法器816相乘在一起。结果的一部分仍然取决于B的下一部分,同时结果的另一部分关于B是最后的。临时结果经由返回到乘法器816的反馈路径累加,其然后执行B的下一部分的乘法,直到全部值B已经乘以值Ai。结果的最后部分然后逐渐地被提供到加法器818以添加到由多路复用器820所提供的值。
类似地,值N和值Y的第i段Yi通过乘法器824相乘在一起,并且结果的一部分经由返回到乘法器824的反馈路径被提供,其然后执行N的下一部分的乘法,直到全部值N已经乘以值Yi。结果然后被提供到加法器822以添加到由加法器818所提供的值。Yi的值还被存储在Yi寄存器810中。
多路复用器820在初始迭代时将零的值提供给加法器818,并且在后续迭代时先前迭代的结果S。
RAM控制电路(RAM CTRL)826例如控制至和自存储器802的读操作和写操作,并且FSM(有限状态机)828例如控制电路中的数据的开关,如参考图8B将更详细解释的。中间寄存器(INT REG)830存储由乘法器816所执行的乘法的结果。
图8B示出了在根据在其中各级同步操作的标准方法的图8A的电路中所形成的流水线。流水线例如包括对应于FSM 828、A、B、S和N存储器(ABSN REGS)804、806、812和808、乘法器(MULT0)816、中间寄存器(INT REG)830、乘法器(MULT1)824、寄存器(RESULT)814和存储器(RAM)802的级。FSM 828例如控制ABSN寄存器和存储器控制电路(RAM CTRL)826。存储器控制电路826进而控制RAM 802以将数据提供给ABSN寄存器。流水线的各级从时钟控制器(CLK CTRL)902接收相同时钟信号CLK。
图9A和图9B表示根据在其中实现动态相位控制的示例实施例的图8A和图8B的模块算术电路的备选实施方式。
图9A的电路与图8A的电路相同,但是附加地指示针对每个流水线级其接收的时钟相位。
图9B示出了与图8B的流水线类似的经修改的流水线,但是其中乘法器816和824已经分割为提供分离的流水线子级。特别地,乘法器816例如包括对应于MSB乘法器(MULT0MSB)816'和LSB乘法器(MULT0 LSB)816”的两个子级。乘法器816'例如接收值Ai的a/2最高有效位,其中a是值Ai的位的数量,并且乘法器816”例如接收值Ai的a/2最低有效位。子级816'、816”是例如能够并行执行或关于彼此相位偏移的并行处理块。类似地,乘法器824例如包括对应于MSB乘法器(MULT1 MSB)824'和LSB乘法器(MULT1 LSB)824”的两个子级。乘法器824'例如接收值Yi的c/2最高有效位,其中c是值Yi的位的数量,并且乘法器824”例如接收值Yi的c/2最低有效位。子级824'、824”是例如能够并行执行或关于彼此相位偏移的并行处理块。
再参考图9A,流水线的级例如各自接收八个时钟相位之一。流水线级例如以相反的顺序从最早相位到最晚级接收相位,这样第一流水线级接收最晚时钟相位,并且最后流水线级接收最早时钟相位。例如,参考图9A和图9B,RAM 802和寄存器814从时钟控制器的电路(CTRL 0)接收最早时钟相位0,乘法器824”从时钟控制器的电路(CTRL 1)接收时钟相位1,乘法器824'从时钟控制器的电路(CTRL 2)906接收时钟相位3,中间寄存器830从时钟控制器的电路(CTRL 3)908接收时钟相位3,乘法器816”从时钟控制器的电路(CTRL 4)910接收时钟相位5,ABSN寄存器804、806、812、808和存储器控制器826从时钟控制器的电路(CTRL6)914接收时钟相位6,并且FSM 828从时钟控制器的电路(CTRL 7)916接收时钟相位7。
因此,在图9B的示例中,初始数据处理流水线的一个或多个流水线级被分为超过一个并行子级以便创建可以由关于彼此偏移的独立时钟信号时钟控制的子级。有利地,这些子级是能够在关于原始流水线级不将延时添加到流水线的情况下并行执行的并行级。而且,然而寄存器例如被提供用于存储流水线的流水线级之间的数据,没有这样的寄存器例如被添加在流水线子级之间。
例如,数据处理流水线的电路概念的方法包括例如通过通过将至少一个初始流水线级分割为能够由关于彼此偏移的时钟信号相位时钟控制的多个并行子级修改数据处理流水线的初始电路设计,生成数据处理流水线的电路设计。电路设计还例如包括由对应的独立时钟信号时钟控制的一个或多个另外的流水线级,其中电路设计中的独立时钟信号的数量大于初始电路设计的流水线级的数量。换句话说,采取具有N级的数据处理流水线的初始电路设计,电路设计例如通过将流水线级中的一个或多个分割为多个子级修改,流水线级和子级由M个独立时钟信号的相应那些时钟控制,其中M>N。制造数据处理流水线的方法例如包括基于电路设计制造数据处理流水线。
图10示意性地示出了根据示例实施例的多核心处理系统1000。系统1000例如包括核心(CORE#1)1002和核心(CORE#2)1004,并且系统1000可以附加地包括进一步的核心(未示出在图10中)。核心1002、1004例如相应地接收主时钟信号MCLK_C1、MCLK_C2,其例如基于共同主时钟信号MCLK由控制电路(CTRL)1006生成。在处理系统包括进一步的核心的情况下,控制电路1006可以附加地生成进一步的主时钟信号。
每个核心1002、1004例如包括由与图4的控制器402类似的时钟控制器所控制的图4的流水线类似的流水线(未示出在图10中),时钟控制器相应地在核心1002、1004中被标记1008和1010。
每个时钟控制器1008、1010例如能够使流水线级中的一个或多个的操作的相位变化,如上文所描述的。附加地或者备选地,控制器1006例如能够生成将彼此异相的主时钟信号MCLK_C1和MCLK_C2,如现在将参考图11更详细描述的。
图11是共同主时钟信号MCLK、用于驱动核心1002的流水线的不同级的流水线时钟信号PS1C1、PS2C1和用于驱动核心1004的流水线的不同级的流水线时钟信号PS1C2、PS2C2的示例的时序图。
在图11的示例中,共同主时钟信号MCLK包括初始相位期间的脉冲P1到P5。该相位例如对应于核心1002、1004的起始相位的至少一部分。
时钟信号PS1C1例如包括初始相位期间的主时钟信号MCLK的奇数脉冲P1、P3、P5等,并且时钟信号PS2C1例如包括初始相位期间的主时钟信号MCLK的偶数脉冲P2、P4等。例如,供应到核心1002的主时钟MCLK_C1对应于共同主时钟MCLK,并且时钟控制器1008通过选择该主时钟的脉冲生成信号PS1C1和PS2C1。
时钟信号PS1C2例如包括在初始相位期间各自延迟一半时钟周期的共同主时钟信号MCLK的奇数脉冲P1、P3、P5等。时钟信号PS2C2例如包括在初始相位期间各自延迟一半时钟周期的共同主时钟信号MCLK的偶数脉冲P2、P4等。例如,供应到核心1004的主时钟MCLK_C2符合反相主时钟并且时钟控制器1010通过选择该反相主时钟的脉冲生成信号PS1C2和PS2C2。
初始相位的持续时间可以等于比图11中所示的五个脉冲更少或更大数量的共同主时钟MCLK的脉冲。在后续相位期间,例如从主时钟MCLK的第n相位开始,例如使时钟信号PS1C1、PS2C1、PS1C2和PS2C2彼此同相以返回到正常同步操作。
对于本领域的技术人员而言将明显的是,图11的示例仅表示可以如何选择供应到核心1002、1004中的流水线级的时钟信号的相位的一个示例。可以存在可以使用在备选实施例中的许多备选相位组合。
而且,在一些实施例中,核心1002中的流水线级可以彼此同步运行,并且核心1004中的流水线级可以彼此同步运行,并且可以仅在供应到多核心处理系统1000的核心中的每一个核心的主时钟信号MCLK_C1、MCLK_C2之间应用相位偏移。
本文所描述的实施例的优点在于,通过动态地控制提供给数据处理流水线的各级的时钟信号的时钟相位,可以动态地修改流水线的功率消耗。在NFC卡中,将功率消耗展开在数个时钟相位上导致以下优点:这将导致更平滑的电流需求,从而帮助避免在其中将在天线处看到电路消耗的情况。在密码电路中,将功率消耗展开在数个时钟相位上可以帮助基于电路的功率消耗防止边信道攻击(特别地如果以从一个数据处理周期到另一数据处理周期的动态的方式修改提供给流水线级的时钟相位)。在其他电路中(诸如多核心处理器),将功率消耗展开在数个时钟相位上可以避免供电电流中的尖峰,其可以引起存在于核心的供电电压轨上的供电电压的急剧下降。
图9A和图9B的RSA算法的实施方式的优点在于,通过将一个或多个乘法操作分割为分离的流水线级并且控制这些流水线级以在不同的时钟相位上执行,可以显著地降低每个时钟相位上的功率消耗。实际上,乘法操作往往是相对耗电的。
因此,已经描述至少一个说明性实施例,本领域的技术人员将容易地想到各种变化、修改和改进。例如,虽然图8A、图8B、图9A和图9B示出了RSA算法的一部分的特定实施方式,但是对于本领域的技术人员而言将明显的是,关于其所描述的原理可以适于其他类型的电路。
而且,对于本领域的技术人员而言将明显的是,在备选实施例中,可以以任何组合组合关于各种实施例所描述的各种特征。例如,关于图5B所描述的动态操作可以适于图9A和图9B的RSA实施例。
可以组合上文所描述的各种实施例以提供进一步的实施例。可以根据以上详细描述对实施例做出这些和其他改变。一般而言,在以下权利要求中,所使用的术语不应当被解释为将权利要求限于说明书和权利要求中所公开的特定实施例,而是应当被解释为包括所有可能的实施例连同这样的权利要求授权的等价方案的全范围。因此,权利要求不由本公开限制。
Claims (16)
1.一种具有数据处理流水线的电子设备,包括:
第一流水线级,被配置为接收第一时钟信号并且被配置为执行由所述第一时钟信号的多个第一定时边沿触发的第一操作;
第二流水线级,被配置为接收第二时钟信号并且被配置为执行由所述第二时钟信号的多个第二定时边沿触发的第二操作;
时钟控制器,被配置为生成所述第一时钟信号和所述第二时钟信号,其中所述时钟控制器能够进行以下操作:
在第一模式中,其中在所述数据处理流水线的第一数据处理周期期间,所述多个第一定时边沿中的第一个定时边沿与所述多个第二定时边沿中的第一个定时边沿同相;以及
在第二模式中,其中在所述数据处理流水线的第二数据处理周期期间,所述多个第一定时边沿中的第二个定时边沿与所述多个第二定时边沿中的第二个定时边沿异相,其中在所述第二模式中,所述时钟控制器适于将所述第二数据处理周期展开在N个时钟相位上,其中N在2与P之间,其中P为整数,其表示在所述数据处理流水线中有多少流水线级。
2.根据权利要求1所述的电子设备,其中所述时钟控制器被配置为基于主时钟信号,生成所述第一时钟信号和所述第二时钟信号。
3.根据权利要求2所述的电子设备,其中:
当在所述第一模式中时,所述时钟控制器被配置为选择所述主时钟信号的第一定时边沿以形成所述多个第一定时边沿中的所述第一个定时边沿和所述多个第二定时边沿中的所述第一个定时边沿;以及
当在所述第二模式中时,所述时钟控制器被配置为选择所述主时钟信号的第二定时边沿以形成所述第一时钟信号的所述多个第一定时边沿中的所述第二个定时边沿和选择所述主时钟信号的第三定时边沿以形成所述第二时钟信号的所述多个第二定时边沿中的所述第二个定时边沿。
4.根据权利要求3所述的电子设备,其中所述时钟控制器包括:
计算电路,所述计算电路适于生成:
第一使能信号,用于选择所述主时钟信号的所述第二定时边沿以形成所述第一时钟信号的所述多个第一定时边沿中的所述第二个定时边沿;以及
第二使能信号,用于选择所述主时钟信号的所述第三定时边沿以形成所述第二时钟信号的所述多个第二定时边沿中的所述第二个定时边沿。
5.根据权利要求4所述的电子设备,其中所述计算电路适于基于所述第一使能信号和第二使能信号的先前值并且基于时钟分频因数,生成所述第一使能信号和第二使能信号的当前值。
6.根据权利要求1所述的电子设备,其中所述第一流水线级包括:
输出,被耦合到所述第二流水线级的输入,其中在所述数据处理流水线的所述第二数据处理周期期间,所述时钟控制器适于生成在第一时间点处发生的所述第一时钟信号的所述多个第一定时边沿中的所述第二个定时边沿,并且进一步适于生成在第二时间点处发生的所述第二时钟信号的所述多个第二定时边沿中的所述第二个定时边沿,所述第二时间点比所述第一时间点更早。
7.根据权利要求1所述的电子设备,其中所述电子设备是近场通信NFC卡,并且其中所述时钟控制器进一步适于基于对于所述NFC卡的可用功率,控制所述第一时钟信号和第二时钟信号的时钟周期。
8.根据权利要求1所述的电子设备,其中所述电子设备是密码电路,并且其中在所述第二数据处理周期期间,所述流水线的第一J级接收所述第一时钟信号,并且所述流水线的第二K级接收所述第二时钟信号,并且在第三数据处理周期期间,所述流水线的第一L级接收所述第一时钟信号,并且所述流水线的第二M级接收所述第二时钟信号,其中J、K、L和M各自是等于1或更多的整数,并且J和L是不相等的。
9.根据权利要求1所述的电子设备,其中所述电子设备是模块算术硬件加速器,并且其中所述第一流水线级和第二流水线级实现乘法操作。
10.一种多核心处理器,包括:
第一核心,所述第一核心具有第一数据处理流水线,被配置为接收第一主时钟信号并且被配置为执行由所述第一主时钟信号的多个第一定时边沿触发的第一操作;
第二核心,所述第二核心具有第二数据处理流水线,被配置为接收第二主时钟信号并且被配置为执行由所述第二主时钟信号的多个第二定时边沿触发的第二操作;
时钟控制电路,被配置为将所述第一主时钟信号供应到所述第一核心并且将所述第二主时钟信号供应到所述第二核心,其中所述第一主时钟信号和第二主时钟信号的时钟边沿中的至少一些时钟边沿彼此异相,
其中所述时钟控制电路被布置为在第一模式中操作,其中在所述第一核心的第一数据处理周期期间,所述多个第一定时边沿中的第一个定时边沿与所述多个第二定时边沿中的第一个定时边沿同相,并且其中所述时钟控制电路被布置为在第二模式中操作,其中在所述第二核心的第二数据处理周期期间,所述多个第一定时边沿中的第二个定时边沿与所述多个第二定时边沿中的第二个定时边沿异相,并且其中在所述第二模式中,所述第二数据处理周期展开在N个时钟相位上,其中N在2与P之间,其中P为整数,表示所述第二数据处理流水线中的流水线级的总数。
11.根据权利要求10所述的多核心处理器,其中所述第一核心和所述第二核心中的至少一个被布置为执行近场通信NFC卡的功能,并且其中所述时钟控制电路被布置为基于对于所述NFC卡的可用功率,控制所述第一主时钟信号和第二主时钟信号中的至少一个的时钟周期。
12.根据权利要求10所述的多核心处理器,其中所述第一核心和所述第二核心中的至少一个被布置为执行模块算术硬件加速器的功能,并且其中所述第一核心和所述第二核心中的至少一个被布置为实现乘法操作。
13.一种数据处理流水线电路设计方法,包括:
通过将初始流水线级分割为两个并行流水线子级来修改数据处理流水线的初始电路设计,所述两个并行流水线子级包括:
第一流水线级,被配置为执行由第一时钟信号的第一定时边沿触发的第一操作;以及
第二流水线级,被配置为执行由第二时钟信号的第二定时边沿触发的第二操作,所述第二时钟信号独立于所述第一时钟信号;以及
将经修改的所述初始电路设计与被配置为生成所述第一时钟信号和第二时钟信号的时钟控制器集成,其中所述时钟控制器被布置为进行以下操作:
在第一模式中,其中在所述数据处理流水线的第一数据处理周期期间,所述第一定时边沿中的第一个定时边沿与所述第二定时边沿中第一个定时边沿同相;以及
在第二模式中,其中在所述数据处理流水线的第二数据处理周期期间,所述第一定时边沿中的第二个定时边沿与所述第二定时边沿中第二个定时边沿异相,其中在所述第二模式中,所述第二数据处理周期展开在N个时钟相位上,其中N在2与P之间,其中P为整数,其表示在所述数据处理流水线中有多少流水线级。
14.根据权利要求13所述的数据处理流水线电路设计方法,包括:
进一步将经修改的所述初始电路设计与由对应的独立时钟信号时钟控制的一个或多个另外的流水线级集成,其中所述数据处理流水线电路设计中的独立时钟信号的总数量大于所述数据处理流水线的所述初始电路设计的流水线级的总数量。
15.一种动态地控制数据处理流水线的方法,包括:
通过时钟控制器,从主时钟信号生成第一时钟信号和第二时钟信号;
将所述第一时钟信号提供给第一流水线级,所述第一流水线级被配置为执行由所述第一时钟信号的第一定时边沿触发的第一操作;
将所述第二时钟信号提供给第二流水线级,所述第二流水线级被配置为执行由所述第二时钟信号的第二定时边沿触发的第二操作;
在第一模式中操作所述时钟控制器,其中在所述数据处理流水线的第一数据处理周期期间,所述第一定时边沿中的一个或多个定时边沿与所述第二定时边沿中的一个或多个定时边沿同相;以及
在第二模式中操作所述时钟控制器,其中在所述数据处理流水线的第二数据处理周期期间,所述第二数据处理周期展开在N个时钟相位上,其中N在2与P之间,其中P是整数,表示所述数据处理流水线中的流水线级的总数,并且所述第一定时边沿中的一个或多个定时边沿关于所述第二定时边沿中的一个或多个定时边沿异相。
16.根据权利要求15所述的方法,包括:
当在所述第一模式中操作所述时钟控制器时,选择所述主时钟信号的第一定时边沿以形成所述第一定时边沿和第二定时边沿中的第一个定时边沿;以及
当在所述第二模式中操作所述时钟控制器时,选择所述主时钟信号的第二定时边沿以形成所述第一时钟信号的所述第一定时边沿中的第二个定时边沿和选择所述主时钟信号的第三定时边沿以形成所述第二时钟信号的所述第二定时边沿中的第二个定时边沿。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1656052 | 2016-06-29 | ||
FR1656052A FR3053485A1 (fr) | 2016-06-29 | 2016-06-29 | Procede et circuit de controle dynamique de consommation d'energie |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107545292A CN107545292A (zh) | 2018-01-05 |
CN107545292B true CN107545292B (zh) | 2021-01-08 |
Family
ID=57396545
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201621438938.2U Withdrawn - After Issue CN207397257U (zh) | 2016-06-29 | 2016-12-26 | 具有数据处理流水线的电子设备以及多核心处理器 |
CN201611219826.2A Active CN107545292B (zh) | 2016-06-29 | 2016-12-26 | 用于动态功率控制的方法和电路 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201621438938.2U Withdrawn - After Issue CN207397257U (zh) | 2016-06-29 | 2016-12-26 | 具有数据处理流水线的电子设备以及多核心处理器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10067550B2 (zh) |
EP (1) | EP3264221B1 (zh) |
CN (2) | CN207397257U (zh) |
FR (1) | FR3053485A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3053485A1 (fr) * | 2016-06-29 | 2018-01-05 | STMicroelectronics (Alps) SAS | Procede et circuit de controle dynamique de consommation d'energie |
US10459477B2 (en) * | 2017-04-19 | 2019-10-29 | Seagate Technology Llc | Computing system with power variation attack countermeasures |
US10359803B2 (en) * | 2017-05-22 | 2019-07-23 | Qualcomm Incorporated | System memory latency compensation |
DE102018215139A1 (de) * | 2018-09-06 | 2020-03-12 | Robert Bosch Gmbh | Betriebsverfahren und Steuereinheit für ein Daten-/Signalauswertesystem, Daten-/Signalauswertesystem, Ultraschallbetriebsassistenzsystem und Arbeitsvorrichtung |
US11575457B2 (en) * | 2021-01-19 | 2023-02-07 | Avago Technologies International Sales Pte. Limited | Power-smart packet processing |
CN113381736B (zh) * | 2021-06-25 | 2023-11-21 | 上海威固信息技术股份有限公司 | 一种高吞吐率的流水线电路 |
CN113505095B (zh) * | 2021-07-30 | 2023-03-21 | 上海壁仞智能科技有限公司 | 多核异相处理的系统级芯片和集成电路 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1147882A (zh) * | 1995-01-25 | 1997-04-16 | 高级微型设备有限公司 | 包括多个传输门的高速锁存电路及使用它的微处理器 |
US20070294548A1 (en) * | 2002-10-02 | 2007-12-20 | International Business Machines Corperation | Interlocked synchronous pipeline clock gating |
US20080043890A1 (en) * | 2006-07-26 | 2008-02-21 | Igor Arsovski | TRANSITION BALANCING FOR NOISE REDUCTION /di/dt REDUCTION DURING DESIGN, SYNTHESIS, AND PHYSICAL DESIGN |
CN207397257U (zh) * | 2016-06-29 | 2018-05-22 | 意法半导体 (Alps) 有限公司 | 具有数据处理流水线的电子设备以及多核心处理器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7620131B2 (en) | 2005-11-22 | 2009-11-17 | Sigmatel, Inc. | Digital clock controller, radio receiver, and methods for use therewith |
US20170062075A1 (en) * | 2015-08-31 | 2017-03-02 | Sandisk Technologies Inc. | Apparatus including core and clock gating circuit and method of operating same |
-
2016
- 2016-06-29 FR FR1656052A patent/FR3053485A1/fr active Pending
- 2016-08-31 US US15/253,012 patent/US10067550B2/en active Active
- 2016-11-25 EP EP16200665.4A patent/EP3264221B1/en active Active
- 2016-12-26 CN CN201621438938.2U patent/CN207397257U/zh not_active Withdrawn - After Issue
- 2016-12-26 CN CN201611219826.2A patent/CN107545292B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1147882A (zh) * | 1995-01-25 | 1997-04-16 | 高级微型设备有限公司 | 包括多个传输门的高速锁存电路及使用它的微处理器 |
US20070294548A1 (en) * | 2002-10-02 | 2007-12-20 | International Business Machines Corperation | Interlocked synchronous pipeline clock gating |
US20080043890A1 (en) * | 2006-07-26 | 2008-02-21 | Igor Arsovski | TRANSITION BALANCING FOR NOISE REDUCTION /di/dt REDUCTION DURING DESIGN, SYNTHESIS, AND PHYSICAL DESIGN |
CN207397257U (zh) * | 2016-06-29 | 2018-05-22 | 意法半导体 (Alps) 有限公司 | 具有数据处理流水线的电子设备以及多核心处理器 |
Non-Patent Citations (1)
Title |
---|
Synchronous Interlocked Pipelines;Hans M. Jacobson 等;《Proceedings Eighth International Symposium on Asynchronous Circuits and Systems》;IEEE;20020411;第1-10页 * |
Also Published As
Publication number | Publication date |
---|---|
CN207397257U (zh) | 2018-05-22 |
US10067550B2 (en) | 2018-09-04 |
CN107545292A (zh) | 2018-01-05 |
EP3264221B1 (en) | 2021-06-02 |
FR3053485A1 (fr) | 2018-01-05 |
EP3264221A1 (en) | 2018-01-03 |
US20180004270A1 (en) | 2018-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107545292B (zh) | 用于动态功率控制的方法和电路 | |
Khan et al. | High-Speed and Low-Latency ECC Processor Implementation Over GF ($2^{m}) $ on FPGA | |
EP2762990B1 (en) | Clock selection circuit and method | |
US4901267A (en) | Floating point circuit with configurable number of multiplier cycles and variable divide cycle ratio | |
Khan et al. | High speed ECC implementation on FPGA over GF (2 m) | |
CN111562808A (zh) | 时钟电路系统、计算芯片、算力板和数字货币挖矿机 | |
CN212160484U (zh) | 时钟电路系统、计算芯片、算力板和数字货币挖矿机 | |
Bayrak et al. | An EDA-friendly protection scheme against side-channel attacks | |
Stepchenkov et al. | Energy efficient speed-independent 64-bit fused multiply-add unit | |
US5133069A (en) | Technique for placement of pipelining stages in multi-stage datapath elements with an automated circuit design system | |
US8150903B2 (en) | Reconfigurable arithmetic unit and high-efficiency processor having the same | |
US20070233772A1 (en) | Modular multiplication acceleration circuit and method for data encryption/decryption | |
Choi et al. | High performance elliptic curve cryptographic processor over GF (2^ 163) | |
Zimmermann et al. | High-performance integer factoring with reconfigurable devices | |
US20190296739A1 (en) | Minimizing information leakage from combinatorial logic | |
US7259594B2 (en) | Electronic circuit with a chain of processing elements | |
US20130013902A1 (en) | Dynamically reconfigurable processor and method of operating the same | |
CN109343825B (zh) | 一种约翰逊计数器装置 | |
Chelton et al. | A scalable GF (2/sup m/) arithmetic unit for application in an ECC processor | |
US11159183B2 (en) | Residue checking of entire normalizer output of an extended result | |
JP5127241B2 (ja) | 剰余演算装置及び剰余演算方法 | |
Feldhofer et al. | A self-timed arithmetic unit for elliptic curve cryptography | |
Vishal et al. | Design and Simulation of High-Performance 2D Convolution Architecture | |
Chang et al. | Handshaking quasi-adiabatic logic | |
Kolev et al. | Early set to zero micro-pipeline |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230421 Address after: Geneva, Switzerland Patentee after: STMicroelectronics International N.V. Address before: Grenoble Patentee before: STMicroelectronics (Alps) S.A.S. |