CN104756071A - 用于将处理器架构状态保存在高速缓存层级中的方法和装置 - Google Patents
用于将处理器架构状态保存在高速缓存层级中的方法和装置 Download PDFInfo
- Publication number
- CN104756071A CN104756071A CN201380054057.3A CN201380054057A CN104756071A CN 104756071 A CN104756071 A CN 104756071A CN 201380054057 A CN201380054057 A CN 201380054057A CN 104756071 A CN104756071 A CN 104756071A
- Authority
- CN
- China
- Prior art keywords
- cache
- processing unit
- processor
- hierarchy
- level
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 63
- 230000015654 memory Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 11
- 238000011010 flushing procedure Methods 0.000 abstract 1
- 239000004065 semiconductor Substances 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种处理器(105),所述处理器包括第一处理单元(110、115)和第一级高速缓存(220),所述第一级高速缓存(220)与所述第一处理单元相关联并且可操作来存储数据以供所述第一处理单元在所述第一处理单元的正常操作期间使用。所述第一处理单元可操作来响应于接收到断电信号将用于所述第一处理单元的第一架构状态数据(240、250、260)存储在所述第一级高速缓存中。一种用于控制对包括高速缓存级(220、230)的层级的处理器(105)供电的方法,所述方法包括:响应于接收到断电信号,将用于所述处理器的第一处理单元(110、115)的第一架构状态数据(240、250、260)存储在所述高速缓存层级的第一级(220)中;以及在使所述高速缓存层级的所述第一级和所述第一处理单元断电之前,将所述第一级的包括第一架构状态数据的内容刷新至所述高速缓存层级的第一更低级(230)。
Description
背景技术
所公开的主题整体涉及一种具有多个功率状态的电子设备,并且更具体地,涉及一种用于将处理器的架构状态保存在高速缓存层级中的方法和装置。
硅加工技术的日益发展和晶体管几何结构的不断减小使静态功耗(泄漏)成为集成电路设备如处理器(CPU)的功率分配的更重要的因素。为了试图减小功率消耗,一些设备已配备成进入一种或多种降低功率状态。在降低功率状态中,降低的时钟频率和/或工作电压可用于所述设备。
为了节省系统功率,CPU核芯在未使用时可断电。当系统稍后要求使用所述CPU核芯时,将给CPU核芯通电并且再次在所述CPU核芯上开始执行。当CPU核芯断电时,所述CPU核芯的架构状态将丢失。然而,当再次给CPU核芯通电时,CPU核芯将要求恢复架构状态以便继续执行软件。为了避免运行冗长启动代码来使CPU核芯恢复回其初始状态,对CPU核芯来说常见的是在断电之前保存其架构状态且随后在通电时再次恢复那个状态。CPU核芯将架构状态存储在将在整个CPU核芯断电期间保持功率的位置中。
保存和恢复架构状态的这个过程对系统而言是对时间要求严格的。在进入断电状态之前浪费的任何时间是核芯可能已经断电的时间。因此,较长架构状态节省耗散功率。此外,在通电时恢复架构状态时耗费的任何时间增加CPU核芯可响应于新过程的等待时间,由此使得系统变慢。此外,在整个低功率状态中保存架构状态的存储位置必须是安全的。如果硬件或软件实体在CPU核芯处于低功率状态时可能恶意破坏这个架构状态,所述CPU核芯将会恢复所破坏的状态并且可能暴露于安全风险下。
常规CPU核芯将架构状态保存至各种位置以有利于实现更低功率状态。例如,CPU可将架构状态保存至专用SRAM阵列或系统存储器(例如,DRAM)。专用SRAM允许更快的存储和恢复时间以及提高的安全性,但会要求专用硬件,从而导致成本增加。保存至系统存储器使用现有基础结构,但增加了保存和恢复时间并降低了安全性。
本文献的这个部分意图介绍本领域的各种方面,这些方面可能涉及下文所描述和/或要求保护的本公开的主题的各种方面。这个部分提供背景信息,以有利于更好地理解所公开的主题的各种方面。应当理解,本文献的这个部分中的表述将从这一角度阅读,而不是作为现有技术的描述。本公开的主题涉及克服、或至少减小上述一个或多个问题的影响。
实施方案概述
以下呈现所公开的主题的实施方案的仅仅一些方面的简要概述,以便提供对所公开的主题的一些方面的基本理解。本概述并不是对所公开的主题的详尽概括。它不意图指出所公开的主题的重要或关键要素、或描绘所公开的主题的范围。它的唯一目的是以简化形式呈现一些概念,以作为下文将讨论的更详细的描述的序言。
一些实施方案包括一种处理器,所述处理器包括第一处理单元和第一级高速缓存,所述第一级高速缓存与所述第一处理单元相关联并且可操作来存储数据以供所述第一处理单元在所述第一处理单元的正常操作期间使用。所述第一处理单元可操作来响应于接收到断电信号将用于所述第一处理单元的第一架构状态数据存储在所述第一级高速缓存中。
一些实施方案包括一种用于控制对包括高速缓存级的层级的处理器供电的方法。所述方法包括:响应于接收到断电信号,将用于所述处理器的第一处理单元的第一架构状态数据存储在所述高速缓存层级的第一级中;以及在使所述高速缓存层级的所述第一级和所述第一处理单元断电之前,将所述第一级的包括所述第一架构状态数据的内容刷新至所述高速缓存层级的第一更低级。
附图简述
所公开的主题将在下文中参照附图来描述,其中相似参考数字表示相似元件,并且:
图1是根据一些实施方案的可操作来将架构处理器状态存储在高速缓存层级中的计算机系统的简化框图;
图2是根据一些实施方案的通过图1的系统实施的高速缓存层级的简图;
图3是根据一些实施方案的包括可能用于图1的系统的指令和数据高速缓存的第1级高速缓存的简图;
图4-8示出根据一些实施方案的在断电事件期间使用高速缓存层级存储处理器架构状态;以及
图9是根据一些实施方案的可编程以指导图1-3的集成电路设备的制造的计算装置的简图。
虽然所公开的主题易产生各种修改和替代形式,但其特定实施方案已经通过举例在附图中示出并在本文中已详细说明。然而,应当理解,本文对特定实施方案的描述并不意图将所公开的主题限制于所公开的具体形式,而正相反,其意图是涵盖落在所公开的主题的如随附权利要求书定义的精神和范围内的所有修改、等效物和替代方案。
具体实施方案
以下将对所公开的主题的一或多个具体实施方案进行描述。应当明确,所公开的主题并不限于本文中包含的实施方案和示例,而还包括如在所附权利要求书的范围内的那些实施方案的修改形式,包括实施方法的部分和不同实施方案的要素的组合。应当了解,在任意工程或设计项目中开发任意此类实际实施方案时,都必须做出与实施方案特定相关的各种决定,以实现开发人员的具体目标,例如,遵守系统相关和业务相关约束,这些约束可能会因实施方案的不同而有所不同。此外,应当了解,这种开发努力可能复杂耗时,但无论如何对受益于本公开的一般技术人员而言,这种开发仍是常规的设计、建造和制造操作。在本申请中,除非明确指明是“关键的”或“重要的”,否则不认为对所公开的主题是关键的或重要的。
现在将参照附图来对所公开的主题进行描述。各种结构、系统和设备仅仅出于解释目的示意性地描绘在附图中,并且以便不因本领域的技术人员所熟知的细节模糊所公开的主题。然而,包括附图来描述和解释所公开的主题的说明性实例。本文中所用的词语和短语应当理解并解释为具有与相关领域的技术人员所理解的那些词语和短语一致的含意。术语或短语的特殊定义(即不同于本领域的技术人员理解的普通和惯常的含意的定义)都不意图由本文中的术语或短语的一贯用法来暗示。在术语或短语意图具有特殊含意(即不同于技术人员所理解的含意)的程度上,这种特殊定义将在说明书中以直接且明确地提供术语或短语的特殊定义的定义方式来清楚阐明。
现在参照附图,其中在若干视图中,并且确切地说,参照图1,相同参考数字对应于相似元件,所公开的主题应在包括加速处理单元(APU)105的计算机系统100的上下文中进行描述。APU 105包括一个或多个中央处理单元(CPU)核芯110和它们的相关联的高速缓存112(例如,L1、L2、或其它级高速缓存存储器)、图形处理单元(GPU)115和其相关联的高速缓存117(例如L1、L2、L3、或其它级高速缓存存储器)、高速缓存控制器119、功率管理控制器120、北桥(NB)控制器125。系统100还包括南桥(SB)130和系统存储器135(例如,DRAM)。NB控制器125提供到南桥130和系统存储器135的接口。在本文未描述核芯110和/或一个或多个高速缓存存储器112的某些示例性方面的情况下,此类示例性方面可或可不包括在各种实施方案中,而不限制本领域的技术人员将理解的本主题的实施方案的精神和范围。
在一些实施方案中,计算机系统100可与一个或多个外围设备140、输入设备145、输出设备150和/或显示单元155交接。通信接口160如网络接口电路(NIC)可连接至南桥130以使用一个或多个通信拓扑(有线、无线、宽带等)来促进网络连接。设想的是,在各种实施方案中,在不影响本主题的实施方案的范围的情况下,联接到南桥130的元件可在计算机系统100的内部或外部,并且可为有线的(如示出为是与南桥130的接口),或无线连接的。显示单元155可为内部或外部监测器、电视屏幕、手持式设备显示器等。输入设备145可为键盘、鼠标、轨迹球、触笔、鼠标垫、鼠标按纽、操纵杆、扫描器等中的任何一种。输出设备150可为监测器、打印机、绘图仪、复印机或其它输出设备中的任何一种。外部设备140可为可联接到计算机的任何其它设备:能够读出和/或写入对应物理数字介质的CD/DVD驱动器、通用串行总线(“USB”)设备、压缩驱动器(Zip Drive)、外部软盘驱动器、外部硬盘驱动器、电话和/或宽带调制解调器、路由器、网关、接入点等。在本文未描述计算机系统100的某些示例性方面的情况下,此类示例性方面可或可不包括在各种实施方案中,而不限制本领域的技术人员将理解的本主题的实施方案的精神和范围。系统100的操作一般由与系统100的各种元件交接的包括软件的操作系统165来控制。在各种实施方案中,计算机系统100可为个人计算机、膝上型计算机、手持式计算机、平板计算机、移动设备、电话、个人数据助理(“PDA”)、服务器、主机、工作终端、音乐播放器、智能电视等。
功率管理控制器120可为被配置成在计算机系统100的载体上执行一个或多个功能的电路或逻辑。如图1所示,功率管理控制器120实施在NB控制器125中,NB控制器125可包括被配置成执行作为NB控制器125的总功能性的功能之一的功率管理控制的电路(或子电路)。在一些实施方案中,南桥130控制用于为系统100的各种部分提供电力的多个电压轨132。单独电压轨132允许一些元件进入休眠状态,同时允许其它元件维持通电。
在一些实施方案中,NB控制器125所表示的电路被实施为分布电路,其中所述分布电路的相应部分被配置在系统100的一个或多个元件(如处理器核芯110)中,但在单独电压轨132上操作,即与在功能上不同于分布电路的一个或多个部分的核心110的一个或多个区使用不同电源。因此,单独电压轨132可使分布电路的每个相应部分能够执行其功能,即使在系统100的其余处理器核芯110或其它元件处于降低功率状态时也是如此。此功率独立性使得以分布电路、分布式控制器或分布式控制电路为特征的实施方案能够执行图1所示NB控制器125所执行的功能的至少一些或全部。在一些实施方案中,功率管理控制器120控制计算机系统100中的各种处理单元110、115的功率状态。
不同软件程序的指令通常存储在相对大的但缓慢的非易失性存储单元(例如,内部或外部磁盘驱动器单元)上。当用户选择程序中的一个程序来执行时,所选程序的指令被复制到系统存储器135中,并且处理器105从系统存储器135中获得所选程序的指令。数据的一些部分也加载到核芯110中的一个或多个的高速缓存存储器112中。
高速缓存112、117是存储预期在正常操作期间相对频繁使用的指令和/或数据的副本的更小且更快的存储器(即与系统存储器135相比)。核芯110和/或GPU 115可采用高速缓存元件层级结构。
预期将在正常操作期间由处理单元110、115使用的指令或数据通过高速缓存控制器119从相对大且缓慢的系统存储器135移动到高速缓存112、117中。当处理单元110、115需要读出或写入系统存储器135中的位置时,高速缓存控制器119首先检查了解期望存储位置是否包括在高速缓存112、117中。如果这个位置包括在高速缓存112、117中(即,高速缓存命中(cache hit)),那么处理单元110、115可对高速缓存112、117中的副本执行读出或写入操作。如果这个位置不包括在高速缓存112、117中(即,高速缓存未命中(cache miss)),那么处理单元110、115需要存取存储在系统存储器135中的信息,并且在一些情况下,所述信息可从系统存储器135、高速缓存控制器119复制并添加到高速缓存112、117中。高速缓存112、117的适当配置和操作可将存储器存取的等待时间减少至低于系统存储器135的等待时间、达到与高速缓存112、117的值接近的值。
现在参考图2,框图示出处理器105所采用的高速缓存层级。在所示实施方案中,处理器105采用分层高速缓存,所述分层高速缓存将高速缓存划分为三个级,这三个级称为L1高速缓存、L2高速缓存和L3高速缓存。核芯110被分组到CPU集群200中。每个核芯110具有其自己的L1高速缓存210,每个群集200具有相关联的L2高速缓存220,并且群集200共享L3高速缓存230。系统存储器135处于L3高速缓存230下游。在高速缓存层级中,速度一般随着级而降低,但是尺寸一般随着级而增大。例如,L1高速缓存210是通常比L2高速缓存220更小且更快的存储器,并且L2高速缓存220又比L3高速缓存230更小且更快。高速缓存层级中的最大级是系统存储器135,所述系统存储器135又比高速缓存存储器210、220、230更慢。特定核芯110首先尝试在L1高速缓存中定位所需存储位置,并且随后当所述核心110无法在高速缓存的上级中找到存储位置时,继续在L2高速缓存、L3高速缓存以及最后系统存储器135中相继查找。高速缓存控制器119可为管理所有高速缓存层级的各级的集中式单元,或其可为分布式的。例如,每个高速缓存210、220、230可具有其自己的高速缓存控制器119,或一些级可共享公共高速缓存控制器119。
在一些实施方案中,如图3所示,L1高速缓存可进一步细分成用于存储指令的单独L1高速缓存L1-I 300和用于存储数据的单独L1高速缓存L1-D 310。L1-I高速缓存300可放置在要求更频繁地存取指令而非数据的实体附近,而L1-D高速缓存310可放置成更靠近于要求更频繁地存取数据而非指令的实体。L2高速缓存220通常与L1-I和L1-D高速缓存两者相关联,并且可存储从L3高速缓存230和系统存储器135检索到的指令或数据的副本。将频繁使用的指令从L2高速缓存复制到L1-I高速缓存300中,并且可将频繁使用的数据从L2高速缓存复制到L1-D高速缓存310中。L2和L3高速缓存220、230通称统一高速缓存。
在一些实施方案中,功率管理控制器120控制核芯110的功率状态。当特定核芯110处于断电状态(例如,C6状态)时,核芯110响应于来自功率管理控制器120的断电信号将其架构状态保存在其L1高速缓存220中。在其中L1高速缓存220包括L1-I高速缓存300和L1-D高速缓存310的实施方案中,L1-D高速缓存310通常用于存储架构状态。以此方式,系统100使用高速缓存层级以有利于针对功率事件的架构状态保存/恢复。当核芯110断电时,高速缓存内容通过高速缓存控制器119自动刷新到高速缓存层级中的下一更低级。在所示实施方案中,每个核芯具有用于存储其架构状态的指定存储位置。当特定核芯110接收供电恢复指令或信号时,所述核芯110基于指定存储位置来检索其架构状态。基于指定存储位置,高速缓存层级将响应于断电事件来将架构状态数据定位在数据向下刷新至的最低级。如果断电事件在刷新L1高速缓存210之前被功率管理控制器120取消,架构状态可从所述L1高速缓存210检索。
如图4所示,功率管理控制器120指示CPU3转换成低功率状态。CPU3将其架构状态240(AST3)存储在其L1高速缓存220中。如图5所示,当CPU3断电时,其L1高速缓存220通过高速缓存控制器119刷新至用于CPU群集1的L2高速缓存220。CPU3的断电由灰色阴影表示。
如图6中所示,功率管理控制器120还指示将CPU2断电,并且CPU2将其架构状态250(AST2)存储在其L1高速缓存220中。CPU2断电且其状态250通过高速缓存控制器119刷新至L2高速缓存220。如图7中所示,由于CPU群集1中的两个核芯110断电,整个群集可能断电,这使L2高速缓存220刷新至L3高速缓存230。
如图8中所示,如果CPU1将被功率管理控制器120断电,那么所述CPU1将其架构状态260(ASTATE1)保存到其L1高速缓存210,并且随后高速缓存控制器119将刷新至L2高速缓存220。在这种电流状态下,仅CPU0正在运行,这对具有仅一个执行程序的CPU系统而言是常见的场景。
如果CPU1将接收供电恢复指令或信号,那么所述CPU1将仅需从CPU群集0L2高速缓存220中获取其架构状态。如果CPU2或CPU3将通电,那么它们将需要从L3高速缓存230中获取其相应状态。由于核芯110使用用于其相应架构状态数据的指定存储位置,所恢复的核芯110仅需要从指定位置请求数据。高速缓存控制器119将自动地定位其中驻留数据的高速缓存级。例如,如果架构状态数据存储在L3高速缓存230中,正在恢复的核芯110将在L1高速缓存210和L2高速缓存220中未命中,并且最终在L3高速缓存230中命中。高速缓存层级逻辑将识别架构状态数据的位置,并且将其转送到正在恢复的核芯110。
如果所有核芯110都将断电,那么将L3高速缓存230刷新至系统存储器135,并且整个CPU系统可能断电。在高速缓存层级的更高级中未命中之后的供电恢复期间,高速缓存控制器119会将架构状态数据定位在系统存储器135中。
对于具有高速缓存层级的多个级的处理器系统而言,使用高速缓存层级来保存架构状态具有的益处为低的等待时间,因为架构状态数据仅在高速缓存层级中按需向下刷新以支持功率状态。这种方法还使用了现有高速缓存刷新基础结构来将数据保存至高速缓存,并且随后从一个高速缓存向下一个高速缓存刷新数据,因此设计复杂性低。
图9示出如可在本主题的一些方面中使用的计算装置900的硬件和软件架构的所选部分的简图。计算装置900包括通过总线系统915与存储装置910通信的处理器905。存储装置910可包括硬盘和/或随机存取存储器(RAM)和/或可移动存储器,如磁盘920或光盘925。存储装置910还用操作系统930、用户界面软件935和应用程序940来编码。用户界面软件935结合显示器945一起实施用户界面950。用户界面950可包括外部I/O设备,如小键盘或键盘955、鼠标960等。处理器905在操作系统930的控制下运行,所述操作系统930实际上可为本领域中已知的任何操作系统。根据操作系统930的实施方式,应用程序940在通电、重启(reset)、用户交互等时由操作系统930调用。当调用时,应用程序940执行本主题的方法。用户可通过用户界面950以常规方式调用应用程序940。应当注意,尽管示出独立系统,但不需要使得数据作为模拟应用程序940(数据由其处理)驻留在相同计算装置900上。因此,本主题的一些实施方案可用分布式存储装置和/或处理能力来在分布式计算系统上实施。
设想的是,在一些实施方案中,可在设计和制造超大规模集成电路(VLSI电路)如半导体产品和设备和/或其它类型的半导体设备的过程中使用不同种类的硬件描述语言(HDL)。HDL的一些实例是VHDL和Verilog/Verilog-XL,但可使用未列出的其它HDL格式。在一个实施方案中,可使用HDL代码(例如,寄存器传送级(RTL)代码/数据)来生成GDS数据、GDSII数据等等。GDSII数据例如是描述型文件格式,并且可用于不同实施方案中来代表半导体产品或设备的三维模型。此类模型可由半导体制造设施使用来产生半导体产品和/或设备。GDSII数据可存储为数据库或其它程序存储结构。这个数据也可储存在计算机可读存储设备(例如,存储装置910,磁盘920、925,固态存储器等)上。在一个实施方案中,GDSII数据(或其它类似数据)可适于配置制造设施(例如,通过使用掩膜作品(mask works))来产生能够体现所公开的实施方案的各种方面的设备。换句话说,在各种实施方案中,这种GDSII数据(或其它类似数据)可编程到计算装置900中,并且由处理器905使用应用程序965执行,所述处理器905随后可完全或部分控制半导体制造设施(或车间)的操作来产生半导体产品和设备。例如,在一个实施方案中,包含图1至8所示计算机系统100的部分的硅晶圆可使用GDSII数据(或其它类似数据)来产生。
以上所公开的特定实施方案仅为说明性的,因为所公开的主题可以受益于本文教义的本领域的技术人员显而易见的不同但等效的方式来修改和实施。此外,除如所附权利要求书中描述的之外,并不意图限制本文所示的构造或设计的细节。因此,显而易见的是,以上所公开的特定实施方案可更改或修改,并且所有此类变化均被视为落入所公开的主题的范围和精神内。因此,本文所寻求的保护如所附权利要求书所阐述的。
Claims (17)
1.一种处理器,所述处理器包括:
第一处理单元(110);以及
第一级高速缓存(220),其与所述第一处理单元相关联并且可操作来存储数据以供所述第一处理单元在所述第一处理单元的正常操作期间使用,其中所述第一处理单元可操作来响应于接收到断电信号将用于所述第一处理单元的第一架构状态数据(240)存储在所述第一级高速缓存中。
2.如权利要求1所述的处理器,其还包括:
高速缓存控制器(120);以及
第二级高速缓存(230),其中所述高速缓存控制器可操作来在所述处理器使所述第一处理单元和所述第一级高速缓存断电之前,将所述第一级高速缓存的内容刷新至所述第二级高速缓存,所述内容包括第一架构状态数据。
3.如权利要求2所述的处理器,其中所述第一处理单元可操作来响应于接收到供电恢复信号从所述第二级高速缓存中检索所述第一架构状态数据。
4.如权利要求3所述的处理器,其还包括与第二第一级高速缓存(220)相关联的第二处理单元(115),其中所述第二处理单元可操作来响应于接收到用于所述第二处理单元的断电信号将用于所述第二处理单元的第二架构状态数据(250)存储在所述第二第一级高速缓存中。
5.如权利要求4所述的处理器,其中所述高速缓存控制器可操作来在所述处理器使所述第二处理单元和所述第二第一级高速缓存断电之前,将所述第二第一级高速缓存的内容刷新至所述第二级高速缓存,所述内容包括所述第二架构状态数据。
6.如权利要求5所述的处理器,其还包括第三级高速缓存(230),其中所述高速缓存控制器可操作来在所述处理器使所述第一处理单元和所述第二处理单元以及所述第一第一级高速缓存和所述第二第一级高速缓存断电之前,将所述第二级高速缓存的内容刷新至所述第三级高速缓存,所述内容包括所述第一架构状态数据和所述第二架构状态数据。
7.一种处理器(105),所述处理器(105)包括:
多个处理单元(110、115);
高速缓存控制器(120);以及
高速缓存层级,所述高速缓存层级包括联接到所述多个处理单元的多个级(220、230),其中所述多个处理单元可操作来响应于接收到相应断电信号将相应架构状态数据(240、250、260)存储在所述高速缓存层级的第一级(220)中,并且所述高速缓存控制器可操作来在所述处理器使所述高速缓存层级的所述第一级以及与所述高速缓存层级的所述第一级相关联的任何处理单元断电之前,将所述第一级的包括所述相应架构状态数据的内容刷新至所述高速缓存层级的第一更低级(230)。
8.如权利要求7所述的处理器,其中所述高速缓存控制器可操作来在所述处理器使所述高速缓存层级的所述第一更低级以及与所述高速缓存层级的所述第一更低级相关联的任何处理单元断电之前,将所述第一更低级的内容刷新至所述高速缓存层级的第二更低级(230)。
9.如权利要求7所述的处理器,其中所述处理器可操作来恢复对所述多个处理单元中的至少一个的供电,并且所恢复的处理单元可操作来从所述高速缓存层级中检索其相关联的架构状态数据。
10.如权利要求7所述的处理器,其中每个处理单元具有用于存储其相应架构状态数据的相关联的指定存储位置,并且所恢复的处理单元可操作来基于其指定存储位置从所述高速缓存层级中检索其相关联的架构状态数据。
11.一种计算机系统(100),所述计算机系统(100)包括:
处理器(105),所述处理器(105)包括:
多个处理单元(110、115);以及
联接到所述多个处理单元的多个高速缓存存储器(220、230);
系统存储器(135),其联接到所述处理器,其中包括多个高速缓存级和低于所述高速缓存级的至少一个系统存储器级的存储器层级由所述多个高速缓存存储器和所述系统存储器来定义;以及
功率管理控制器(120),其可操作来将断电信号发送到所述多个处理单元中的第一处理单元,其中所述第一处理单元可操作来响应于接收到断电信号将用于所述第一处理单元的第一架构状态数据(230)存储在所述存储器层级的第一级(220)中。
12.如权利要求11所述的系统,其还包括高速缓存控制器(120),所述高速缓存控制器(120)可操作来在所述处理器使所述第一处理单元以及所述存储器层级的所述第一级断电之前,将所述存储器层级的所述第一级的内容刷新至所述存储器层级的第二级(230),所述内容包括所述第一架构状态数据。
13.如权利要求12所述的系统,其中所述高速缓存控制器可操作来在所述处理器使所述高速缓存层级的所述第二级以及与所述高速缓存层级的所述第二级相关联的任何处理单元断电之前,将所述存储器层级的所述第二级的内容刷新至所述高速缓存层级的第三更低级(230)。
14.一种用于控制对包括高速缓存级(220、230)的层级的处理器(105)供电的方法,所述方法包括:
响应于接收到断电信号,将用于所述处理器的第一处理单元(110)的第一架构状态数据(240)存储在所述高速缓存层级的第一级(220)中,以及
在使所述高速缓存层级的所述第一级和所述第一处理单元断电之前,将所述第一级的包括所述第一架构状态数据的内容刷新至所述高速缓存层级的第一更低级(230)。
15.如权利要求14所述的方法,其还包括在使所述高速缓存层级的所述第一更低级断电之前,将所述第一更低级的内容刷新至所述高速缓存层级的第二更低级(230)。
16.如权利要求15所述的方法,其还包括:
恢复对所述第一处理单元的供电;以及
从所述高速缓存层级中检索所述第一架构状态数据。
17.如权利要求14所述的方法,其中所述处理器包括多个处理单元(110、115),所述方法还包括在使所述高速缓存层级的特定级以及与所述高速缓存层级的特定级相关联的任何处理单元断电之前,将所述高速缓存层级的所述特定级的内容刷新至比所述特定级更低的级。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/653,744 US20140108734A1 (en) | 2012-10-17 | 2012-10-17 | Method and apparatus for saving processor architectural state in cache hierarchy |
US13/653,744 | 2012-10-17 | ||
PCT/US2013/065178 WO2014062764A1 (en) | 2012-10-17 | 2013-10-16 | Method and apparatus for saving processor architectural state in cache hierarchy |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104756071A true CN104756071A (zh) | 2015-07-01 |
Family
ID=49517688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380054057.3A Pending CN104756071A (zh) | 2012-10-17 | 2013-10-16 | 用于将处理器架构状态保存在高速缓存层级中的方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20140108734A1 (zh) |
EP (1) | EP2909714A1 (zh) |
JP (1) | JP2015536494A (zh) |
KR (1) | KR20150070179A (zh) |
CN (1) | CN104756071A (zh) |
IN (1) | IN2015DN03134A (zh) |
WO (1) | WO2014062764A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9158693B2 (en) | 2011-10-31 | 2015-10-13 | Intel Corporation | Dynamically controlling cache size to maximize energy efficiency |
CN104781803B (zh) * | 2012-12-26 | 2018-06-15 | 英特尔公司 | 用于架构不同核的线程迁移支持 |
US9367114B2 (en) * | 2013-03-11 | 2016-06-14 | Intel Corporation | Controlling operating voltage of a processor |
US9262322B2 (en) * | 2013-09-17 | 2016-02-16 | Advanced Micro Devices, Inc. | Method and apparatus for storing a processor architectural state in cache memory |
US9891695B2 (en) * | 2015-06-26 | 2018-02-13 | Intel Corporation | Flushing and restoring core memory content to external memory |
US9946646B2 (en) * | 2016-09-06 | 2018-04-17 | Advanced Micro Devices, Inc. | Systems and method for delayed cache utilization |
US10387298B2 (en) * | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US10373285B2 (en) * | 2017-04-09 | 2019-08-06 | Intel Corporation | Coarse grain coherency |
US10325341B2 (en) | 2017-04-21 | 2019-06-18 | Intel Corporation | Handling pipeline submissions across many compute units |
US10970080B2 (en) | 2018-02-08 | 2021-04-06 | Marvell Asia Pte, Ltd. | Systems and methods for programmable hardware architecture for machine learning |
US10997510B1 (en) | 2018-05-22 | 2021-05-04 | Marvell Asia Pte, Ltd. | Architecture to support tanh and sigmoid operations for inference acceleration in machine learning |
US10929778B1 (en) | 2018-05-22 | 2021-02-23 | Marvell Asia Pte, Ltd. | Address interleaving for machine learning |
US11016801B1 (en) | 2018-05-22 | 2021-05-25 | Marvell Asia Pte, Ltd. | Architecture to support color scheme-based synchronization for machine learning |
US10929760B1 (en) | 2018-05-22 | 2021-02-23 | Marvell Asia Pte, Ltd. | Architecture for table-based mathematical operations for inference acceleration in machine learning |
US10891136B1 (en) | 2018-05-22 | 2021-01-12 | Marvell Asia Pte, Ltd. | Data transmission between memory and on chip memory of inference engine for machine learning via a single data gathering instruction |
US10929779B1 (en) * | 2018-05-22 | 2021-02-23 | Marvell Asia Pte, Ltd. | Architecture to support synchronization between core and inference engine for machine learning |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5860106A (en) * | 1995-07-13 | 1999-01-12 | Intel Corporation | Method and apparatus for dynamically adjusting power/performance characteristics of a memory subsystem |
US7412565B2 (en) * | 2003-08-18 | 2008-08-12 | Intel Corporation | Memory optimization for a computer system having a hibernation mode |
US7139909B2 (en) * | 2003-10-16 | 2006-11-21 | International Business Machines Corporation | Technique for system initial program load or boot-up of electronic devices and systems |
US7539819B1 (en) * | 2005-10-31 | 2009-05-26 | Sun Microsystems, Inc. | Cache operations with hierarchy control |
US7958312B2 (en) * | 2005-11-15 | 2011-06-07 | Oracle America, Inc. | Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state |
US7606976B2 (en) * | 2006-10-27 | 2009-10-20 | Advanced Micro Devices, Inc. | Dynamically scalable cache architecture |
US20100274972A1 (en) * | 2008-11-24 | 2010-10-28 | Boris Babayan | Systems, methods, and apparatuses for parallel computing |
US8117498B1 (en) * | 2010-07-27 | 2012-02-14 | Advanced Micro Devices, Inc. | Mechanism for maintaining cache soft repairs across power state transitions |
US8751745B2 (en) * | 2010-08-11 | 2014-06-10 | Advanced Micro Devices, Inc. | Method for concurrent flush of L1 and L2 caches |
US20130262780A1 (en) * | 2012-03-30 | 2013-10-03 | Srilatha Manne | Apparatus and Method for Fast Cache Shutdown |
-
2012
- 2012-10-17 US US13/653,744 patent/US20140108734A1/en not_active Abandoned
-
2013
- 2013-10-16 CN CN201380054057.3A patent/CN104756071A/zh active Pending
- 2013-10-16 KR KR1020157010040A patent/KR20150070179A/ko not_active Application Discontinuation
- 2013-10-16 EP EP13786035.9A patent/EP2909714A1/en not_active Withdrawn
- 2013-10-16 JP JP2015537784A patent/JP2015536494A/ja active Pending
- 2013-10-16 IN IN3134DEN2015 patent/IN2015DN03134A/en unknown
- 2013-10-16 WO PCT/US2013/065178 patent/WO2014062764A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2014062764A1 (en) | 2014-04-24 |
IN2015DN03134A (zh) | 2015-10-02 |
JP2015536494A (ja) | 2015-12-21 |
US20140108734A1 (en) | 2014-04-17 |
EP2909714A1 (en) | 2015-08-26 |
KR20150070179A (ko) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104756071A (zh) | 用于将处理器架构状态保存在高速缓存层级中的方法和装置 | |
US10095300B2 (en) | Independent power control of processing cores | |
US9262322B2 (en) | Method and apparatus for storing a processor architectural state in cache memory | |
US9383801B2 (en) | Methods and apparatus related to processor sleep states | |
US9471130B2 (en) | Configuring idle states for entities in a computing device based on predictions of durations of idle periods | |
US10430302B2 (en) | Data retention with data migration | |
CN104636182B (zh) | 一种操作数据处理系统的方法、数据处理系统和处理器 | |
CN104049715A (zh) | 平台不可知的功率管理 | |
US9256535B2 (en) | Conditional notification mechanism | |
CN1246752C (zh) | 用于单锁相环处理器系统的控制处理器功率的方法和装置 | |
EP3142015A1 (en) | Low-power memory-access method and associated apparatus | |
US9823730B2 (en) | Power management of cache duplicate tags | |
US9043628B2 (en) | Power management of multiple compute units sharing a cache | |
US20140250442A1 (en) | Conditional Notification Mechanism | |
US9411663B2 (en) | Conditional notification mechanism | |
US20230334214A1 (en) | Design of an integrated circuit using multiple and different process corners | |
JP2021177367A (ja) | プロセッサアイドル時間のインテリジェント予測装置及び方法 | |
US9396110B2 (en) | Non-volatile hybrid memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150701 |