CN109643150B - 用于闩锁检测和缓解的系统和方法 - Google Patents
用于闩锁检测和缓解的系统和方法 Download PDFInfo
- Publication number
- CN109643150B CN109643150B CN201780054898.2A CN201780054898A CN109643150B CN 109643150 B CN109643150 B CN 109643150B CN 201780054898 A CN201780054898 A CN 201780054898A CN 109643150 B CN109643150 B CN 109643150B
- Authority
- CN
- China
- Prior art keywords
- power
- latch
- voltage
- hardware
- voltage drop
- 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 abstract description 37
- 238000001514 detection method Methods 0.000 title claims abstract description 25
- 230000000116 mitigating effect Effects 0.000 title claims abstract description 22
- 238000012544 monitoring process Methods 0.000 claims abstract description 32
- 230000008859 change Effects 0.000 claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims abstract description 12
- 230000002159 abnormal effect Effects 0.000 claims abstract description 6
- 230000011664 signaling Effects 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 56
- 238000010586 diagram Methods 0.000 description 21
- 238000005070 sampling Methods 0.000 description 11
- 238000007667 floating Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 239000000758 substrate Substances 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000010355 oscillation Effects 0.000 description 4
- 230000005855 radiation Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000010521 absorption reaction Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003071 parasitic effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910052754 neon Inorganic materials 0.000 description 1
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000035882 stress Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/31816—Soft error testing; Soft error rate evaluation; Single event testing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Power Engineering (AREA)
Abstract
用于闩锁检测和缓解的系统和方法。一个方面包括在被分成多个功率块的系统中实现的方法,其中每个功率块由对应的电源轨供电并且包括电压下降监视电路。该方法包括从多个电压下降监视电路接收频率信息;对从所述多个电压下降监视电路中的每个接收的频率信息进行归一化;创建所述多个功率块中的每对之间的基于归一化频率信息的互相关值的矩阵;确定指示电压下降的发生的互相关值中的偏差;基于所确定的偏差来确定异常变化以从所述多个功率块中标识经历闩锁事件的第一功率块;以及复位第一功率块的电源,而不中断所述多个功率块中的其余者的电源。
Description
背景技术
闩锁(latch-up)是发生在集成电路(IC)中的一类短路。其是被由于电子-空穴对的双极放大造成的逃逸电流围栏(railing)(即,在IC的电力供应轨之间的低阻抗路径的产生)所表征的故障状况。在有源器件和衬底之间形成的p-n结(其通常是反向偏置的)可能由于例如衬底对宇宙辐射的吸收而变成正向偏置的。这样的事件(辐射诱发的闩锁或单粒子闩锁)引起通常被良好地局部化(localize)(即,在几微米内)到辐射吸收附近的在电源轨(power rail)和地轨之间的电流的短路。
由闩锁引起的错误可以被表征为硬错误或软错误。软错误可以通过电源复位(power reset)或电力循环来解决,而硬错误是更加灾难且永久的,趋向于导致围栏电流、严重的电压下降和热过载。诸如当受影响的区域或组件中未中断电源以将闩锁状况复位时,如果软错误未被检测到且未被缓解,则其可能变成硬错误。
附图说明
因为参考以下详细描述,在结合附图理解时,本发明的前述方面和许多伴随的优点变得更好理解,所以其将变得更容易领会,其中除非另外指定,否则相似的参考数字贯穿各种视图指代相似的部分:
图1图示了由CMOS(互补金属氧化物半导体)工艺中的寄生结形成的双极放大器;
图2是根据本发明的实施例的闩锁检测和缓解方面的概观;
图3A是图示根据实施例的实现本发明的各方面的示例性系统的框图;
图3B是图示根据另一实施例的实现本发明的各方面的示例性系统的框图;
图4是图示根据实施例的由一对电压下降监视器收集的数据之间的互相关的曲线图;
图5图示了由闩锁检测电路生成的互相关矩阵的实施例;
图6图示了被分割成多个威胁级别或类别的闩锁可能性连续统(continuum)的实施例;
图7是图示用于检测和缓解功率块(power block)系统中的闩锁事件的方法的实施例的流程图;
图8A是图示根据本发明的实施例的示例性有序流水线和示例性寄存器重命名、无序发布/执行流水线两者的框图;
图8B是图示根据本发明的实施例的要包括在处理器中的有序架构核心的示例性实施例和示例性寄存器重命名、无序发布/执行架构核心两者的框图;
图9是根据本发明的实施例的单核心处理器和具有集成存储器控制器和图形的多核心处理器的框图;
图10图示了依照本发明的一个实施例的系统的框图;
图11图示了依照本发明的实施例的第二系统的框图;
图12图示了依照本发明的实施例的第三系统的框图;
图13图示了依照本发明的实施例的片上系统(SoC)的框图;以及
图14图示了根据本发明的实施例的对比将源指令集中的二进制指令转换成目标指令集中的二进制指令的软件指令转换器的使用的框图。
具体实施方式
本文中描述了实现用于闩锁检测和缓解的方法和系统的实施例。在以下描述中,阐述了许多具体细节以提供对本发明的实施例的透彻理解。然而,相关领域技术人员将认识到,可以在没有具体细节中的一个或多个的情况下或者利用其他方法、组件、材料、结构等实践本发明。在其他实例中,未详细示出或描述公知的结构、材料或操作以避免模糊本发明的各方面。
贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,短语“在一个实施例中”或“在实施例中”贯穿本说明书在各种地方中的出现不一定都指代同一实施例。此外,所述特定特征、结构或特性可以以任何合适的方式组合在一个或多个实施例中。为了清楚,本文中的各图中的单独组件可以通过其在各图中的标签而不是通过特定参考数字来指代。
构建在硅(Si)衬底上的集成电路易受闩锁状况的影响。在现场中,这些类型的故障常常被观察为瞬时小故障(例如死亡的Windows蓝屏),并且常常被通过完全电源复位来解决。所述故障归因于随机软错误辐射事件,其由在有源器件和衬底之间形成的pn结附近的光子吸收和随后的电子保持对生成所触发。偶尔这样的事件将触发双极放大(npn/pnp),导致跨正常反向偏置结到衬底的级联雪崩击穿。图1图示了由CMOS(互补金属氧化物半导体)工艺中的寄生结形成的双极放大器。虽然该现象通常被良好地局部化,但是更宽的电路受到影响,如由电源和地之间的围栏电流引起的电源轨上的电压下降所表明的。监视每个电源轨上的电压下降提供了可以通过其来检测闩锁事件的基本机制。
闩锁事件引起可以被表征为硬故障和软故障的错误。永久且一致的硬故障趋向于对需要昂贵维修和/或更换的电路系统造成不可逆的损坏。另一方面,软故障趋向于不那么严重,并且通常可以在电力循环之后恢复。尽管如此,软故障如果未被中断且未被缓解,则可能容易通过引起严重的热和结构损坏而变成硬故障。因此,本文中描述的闩锁检测和缓解方案目的在于通过自动地标识并快速地解决软故障来减少与闩锁事件相关联的永久硬件损坏。
本发明的各方面提供了用于基于监视电压下降来检测闩锁创造的检测机制。在一个实施例中,电压下降监视器被设计成在与其正在针对闩锁而监视的电源轨分开的电源轨上操作。在另一实施例中,监视器电路被设计成在低电压下操作,其常常与由电力供应负载线上的围栏电流引起的电压降低(brown-out)状况的特性一致。替代地,可以使一个或多个监视器电路交错以监视来自邻近块的闩锁检测信号,其中的每个与被监视块中的每个分开地得到电力。本发明的其他方面包括用于分析电压下降数据并计算出闩锁事件可能发生在哪里的方法。在一个实施例中,基于有限状态机(FSM)、有监督学习机或无监督学习机将所收集的电压下降数据馈送到智能闩锁检测器中,以关于闩锁为每个被监视的功率块确定威胁级别。根据实施例,智能闩锁检测器是优选的,因为传统的闩锁检测解决方案不能从由闩锁状况引起的更惊人的下降源中识别由于局部或全局供电线噪声而可能发生的正常电压下降。
图2是图示根据实施例的本发明的闩锁检测和缓解方面的概观的示意图。在图2中,为针对闩锁事件而要监视的每个功率块实现电压下降监视器(例如,VDM1-VDM n)。从每个VDM收集的数据然后被输出到闩锁检测器220并由闩锁检测器220收集。闩锁检测器在分析所收集的数据之后输出一个或多个结果240。在一个实施例中,针对每个功率块生成结果。该结果指示基于对所收集的数据的分析为每个功率块确定的威胁级别。根据实施例,生成的结果是四个级别L1-L4(例如,231-234)中的一个。每个级别对应于正在发生闩锁事件的可能性的程度。例如,L1231肯定地指示正在发生闩锁事件,L2 232指示闩锁事件可能当前没有发生但是即将发生,L3 233指示闩锁事件是可能的,并且L4 234指示没有发生任何闩锁事件的风险。每个威胁级别与要采取的一个或多个缓解措施相关联。
图3A是图示根据实施例的用于实现本发明的各方面的示例性系统300的框图。系统300包括一个或多个功率块(例如,311-315)。功率块可以是针对闩锁事件而监视的区域、设备、特定设备的组件等。功率块可以是物理的或逻辑的。在一个实施例中,系统300是多核心处理器,并且每个功率块表示处理器核心、高速缓冲存储器、缓存代理等。在另一实施例中,该系统是计算机并且每个功率块是计算机组件,诸如存储器控制器、硬盘驱动器控制器、以太网卡、图形卡等。当然,这些示例决不是限制性的,并且可以在可以受益于闩锁检测和缓解的任何系统中实现本发明的各方面。
在图3A中,针对闩锁事件而监视功率块311-315。每个功率块耦合到对应的电源轨(例如,361-365)并由其供电。与每个功率块监视器对应的电压下降监视器(例如,321-325)连接到该块的电源轨以监视该块中的电压下降。电压下降监视器321-325还通过总线互连320耦合到闩锁检测器340。根据实施例,闩锁检测器340利用或基于有限状态机(FSM)。闩锁检测器340还耦合到测试接入点(TAP)330和电压调节器模块(VRM)控制器350。电压下降监视器321-325、闩锁检测器340、TAP 330以及VRM控制器350可以被实现为软件、硬件电路或两者的组合。如图3中图示的,TAP 330和VRM控制器350与闩锁检测器340分开。然而,在替代实施例中,TAP 330和VRM控制器350可以被包括为闩锁检测器的一部分。此外,如图3A中图示的,闩锁检测器340、TAP 330和VRM控制器350处于在电源轨366上运行的非核心316上,所述电源轨366与被监视的功率块311-315的电源轨361-365分开。
根据实施例,每个电压下降监视器321-325包括环形振荡器(例如,RO1-RO5)和计数器(例如,Ct1-Ct5)。环形振荡器可以是基于电压的或基于电流的。在一个实施例中,每个电压下降监视器连接或分接到被监视块的电源轨中。电压下降监视器通过将从电源轨到被监视的功率块的电压转换成电压信号而工作,所述电压信号使环形振荡器(例如,RO1-RO5)振荡。电压的增加会增加环形振荡器的频率,而电压的降低(即电压下降)会降低振荡的频率。根据另一实施例,振荡的频率基于监视泄漏电流。该频率用作用于检测可能由电源轨上的闩锁招致的逃逸短路电流引起的电压下降的代理。在一个实施例中,由电压下降监视器中的计数器(例如,Ct1-Ct5)跟踪和/或记录所监视的频率。功率块中的时间延迟或频率的任何变化都将改变计数器的计数的数字。
在一个实施例中,电压下降监视器(即321-325)被设计成在与其正在针对闩锁而监视的电源轨分开的电源轨上操作。在另一实施例中,电压下降监视器被设计成在低电压下操作,其常常与由电力供应负载线上的围栏电流引起的电压降低状况的特性一致。替代地,可以使电压下降监视器交错来监视来自邻近块的闩锁检测信号,以便不受在被监视块中发生的电压下降影响。图3B示出了实现这样的交错配置的系统300的实施例。在图3B中,正在监视功率块311的电压监视器321实际上驻留在邻近的功率块312中,并且由块312的电源轨362而不是功率块311的电源轨361供电。其他电压监视器322-324被类似地配置。
电压下降监视器321-325经由互连320将所跟踪/记录的频率或计数率发送到闩锁检测器340。根据实施例,闩锁检测器使用基于管芯内变化(IDV)的方法分析由电压下降监视器提供的频率或计数率来检测闩锁。在一个实现中,闩锁检测器包括启动模式和运行模式。在启动时,从电压下降监视器获取基线环形振荡频率或计数率,以为每个电源轨建立参考或基线条件。例如,闩锁检测器可以将短采样周期内的平均频率或计数率设置为用于从其获取频率或计数率的功率块的基线。在建立基线频率或计数率之后,闩锁检测器然后进入运行模式以监视每个电源轨的频率或计数率的突然变化。替代地,在另一实施例中,预期的频率/计数率基线是针对每个功率块预先确定的并且被硬连线到闩锁检测器中。这使得能实现即时启动的闩锁检测,而无需采样周期来建立基线测量。
在运行模式中,使用被监视频率或计数率的简单相对百分比变化来检测闩锁。例如,在实施例中,频率在一定量的时间内的20%降低指示闩锁。在另一实施例中,使用自适应算法而不是固定的相对百分比。例如,在正常操作下每个电源轨的可变性的预先确定的自然范围被存储在闩锁检测器内的存储器寄存器或硬连线查找表中或者在由闩锁检测器可访问的另一位置中。与可变性的正常范围的偏差指示闩锁。这样的用于闩锁检测的自适应算法是鲁棒的并且能够计及电路本身内的漂移和老化。随着时间的过去,电路内的年龄和应力趋向于会影响所测量的频率。
根据实施例,一旦在功率块中检测到闩锁状况,闩锁检测器就发信号通知VRM控制器,所述VRM控制器操作以引起到经历闩锁的块的电源的完全复位。根据实施例,当正在经历闩锁的各个功率块复位时,总体系统保持开启和操作。在一个实施例中,仅需要较小的时间延迟来复位电源轨,复位存储器/寄存器状态,重复指令流,并使执行继续。对经历闩锁的功率块的电源复位将防止软故障变成硬故障。此外,仅需要复位受影响电源轨上的功率块,而不是功率块的整个系统。
根据另一实施例,代替简单的相对百分比变化或自适应算法,通过智能闩锁检测器来执行高级分析。闩锁检测器以适当的采样周期(TS)对从各种电压下降监视器收集的数据进行连续采样。闩锁检测器的时期(epoch)收集器收集来自各种电压下降监视器的采样数据。时期收集器收集采样数据达持续时间TE,其被称为时期周期。每个时期周期是采样周期TS的整数倍(即,TE= n×TS,其中n≥1)。根据实施例,时期周期TE是需要收集电压下降数据以便确定推断的闩锁事件可能性的变化的最小持续时间。
一旦收集到足够的数据,诸如在在持续时间TE内连续地收集针对每个采样周期TS的数据之后,就对时期收集器收集的数据进行归一化。根据实施例,相对于在一时期周期内从每个电压下降监视器收集的每个数据集中的最小值和最大值对所收集的数据进行归一化。例如,将电压下降监视器(例如,图3A和3B的电压下降监视器321)在一时期周期内收集的最小和最大频率分别设置成0.0和1.0。然后将所收集的数据集中的每个其他频率按比例调整(即,归一化)成最小值(0.0)和最大值(1.0)之间的数字。数据归一化使来自各种源和时期周期的数据流协调,因为每个数据源(即电压下降监视器)将在任何给定的时期周期TE内具有其相应的最小和最大频率或泄漏电流值。归一化将所收集的所有频率和泄漏电流数据限制到在0.0和1.0之间的值。
继数据归一化之后,计算每对电压下降监视器之间的数据上的互相关。图4是图示VDM1和VDM2在一时期周期内收集的成对数据之间的互相关的示例性曲线图。采样周期TS是两次连续采样之间的持续时间,并且时期周期TE是在计算互相关之前收集样本的持续时间。根据图4中图示的实施例,TS为1μs,并且TE为7μs。时期周期TE跨越采样周期T1-T7。在该时期周期内的每个采样瞬间(T1-T7),计算VDM1和VDM2之间的互相关。
通过以下等式来计算每对电压下降监视器之间的互相关。等式(1)计算在延迟k=0,±1,±2……下针对时期周期TE内的每个采样周期TS从被表示为X和Y的两个VDM收集的频率数据之间的协方差Cxy。符号和/>表示在该时期时期内收集的相应数据的平均值。
(1)
一旦计算出协方差,就利用等式(2)求出互相关rxy:
(2)
其中标准偏差Sx和Sy由其相应等式(3)计算。
(3)
(3)。
该计算的结果被存储在互相关矩阵中。图5图示了从VDM1到VDM8的每对电压下降监视器(VDM)之间的示例性互相关矩阵500。一旦计算出所有互相关数据,就分析它们以得到潜在的闩锁状况。例如,在图5中,当与其他VDM相比时,VDM2和VDM5具有一致的较低互相关值。通过观察到圈出的值510大部分为负而证明了这一点。照此,VDM2和VDM5可能经历暗示闩锁事件的发生的电压下降。
在多个时期周期内计算和收集互相关矩阵,诸如500。根据实施例,将这些互相关矩阵中的每个输入到有限状态机(FSM)或有监督学习机中。在另一实施例中,将互相关矩阵输入到基于神经网络(NN)的无监督学习机中,以确定每个感测到的电压下降发生的相关性。根据实施例,NN是四威胁级别(L1-L4)输出赢者通吃实现。替代地,NN被实现成输出单个k均值聚类(cluster)以指明对应于四个威胁级别L1-L4的四个聚类。使用从FSM或基于NN的无监督学习机输出的威胁级别来确定针对四个威胁级别L1-L4中的每个要采取的适当安全措施或缓解方法。
图6图示了基于由FSM或基于NN的无监督学习机输出的结果被分割成四个离散的威胁级别或类别的闩锁可能性连续统的实施例。每个威胁级别指示发生闩锁事件的相关联的可能性。要采取的一个多个缓解和/或报告措施也与每个威胁级别相关联。例如,L1(其肯定地指示在特定功率块内正在发生闩锁事件)可以使闩锁检测器(例如,图3A和3B的340)用信号通知VRM控制器(例如,350)执行受影响功率块的电源复位。根据实施例,还生成报告并将其发送给用户/系统管理员并且存储在系统日志中。相比之下,L4确定可能仅导致生成报告,然后将所述报告保存在系统日志中而没有向用户/系统管理员的任何通知。
图7是图示用于检测和缓解功率块系统中的闩锁事件的方法的实施例的流程图。该方法在框700处开始。在框702处,闩锁检测器从多个电压下降监视器接收频率信息,每个电压下降监视器对应于功率块。另外,每个电压下降监视器耦合到对应功率块的电源轨。根据实施例,从每个电压下降监视器接收的频率信息是通过计数器跟踪的环形振荡器的振荡频率。读该计数器并且使其然后在每个采样时间TS处复位。每个采样时间处的频率信息(例如,计数器的计数)被传输到闩锁检测器。闩锁检测器在包括多个TS的时期周期TE内接收和收集频率信息。
在框704处,对所接收的频率信息进行归一化。根据实施例,将在该时期周期内从每个电压下降监视器接收的最小和最大频率分别设置成0.0和1.0。然后将其余所接收的频率按比例调整为0.0和1.0之间的数字。在框706处,创建每对电压下降监视器之间的基于归一化频率信息的互相关值的矩阵。在框708处,分析针对每个电压下降监视器的互相关值中的偏差,以确定每个对应功率块中的电压下降的发生。根据实施例,基于电压下降的发生和严重性,针对每个功率块生成闩锁事件的可能性。在框710处,确定在每个功率块中发生的闩锁事件的可能性是否大于阈值。例如,在其中L1指示闩锁事件是肯定的并且L4指示闩锁的无可能的四级别刻度上,可以将阈值可以设置在L2处。如果框710处的确定的结果是特定功率块经历闩锁的可能性大于阈值,则复位该特定功率块的电源。根据实施例,通过VRM控制器来复位电源,并且特定功率块的电源复位不影响或中断其余功率块的电源。另一方面,如果在框710处没有功率块具有大于阈值的闩锁可能性,则该方法返回到框702,其中闩锁检测器继续在下一时期周期TE内从所述多个电压下降监视器接收和收集频率信息。
在某些实施例中,一种系统包括:多个电压下降监视电路,其中的每个对应于多个功率块中的一个并且每个功率块由对应的电源轨供电;闩锁检测电路,其被通信地耦合到所述多个电压下降监视电路,该闩锁检测电路要从所述多个电压下降监视电路接收频率信息并要基于所接收的频率信息来确定异常变化以从所述多个功率块中标识正在经历闩锁事件的第一功率块;以及电压调节器电路,其被通信地耦合到闩锁检测电路和对应的电源轨,以引起第一功率块中的电源复位而不中断所述多个功率块中的其余者的电源。所述多个电压下降监视电路中的每个可以包括环形振荡器和计数器。在一个实例中,环形振荡器基于电源轨的电压来测量频率。在另一实例中,环形振荡器基于电源轨的电流来测量频率。闩锁检测电路可以对从所述多个电压下降监视电路中的每个接收的频率信息进行归一化,创建所述多个功率块中的每对之间的基于归一化接收频率信息的互相关值的矩阵;并确定指示电压下降的发生的互相关值中的偏差。闩锁检测电路还可以基于所确定的互相关值中的偏差来分配闩锁的可能性。闩锁的可能性可以包括多个级别。所述多个级别中的每个级别可以与一个或多个缓解措施相关联。缓解措施可以包括用信号通知电压调节器电路以复位第一功率块的电源和/或向系统管理员报告闩锁事件。
在另一实施例中,在集成电路中实现一种方法,该方法包括:从多个电压下降监视电路接收频率信息,所述多个电压下降监视电路中的每个对应于多个功率块中的每一个并且每个功率块由相应的电源轨供电;基于所接收的频率信息来确定异常变化以从所述多个功率块中标识正在经历闩锁事件的第一功率块;以及复位第一功率块的电源,而不中断所述多个功率块中的其余者的电源。所述多个电压下降监视电路中的每个可以包括环形振荡器和计数器。在一个实例中,该方法可以包括基于电源轨的电压或电流来测量环形振荡器的频率。该方法还可以包括对从所述多个电压下降监视电路中的每个接收的频率信息进行归一化;创建所述多个功率块中的每对之间的基于归一化频率信息的互相关值的矩阵;以及确定指示电压下降的发生的互相关值中的偏差。另外,该方法还可以包括基于所确定的互相关值中的偏差来分配闩锁的可能性。闩锁的可能性可以包括多个级别。所述多个级别中的每个级别可以与一个或多个缓解措施相关联。缓解措施可以包括复位第一功率块的电源,向系统管理员报告闩锁事件,和/或将闩锁事件的报告存储在系统日志中。
图8A是图示根据本发明的实施例的示例性有序流水线和示例性寄存器重命名、无序发布/执行流水线两者的框图。图8B是图示根据本发明的实施例的要被包括在处理器中的有序架构核心的示例性实施例和示例性寄存器重命名、无序发布/执行架构核心两者的框图。图8A-B中的实线框图示了有序流水线和有序核心,而虚线框的可选附加图示了寄存器重命名、无序发布/执行流水线和核心。考虑到有序方面是无序方面的子集,将描述无序方面。
在图8A中,处理器流水线800包括取出阶段802、长度解码阶段804、解码阶段806、分配阶段808、重命名阶段810、调度(也称为分派或发布)阶段812、寄存器读/存储器读阶段814、执行阶段816、写回/存储器写阶段818、异常处置阶段822以及提交阶段824。
图8B示出处理器核心890,其包括被耦合到执行引擎硬件850的前端硬件830,并且两者都被耦合到存储器硬件870。核心890可以是精简指令集计算(RISC)核心、复杂指令集计算(CISC)核心、超长指令字(VLIW)核心、或者混合或替代核心类型。作为又一选项,核心890可以是专用核心,诸如例如网络或通信核心、压缩引擎、协处理器核心、通用计算图形处理单元(GPGPU)核心、图形核心等。
前端硬件830包括分支预测硬件832,所述分支预测硬件832被耦合到指令高速缓存硬件834,所述指令高速缓存硬件834被耦合到指令翻译后援缓冲器(TLB)836,所述指令翻译后援缓冲器(TLB)836被耦合到指令取出硬件838,所述指令取出硬件838被耦合到解码硬件840。解码硬件840(或解码器)可以解码指令,并且生成作为输出的一个或多个微操作、微代码入口点、微指令、其他指令或其他控制信号,其解码自原始指令、或以其他方式反映原始指令、或导出自原始指令。可以使用各种不同的机制来实现解码硬件840。合适机制的示例包括但不限于查找表、硬件实现、可编程逻辑阵列(PLA)、微代码只读存储器(ROM)等。在一个实施例中,核心890包括微代码ROM或存储针对某些宏指令的微代码的其他介质(例如,在解码硬件840中或否则在前端硬件830内)。解码硬件840被耦合到执行引擎硬件850中的重命名/分配器硬件852。
执行引擎硬件850包括重命名/分配器硬件852,其被耦合到引退硬件854和一组一个或多个调度器硬件856。调度器硬件856表示任何数目的不同调度器,包括保留站、中央指令窗口等。调度器硬件856被耦合到(一个或多个)物理寄存器文件硬件858。(一个或多个)物理寄存器文件硬件858中的每个表示一个或多个物理寄存器文件,其中的不同物理寄存器文件存储一个或多个不同的数据类型,诸如标量整数、标量浮点、打包整数、打包浮点、向量整数、向量浮点、状态(例如,作为要执行的下一指令的地址的指令指针)等。在一个实施例中,(一个或多个)物理寄存器文件硬件858包括向量寄存器硬件、写掩码寄存器硬件和标量寄存器硬件。这些寄存器硬件可以提供架构向量寄存器、向量掩码寄存器以及通用寄存器。(一个或多个)物理寄存器文件硬件858被引退硬件854重叠以说明可以(例如,使用(一个或多个)重排序缓冲器和(一个或多个)引退寄存器文件;使用(一个或多个)将来文件、(一个或多个)历史缓冲器以及(一个或多个)引退寄存器文件;使用寄存器映射和寄存器池;等)实现寄存器重命名和无序执行的各种方式。引退硬件854和(一个或多个)物理寄存器文件硬件858被耦合到(一个或多个)执行集群860。(一个或多个)执行集群860包括一组一个或多个执行硬件862以及一组一个或多个存储器访问硬件864。执行硬件862可以实行各种操作(例如,移位、加法、减法、乘法)并且对各种数据类型(例如,标量浮点、打包整数、打包浮点、向量整数、向量浮点)实行各种操作。虽然一些实施例可以包括专用于特定功能或功能集的多个执行硬件,但是其他实施例可以包括仅一个执行硬件或全部实行所有功能的多个执行硬件。调度器硬件856、(一个或多个)物理寄存器文件硬件858以及(一个或多个)执行集群860被示为可能是复数个,因为某些实施例针对某些数据/操作类型创建单独的流水线(例如,标量整数流水线、标量浮点/打包整数/打包浮点/向量整数/向量浮点流水线、和/或存储器访问流水线,其每个具有它们自己的调度器硬件、(一个或多个)物理寄存器文件硬件和/或执行集群——并且在单独的存储器访问流水线的情况下,实现其中仅该流水线的执行集群具有存储器访问硬件864的某些实施例)。还应理解的是,在使用单独的流水线的情况下,这些流水线中的一个或多个可以是无序发布/执行的而其余是有序的。
该组存储器访问硬件864被耦合到存储器硬件870,所述存储器硬件870包括数据TLB硬件872,所述数据TLB硬件872被耦合到数据高速缓存硬件874,所述数据高速缓存硬件874被耦合到2级(L2)高速缓存硬件876。在一个示例性实施例中,存储器访问硬件864可以包括加载硬件、存储地址硬件和存储数据硬件,它们中的每个都被耦合到存储器硬件870中的数据TLB硬件872。指令高速缓存硬件834也被耦合到存储器硬件870中的2级(L2)高速缓存硬件876。L2高速缓存硬件876被耦合到一个或多个其他级别的高速缓存并最终耦合到主存储器。
作为示例,示例性寄存器重命名、无序发布/执行核心架构可以如下实现流水线800:1)指令取出硬件838实行取出和长度解码阶段802和804;2)解码硬件840实行解码阶段806;3)重命名/分配器硬件852实行分配阶段808和重命名阶段810;4)调度器硬件856实行调度阶段812;5)(一个或多个)物理寄存器文件硬件858和存储器硬件870实行寄存器读/存储器读阶段814;执行集群860实行执行阶段816;6)存储器硬件870和(一个或多个)物理寄存器文件硬件858实行写回/存储器写阶段818;7)在异常处置阶段822中可能涉及各种硬件;以及8)引退硬件854和(一个或多个)物理寄存器文件硬件858实行提交阶段824。
核心890可以支持一个或多个指令集(例如,x86指令集(具有与较新的版本添加在一起的一些扩展);加利福尼亚州森尼韦尔的MIPS科技公司的MIPS指令集;加利福尼亚州森尼韦尔的ARM控股公司的ARM指令集(具有诸如NEON之类的可选附加扩展)),其包括本文中描述的(一个或多个)指令。在一个实施例中,核心890包括用来支持打包数据指令集扩展(例如,下面描述的AVX1、AVX2,和/或某个形式的通用向量友好指令格式(U=0和/或U=1))的逻辑,从而允许使用打包数据来实行由许多多媒体应用使用的操作。
应理解的是,核心可以支持多线程(执行两组或更多组并行的操作或线程),并且可以以多种方式来这样做,所述多种方式包括时间切片多线程、同时多线程(其中单个物理核心为物理核心正同时进行多线程的线程中的每个提供逻辑核心)或者其组合(例如,时间切片取出和解码以及其后的同时多线程,诸如在Intel®超线程技术中的那样)。
虽然在无序执行的情境中描述了寄存器重命名,但是应理解的是,寄存器重命名可以用在有序架构中。虽然处理器的图示实施例还包括单独的指令和数据高速缓存硬件834/874以及共享的L2高速缓存硬件876,但是替代实施例可以具有用于指令和数据两者的单个内部高速缓存,诸如例如1级(L1)内部高速缓存或多级内部高速缓存。在一些实施例中,系统可以包括内部高速缓存和在核心和/或处理器外部的外部高速缓存的组合。替代地,所有高速缓存都可以在核心和/或处理器外部。
图9是根据本发明的实施例的可以具有不止一个核心、可以具有集成存储器控制器并且可以具有集成图形的处理器900的框图。图9中的实线框图示了具有单个核心902A、系统代理硬件910、一组一个或多个总线控制器硬件916的处理器900,而虚线框的可选附加图示了具有多个核心902A-N、系统代理硬件910中的一组一个或多个集成存储器控制器硬件914以及专用逻辑908的替代处理器900。
因此,处理器900的不同实现可以包括:1)具有专用逻辑908以及核心902A-N的CPU,所述专用逻辑908是集成图形和/或科学(吞吐量)逻辑(其可以包括一个或多个核心),所述核心902A-N是一个或多个通用核心(例如,通用有序核心、通用无序核心、这两个的组合);2)具有核心902A-N的协处理器,所述核心902A-N是主要意图用于图形和/或科学(吞吐量)的大量专用核心;以及3)具有核心902A-N的协处理器,所述核心902A-N是大量通用有序核心。因此,处理器900可以是通用处理器、协处理器或专用处理器,诸如例如网络或通信处理器、压缩引擎、图形处理器、GPGPU(通用图形处理单元)、高吞吐量众集成核心(MIC)协处理器(包括30个或更多个核心)、嵌入式处理器等。可以在一个或多个芯片上实现处理器。处理器900可以是一个或多个基板的一部分,和/或可以被使用多个工艺技术(诸如例如BiCMOS、CMOS或NMOS)中的任何工艺技术在一个或多个基板上实现。
存储器层次结构包括核心内的一个或多个级别的高速缓存、一组一个或多个共享高速缓存硬件906以及被耦合到该组集成存储器控制器硬件914的外部存储器(未示出)。该组共享高速缓存硬件906可以包括一个或多个中级高速缓存(诸如2级(L2)、3级(L3)、4级(L4)或其他级别的高速缓存)、末级高速缓存(LLC)和/或其组合。虽然在一个实施例中基于环的互连硬件912将集成图形逻辑908、该组共享高速缓存硬件906和系统代理硬件910/集成存储器控制器硬件914互连,但是替代实施例可以使用任何数目的公知技术用于互连这样的硬件。在一个实施例中,在一个或多个高速缓存硬件906和核心902A-N之间维持一致性。
在一些实施例中,核心902A-N中的一个或多个能够进行多线程。系统代理硬件910包括协调和操作核心902A-N的那些组件。系统代理硬件910可以包括例如功率控制单元(PCU)和显示硬件。PCU可以是或者包括调节核心902A-N和集成图形逻辑908的功率状态所需的逻辑和组件。显示硬件用于驱动一个或多个外部连接的显示器。
就架构指令集而言,核心902A-N可以是同构的或异构的;即,核心902A-N中的两个或更多个可以能够执行相同的指令集,而其他核心可以能够执行该指令集的仅子集或者不同的指令集。在一个实施例中,核心902A-N是异构的并且包括下面描述的“小”核心和“大”核心两者。
图10-13是示例性计算机架构的框图。针对膝上型计算机、台式机、手持式PC、个人数字助理、工程工作站、服务器、网络设备、网络集线器、交换机、嵌入式处理器、数字信号处理器(DSP)、图形设备、视频游戏设备、机顶盒、微控制器、蜂窝电话、便携式媒体播放器、手持式设备以及各种其他电子设备的本领域中已知的其他系统设计和配置也是合适的。一般地,能够合并如本文中公开的处理器和/或其他执行逻辑的各种各样的系统或电子设备一般是合适的。
现在参考图10,示出了依照本发明的一个实施例的系统1000的框图。系统1000可以包括一个或多个处理器1010、1015,其被耦合到控制器中枢1020。在一个实施例中,控制器中枢1020包括图形存储器控制器中枢(GMCH)1090以及输入/输出中枢(IOH)1050(其可以在单独的芯片上);GMCH 1090包括存储器1040和协处理器1045所耦合到的存储器控制器和图形控制器;IOH 1050将输入/输出(I/O)设备1060耦合到GMCH 1090。替代地,存储器控制器和图形控制器中的一个或两者被集成在(如本文中描述的)处理器内,存储器1040和协处理器1045被直接耦合到处理器1010和在具有IOH 1050的单个芯片中的控制器中枢1020。
在图10中用虚线表示附加处理器1015的可选性质。每个处理器1010、1015可以包括本文中描述的处理核心中的一个或多个并且可以是处理器900的某个版本。
存储器1040可以例如是动态随机存取存储器(DRAM)、相变存储器(PCM)或这两个的组合。针对至少一个实施例,控制器中枢1020经由多点总线(诸如前侧总线(FSB))、点对点接口或者类似连接1095与(一个或多个)处理器1010、1015通信。
在一个实施例中,协处理器1045是专用处理器,诸如例如高吞吐量MIC处理器、网络或通信处理器、压缩引擎、图形处理器、GPGPU、嵌入式处理器等。在一个实施例中,控制器中枢1020可以包括集成图形加速器。
就包括架构、微架构、热、功率消耗特性等的指标的量度范围而言,在处理器1010、1015之间可能存在多种差异。
在一个实施例中,处理器1010执行控制一般类型的数据处理操作的指令。嵌入在指令内的可以是协处理器指令。处理器1010将这些协处理器指令识别为具有应由附连的协处理器1045来执行的类型。因此,处理器1010在协处理器总线或其他互连上将这些协处理器指令(或表示协处理器指令的控制信号)发给协处理器1045。(一个或多个)协处理器1045接受并执行接收到的协处理器指令。
现在参考图11,示出了依照本发明的实施例的第一较具体的示例性系统1100的框图。如图11中所示,多处理器系统1100是点对点互连系统,并且包括经由点对点互连1150所耦合的第一处理器1170和第二处理器1180。处理器1170和1180中的每个可以是处理器900的某个版本。在本发明的一个实施例中,处理器1170和1180分别是处理器1010和1015,而协处理器1138是协处理器1045。在另一实施例中,处理器1170和1180分别是处理器1010和协处理器1045。
处理器1170和1180被示出分别包括集成存储器控制器(IMC)硬件1172和1182。处理器1170还包括点对点(P-P)接口1176和1178,作为其总线控制器硬件的一部分;类似地,第二处理器1180包括P-P接口1186和1188。处理器1170、1180可以使用P-P接口电路1178、1188经由点对点(P-P)接口1150交换信息。如图11中所示,IMC 1172和1182将处理器耦合到相应的存储器,即存储器1132和存储器1134,它们可以是本地附连到相应处理器的主存储器的部分。
处理器1170、1180可以每个使用点对点接口电路1176、1194、1186、1198经由单独的P-P接口1152、1154与芯片组1190交换信息。芯片组1190可以可选地经由高性能接口1139与协处理器1138交换信息。在一个实施例中,协处理器1138是专用处理器,诸如例如高吞吐量MIC处理器、网络或通信处理器、压缩引擎、图形处理器、GPGPU、嵌入式处理器等。
共享高速缓存(未示出)可以被包括在任一处理器中或者在两个处理器外部,但经由P-P互连与处理器连接,使得如果处理器被置于低功率模式中则任一或两个处理器的本地高速缓存信息可以被存储在共享高速缓存中。
芯片组1190可以经由接口1196耦合到第一总线1116。在一个实施例中,第一总线1116可以是外围组件互连(PCI)总线,或者诸如PCI Express总线或另一第三代I/O互连总线之类的总线,但是本发明的范围不被如此限制。
如图11中所示,各种I/O设备1114连同总线桥1118可以被耦合到第一总线1116,所述总线桥1118将第一总线1116耦合到第二总线1120。在一个实施例中,诸如协处理器、高吞吐量MIC处理器、GPGPU、加速器(诸如例如图形加速器或数字信号处理(DSP)硬件)、现场可编程门阵列或任何其他处理器之类的一个或多个附加处理器1115被耦合到第一总线1116。在一个实施例中,第二总线1120可以是低引脚计数(LPC)总线。各种设备可以被耦合到第二总线1120,包括例如键盘和/或鼠标1122、通信设备1127以及诸如盘驱动器或其他大容量存储设备之类的存储硬件1128,其在一个实施例中可以包括指令/代码和数据1130。此外,音频I/O 1124可以被耦合到第二总线1120。注意,其他架构是可能的。例如,代替图11的点对点架构,系统可以实现多点总线或其他这样的架构。
现在参考图12,示出了依照本发明的实施例的第二较具体的示例性系统1200的框图。图11和12中的相似元件具有相似的参考数字,并且已经从图12中省略了图11的某些方面以便避免使图12的其他方面模糊。
图12图示了处理器1170、1180可以分别包括集成存储器和I/O控制逻辑(“CL”)1173和1183。因此,CL 1173、1183包括集成存储器控制器硬件并且包括I/O控制逻辑。图12图示了不仅存储器1132、1134被耦合到CL 1173、1183,而且I/O设备1214也被耦合到控制逻辑1173、1183。传统I/O设备1215被耦合到芯片组1190。
现在参考图13,示出了依照本发明的实施例的SoC 1300的框图。图9中的类似元件具有相似的参考数字。而且,虚线框是更高级的SoC上的可选特征。在图13中,互连硬件1302被耦合到:应用处理器1310,其包括一组一个或多个核心902A-N和共享高速缓存硬件906;系统代理硬件910;总线控制器硬件916;集成存储器控制器硬件914;一组一个或多个协处理器1320,其可以包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(SRAM)硬件1330;直接存储器访问(DMA)硬件1332;以及用于耦合到一个或多个外部显示器的显示硬件1340。在一个实施例中,(一个或多个)协处理器1320包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、嵌入式处理器等。
可以以硬件、软件、固件或这样的实现方法的组合来实现本文中公开的机制的实施例。本发明的实施例可以被实现为计算机程序或程序代码,其在包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备的可编程系统上执行。
可以应用诸如图11中图示的代码1130之类的程序代码来输入指令以实行本文中描述的功能并生成输出信息。可以以已知方式将输出信息应用于一个或多个输出设备。出于本申请的目的,处理系统包括具有处理器的任何系统,所述处理器诸如例如是数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器。
可以以高级过程编程语言或面向对象编程语言来实现所述程序代码以与处理系统通信。也可以以汇编语言或机器语言来实现所述程序代码,如果期望的话。事实上,本文中描述的机制在范围上不限于任何特定的编程语言。在任何情况下,语言可以是编译语言或解释语言。
可以通过存储在机器可读介质上的表示处理器内的各种逻辑的代表性指令来实现至少一个实施例的一个或多个方面,所述指令在被机器读时使该机器制作用来实行本文中描述的技术的逻辑。称为“IP核心”的这样的表示可以被存储在有形的机器可读介质上并被供应给各种消费者或制造设施来加载到实际上制造逻辑或处理器的制作机器中。
这样的机器可读存储介质可以不限制地包括由机器或设备制造或形成的非暂时性有形物品布置,其包括存储介质,诸如硬盘、任何其他类型的盘(包括软盘、光盘、紧致盘只读存储器(CD-ROM)、紧致盘可重写设备(CD-RW)以及磁光盘)、半导体设备(诸如只读存储器(ROM)、随机存取存储器(RAM)(诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM)、相变存储器(PCM))、磁卡或光卡、或者适于存储电子指令的任何其他类型的介质。
因此,本发明的实施例还包括包含指令或包含设计数据(诸如硬件描述语言(HDL))的非暂时性有形机器可读介质,所述设计数据定义本文中描述的结构、电路、电路系统、装置、处理器和/或系统特征。这样的实施例也可以称为程序产品。
在一些情况下,可以使用指令转换器来将指令从源指令集转换到目标指令集。例如,指令转换器可以(例如,使用静态二进制翻译、包括动态编译的动态二进制翻译)将指令翻译、使指令变形、对指令仿真或以其他方式将指令转换成要由核心处理的一个或多个其他指令。可以以软件、硬件、固件或其组合来实现指令转换器。指令转换器可以在处理器上、处理器外、或者部分在处理器上并且部分在处理器外。
图14是根据本发明的实施例的对比将源指令集中的二进制指令转换成目标指令集中的二进制指令的软件指令转换器的使用的框图。在图示实施例中,指令转换器是软件指令转换器,但是替代地,可以以软件、固件、硬件或其各种组合来实现指令转换器。图14示出了可以使用x86编译器1404来编译采用高级语言1402的程序以生成x86二进制代码1406,所述x86二进制代码1406可以由具有至少一个x86指令集核心的处理器1416本机地执行。具有至少一个x86指令集核心的处理器1416表示可以通过如下来实行与具有至少一个x86指令集核心的Intel处理器基本相同的功能的任何处理器:兼容地执行或以其他方式处理(1)Intel x86指令集核心的指令集的很大一部分或(2)被作为目标的要在具有至少一个x86指令集核心的Intel处理器上运行的应用或其他软件的目标代码版本,以便实现与具有至少一个x86指令集核心的Intel处理器基本相同的结果。x86编译器1404表示可用于生成x86二进制代码1406(例如,目标代码)的编译器,所述x86二进制代码1406可以被在具有或不具有附加链接处理的情况下在具有至少一个x86指令集核心的处理器1416上执行。类似地,图14示出了可以使用替代指令集编译器1408来编译采用高级语言1402的程序以生成替代指令集二进制代码1410,所述替代指令集二进制代码1410可以由不具有至少一个x86指令集核心的处理器1414(例如,具有执行加利福尼亚州森尼韦尔的MIPS科技公司的MIPS指令集和/或执行加利福尼亚州森尼韦尔的ARM控股公司的ARM指令集的核心的处理器)本机地执行。指令转换器1412用于将x86二进制代码1406转换成可由不具有x86指令集核心的处理器1414本机地执行的代码。该经转换的代码不太可能与替代指令集二进制代码1410相同,因为能够做到这一点的指令转换器难以制造;然而,经转换的代码将完成一般操作,并由来自替代指令集的指令组成。因此,指令转换器1412表示软件、固件、硬件或它们的组合,其通过仿真、模拟或任何其他过程而允许不具有x86指令集处理器或核心的处理器或其他电子设备执行x86二进制代码1406。
尽管已经参考特定实现描述了一些实施例,但是根据一些实施例,其他实现也是可能的。另外,不需要以图示和描述的特定方式来布置附图中图示和/或本文中描述的元件或其他特征的布置和/或顺序。根据一些实施例,许多其他布置是可能的。
在图中示出的每个系统中,在一些情况下,元件可以每个具有相同的参考号码或不同的参考号码,以暗示所表示的元件可以是不同的和/或类似的。然而,元件可能足够灵活以具有不同的实现并且与本文中示出或描述的系统中的一些或全部一起工作。图中示出的各种元件可以相同或不同。将哪一个称为第一元件和将哪一个称为第二元件是任意的。
在说明书和权利要求书中,可以使用术语“耦合”和“连接”连同它们的派生词。应当理解,这些术语并不旨在作为彼此的同义词。而是,在特定实施例中,“连接”可用于指示两个或更多个元件彼此直接物理或电接触。“耦合”可以意味着两个或更多个元件直接物理或电接触。然而,“耦合”还可以意味着两个或更多个元件彼此不直接接触,但还仍然彼此协作或交互。
实施例是本发明的实现或示例。说明书中对“实施例”、“一个实施例”、“一些实施例”或“其他实施例”的引用意味着结合实施例描述的特定特征、结构或特性被包括在本发明的至少一些实施例、但不一定所有实施例中。各种出现“实施例”、“一个实施例”或“一些实施例”不一定都指代相同的实施例。
并非本文中描述和图示的所有组件、特征、结构、特性等都需要被包括在一个或多个特定实施例中。如果例如说明书陈述了组件、特征、结构或特性“可”、“可能”、“可以”或“能够”被包括,则不要求包括该特定组件、特征、结构或特性。如果说明书或权利要求书提到“一”或“一个”元件,则那并不意味着仅存在一个元件。如果说明书或权利要求书提到“附加”元件,则那并不排除存在不止一个附加元件。
本发明的所图示的实施例的以上描述(包括摘要中描述的事物)并非旨在是详尽的或将本发明限于所公开的精确形式。虽然出于说明性目的在本文中描述了本发明的特定实施例和示例,但是如相关领域技术人员将认识到的,在本发明的范围内各种等同修改是可能的。
根据以上详细描述,可以对本发明做出这些修改。以下权利要求中使用的术语不应被解释为将本发明限于说明书和附图中公开的特定实施例。而是,本发明的范围要完全由以下权利要求确定,所述权利要求要被依照权利要求解释的既定原则来解释。
Claims (31)
1.一种系统,包括:
多个电压下降监视电路,每个电压下降监视电路对应于多个功率块中的一个,其中每个功率块由对应的电源轨供电;
闩锁检测电路,其被通信地耦合到所述多个电压下降监视电路,所述闩锁检测电路要:
从所述多个电压下降监视电路接收频率信息;以及
基于所接收的频率信息来确定异常变化,以从所述多个功率块中标识经历闩锁事件的第一功率块;以及
电压调节器电路,其被通信地耦合到所述闩锁检测电路和每个对应的电源轨,所述电压调节器电路要:
引起第一功率块中的电源复位,而不中断所述多个功率块中的其余者的电源。
2.根据权利要求1所述的系统,其中所述多个电压下降监视电路中的每个包括环形振荡器和计数器。
3.根据权利要求2所述的系统,其中所述环形振荡器基于所述电源轨的电压来测量频率。
4.根据权利要求2所述的系统,其中所述环形振荡器基于所述电源轨的电流来测量频率。
5.根据权利要求1-4中任一项所述的系统,其中所述闩锁检测电路还要:
对从所述多个电压下降监视电路中的每个接收的频率信息进行归一化;
创建所述多个功率块中的每对之间的基于归一化接收频率信息的互相关值的矩阵;以及
确定指示电压下降的发生的所述互相关值中的偏差。
6.根据权利要求5所述的系统,其中所述闩锁检测电路还要:
基于所确定的所述互相关值中的偏差来分配闩锁的可能性。
7.根据权利要求6所述的系统,其中所述闩锁的可能性包括多个级别。
8.根据权利要求7所述的系统,其中所述多个级别中的每个级别与一个或多个缓解措施相关联。
9.根据权利要求8所述的系统,其中所述一个或多个缓解措施中的一个包括用信号通知所述电压调节器电路以复位所述第一功率块的电源。
10.根据权利要求9所述的系统,其中所述一个或多个缓解措施中的一个包括向系统管理员报告所述闩锁事件。
11.一种在集成电路中实现的方法,所述方法包括:
从多个电压下降监视电路接收频率信息,其中每个电压下降监视电路对应于多个功率块中的每一个,每个功率块由相应的电源轨供电;
基于所接收的频率信息来确定异常变化,以从所述多个功率块中标识经历闩锁事件的第一功率块;以及
复位第一功率块的电源,而不中断所述多个功率块中的其余者的电源。
12.根据权利要求11所述的方法,其中所述多个电压下降监视电路中的每个包括环形振荡器和计数器。
13.根据权利要求12所述的方法,还包括基于所述电源轨的电压来测量所述环形振荡器的频率。
14.根据权利要求12所述的方法,还包括基于所述电源轨的电流来测量所述环形振荡器的频率。
15.根据权利要求11-14中任一项所述的方法,还包括:
对从所述多个电压下降监视电路中的每个接收的频率信息进行归一化;
创建所述多个功率块中的每对之间的基于归一化频率信息的互相关值的矩阵;以及
确定指示电压下降的发生的所述互相关值中的偏差。
16.根据权利要求15所述的方法,还包括:
基于所确定的所述互相关值中的偏差来分配闩锁的可能性。
17.根据权利要求16所述的方法,其中所述闩锁的可能性包括多个级别。
18.根据权利要求17所述的方法,其中所述多个级别中的每个级别与一个或多个缓解措施相关联。
19.根据权利要求11-14中任一项所述的方法,还包括将所述闩锁事件的报告存储在系统日志中。
20.根据权利要求11-14中任一项所述的方法,还包括向系统管理员报告所述闩锁事件。
21.一种其上存储有代码的机器可读介质,在所述代码被读取时,促使所述机器执行根据权利要求11-20中任一项所述的方法。
22.一种系统,其包括:
用于从多个电压下降监视电路接收频率信息的部件,其中每个电压下降监视电路对应于多个功率块中的每一个,每个功率块由相应的电源轨供电;
用于基于所接收的频率信息来确定异常变化,以从所述多个功率块中标识经历闩锁事件的第一功率块的部件;以及
用于复位第一功率块的电源,而不中断所述多个功率块中的其余者的电源的部件。
23.根据权利要求22所述的系统,其中所述多个电压下降监视电路中的每个包括环形振荡器和计数器。
24.根据权利要求23所述的系统,还包括用于基于所述电源轨的电压来测量所述环形振荡器的频率的部件。
25.根据权利要求23所述的系统,还包括用于基于所述电源轨的电流来测量所述环形振荡器的频率的部件。
26.根据权利要求22-25中任一项所述的系统,还包括:
用于对从所述多个电压下降监视电路中的每个接收的频率信息进行归一化的部件;
用于创建所述多个功率块中的每对之间的基于归一化频率信息的互相关值的矩阵的部件;以及
用于确定指示电压下降的发生的所述互相关值中的偏差的部件。
27.根据权利要求26所述的系统,还包括:
用于基于所确定的所述互相关值中的偏差来分配闩锁的可能性的部件。
28.根据权利要求27所述的系统,其中所述闩锁的可能性包括多个级别。
29.根据权利要求28所述的系统,其中所述多个级别中的每个级别与一个或多个缓解措施相关联。
30.根据权利要求22-25中任一项所述的系统,还包括用于将所述闩锁事件的报告存储在系统日志中的部件。
31.根据权利要求22-25中任一项所述的系统,还包括用于向系统管理员报告所述闩锁事件的部件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/283,084 US9819258B1 (en) | 2016-09-30 | 2016-09-30 | Systems and methods for latch-up detection and mitigation |
US15/283084 | 2016-09-30 | ||
PCT/US2017/047906 WO2018063584A1 (en) | 2016-09-30 | 2017-08-22 | Systems and methods for latch-up detection and mitigation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109643150A CN109643150A (zh) | 2019-04-16 |
CN109643150B true CN109643150B (zh) | 2023-12-22 |
Family
ID=60255763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780054898.2A Active CN109643150B (zh) | 2016-09-30 | 2017-08-22 | 用于闩锁检测和缓解的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9819258B1 (zh) |
CN (1) | CN109643150B (zh) |
DE (1) | DE112017004969T5 (zh) |
WO (1) | WO2018063584A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11531385B2 (en) * | 2018-09-17 | 2022-12-20 | Samsung Electronics Co., Ltd. | Voltage droop monitoring circuits, system-on chips and methods of operating the system-on chips |
US11522361B2 (en) | 2019-02-19 | 2022-12-06 | Honeywell International Inc. | Single event latch-up protection for fault current residing inside the normal operating current range |
US11101644B2 (en) | 2019-02-19 | 2021-08-24 | Honeywell International Inc. | Single event latch-up protection for fault current residing inside the normal operating current range |
US11996166B2 (en) * | 2019-08-29 | 2024-05-28 | Advanced Micro Devices, Inc. | Adaptable allocation of SRAM based on power |
US20220300608A1 (en) * | 2021-03-16 | 2022-09-22 | Intel Corporation | Apparatus and method to detect power supply security attack and risk mitigation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5212616A (en) * | 1991-10-23 | 1993-05-18 | International Business Machines Corporation | Voltage regulation and latch-up protection circuits |
JPH05160358A (ja) * | 1991-12-06 | 1993-06-25 | Nec Eng Ltd | 耐ラッチアップ半導体デバイス |
US8472276B1 (en) * | 2010-04-13 | 2013-06-25 | Cypress Semiconductor Corporation | System and method for de-latch of an integrated circuit |
CN205453082U (zh) * | 2016-01-05 | 2016-08-10 | 山东康威通信技术股份有限公司 | 一种基于电流检测的抗闩锁电路 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7102867B2 (en) * | 2003-06-30 | 2006-09-05 | International Business Machines Corporation | Method, apparatus and circuit for latchup suppression in a gate-array ASIC environment |
US7492560B2 (en) * | 2004-12-13 | 2009-02-17 | Seagate Technology Llc | ASIC latch-up recovery circuit |
US7355437B2 (en) * | 2006-03-06 | 2008-04-08 | Altera Corporation | Latch-up prevention circuitry for integrated circuits with transistor body biasing |
US7898278B2 (en) * | 2007-11-05 | 2011-03-01 | Arm Limited | Power control circuitry, circuitry for analysing a switched power rail, and method of controlling connection of a power source to a switched power rail |
US7928737B2 (en) * | 2008-05-23 | 2011-04-19 | Hernandez Marcos | Electrical overstress and transient latch-up pulse generation system, circuit, and method |
US7728627B2 (en) * | 2008-09-04 | 2010-06-01 | Alcatel Lucent | Intelligent embedded power rail and control signal sequencer |
US8710899B2 (en) * | 2008-09-17 | 2014-04-29 | Lockheed Martin Corporation | Stepped delay control of integrated switches |
US8638135B2 (en) * | 2011-10-13 | 2014-01-28 | Freescale Semiconductor, Inc. | Integrated circuit having latch-up recovery circuit |
US10162996B2 (en) * | 2014-11-14 | 2018-12-25 | Shenzhen GOODIX Technology Co., Ltd. | Latchup recovery mechanism for fingerprint sensor based on state monitor and handshake |
-
2016
- 2016-09-30 US US15/283,084 patent/US9819258B1/en active Active
-
2017
- 2017-08-22 CN CN201780054898.2A patent/CN109643150B/zh active Active
- 2017-08-22 WO PCT/US2017/047906 patent/WO2018063584A1/en active Application Filing
- 2017-08-22 DE DE112017004969.5T patent/DE112017004969T5/de not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5212616A (en) * | 1991-10-23 | 1993-05-18 | International Business Machines Corporation | Voltage regulation and latch-up protection circuits |
JPH05160358A (ja) * | 1991-12-06 | 1993-06-25 | Nec Eng Ltd | 耐ラッチアップ半導体デバイス |
US8472276B1 (en) * | 2010-04-13 | 2013-06-25 | Cypress Semiconductor Corporation | System and method for de-latch of an integrated circuit |
CN205453082U (zh) * | 2016-01-05 | 2016-08-10 | 山东康威通信技术股份有限公司 | 一种基于电流检测的抗闩锁电路 |
Non-Patent Citations (4)
Title |
---|
侯立功 ; 陈天娥 ; .抗闩锁效应微处理器复位电路设计研究.测控技术.2015,(第12期),全文. * |
具有预启动、防闩锁功能的1.33倍新型电荷泵设计;刘兴辉等;《辽宁大学学报(自然科学版)》;20090815(第03期);全文 * |
张伟功,蒋轩祥,唐雪寒,郝跃.基于LDO限流技术的辐射闩锁防护技术.西安电子科技大学学报.2004,(第04期),全文. * |
电路系统中的闩锁效应及其预防设计;吴允平等;《现代电子技术》;20110101(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US9819258B1 (en) | 2017-11-14 |
DE112017004969T5 (de) | 2019-06-13 |
CN109643150A (zh) | 2019-04-16 |
WO2018063584A1 (en) | 2018-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109643150B (zh) | 用于闩锁检测和缓解的系统和方法 | |
Papadimitriou et al. | Harnessing voltage margins for energy efficiency in multicore CPUs | |
Vadlamani et al. | Multicore soft error rate stabilization using adaptive dual modular redundancy | |
US7702971B2 (en) | System and method for predictive failure detection | |
Constantinides et al. | Online design bug detection: RTL analysis, flexible mechanisms, and evaluation | |
US10929535B2 (en) | Controlled introduction of uncertainty in system operating parameters | |
CN101566958B (zh) | 检测处理器资源的架构易损性 | |
US20160378628A1 (en) | Hardware processors and methods to perform self-monitoring diagnostics to predict and detect failure | |
JP2008546123A (ja) | ビット・レベル・エラーの計数に基づくエラー緩和の選択的アクティブ化 | |
KR20130126647A (ko) | 최대 전류 제한 방법 및 장치 | |
US20160301428A1 (en) | Method and apparatus for selective and power-aware memory error protection and memory management | |
US9996127B2 (en) | Method and apparatus for proactive throttling for improved power transitions in a processor core | |
US20190129777A1 (en) | Method, system, and apparatus for an improved memory error prediction scheme | |
KR20080054409A (ko) | 변화를 탐지하는 클러스터 아키텍처 | |
Papadimitriou et al. | A system-level voltage/frequency scaling characterization framework for multicore CPUs | |
Hardy et al. | The performance vulnerability of architectural and non-architectural arrays to permanent faults | |
Yesil et al. | Toward dynamic precision scaling | |
US7954038B2 (en) | Fault detection | |
EP4020216B1 (en) | Performance circuit monitor circuit and method to concurrently store multiple performance monitor counts in a single register | |
Chatzidimitriou et al. | Analysis and characterization of ultra low power branch predictors | |
Shazli et al. | A field analysis of system-level effects of soft errors occurring in microprocessors used in information systems | |
Dweik et al. | Reliability-aware exceptions: Tolerating intermittent faults in microprocessor array structures | |
US20160179611A1 (en) | Low overhead error checking and correction apparatus and method | |
Tan et al. | Failure analysis and quantification for contemporary and future supercomputers | |
US20160283410A1 (en) | Return oriented programming stack pivoting protection |
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 |