CN104412224B - 在从低电力状态恢复时处理系统从易失性存储器的重新初始化 - Google Patents
在从低电力状态恢复时处理系统从易失性存储器的重新初始化 Download PDFInfo
- Publication number
- CN104412224B CN104412224B CN201380028476.XA CN201380028476A CN104412224B CN 104412224 B CN104412224 B CN 104412224B CN 201380028476 A CN201380028476 A CN 201380028476A CN 104412224 B CN104412224 B CN 104412224B
- Authority
- CN
- China
- Prior art keywords
- configuration information
- processor device
- processor
- code
- processing system
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 82
- 238000012545 processing Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 claims description 50
- 230000004044 response Effects 0.000 claims description 16
- 238000004519 manufacturing process Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 6
- 230000005611 electricity Effects 0.000 claims description 5
- 238000011084 recovery Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 25
- 238000013461 design Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 210000001519 tissue Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Power Sources (AREA)
Abstract
启动配置信息(130)在低电力状态期间被存储到处理系统(100)的易失性存储器(102)。当从所述低电力状态恢复时,处理器设备(126)从非易失性存储器(104、124)存取用于存储控制器(114)的配置信息(138),并且使用所述配置信息(138)来还原所述存储控制器(114),以便允许访问所述易失性存储器(102)。然后,所述处理器设备(126)使用核心状态信息(134)来配置一个或多个处理器核心(106)的初始上下文,所述核心状态信息(134)在所述低电力状态期间由所述易失性存储器(102)进行维持,并且通过所述被配置的存储控制器(114)来存取,并且所述一个或多个处理器核心(106)通过执行恢复启动代码(136)而不是从非易失性存储器(104)存取启动代码(132)来完成所述启动过程,所述恢复启动代码(136)在所述低电力状态期间由所述易失性存储器(102)进行维持,并且通过所述被配置的存储控制器(114)来存取。
Description
背景
公开领域
本公开一般涉及处理系统,并且更具体来说,涉及用于处理系统的电力状态转换。
相关技术描述
处理系统常常实现一个或多个睡眠状态,以在相对不活动的时期减少电力消耗。这些睡眠状态中的某些状态涉及移除处理器设备的一个或多个组件或者整个处理器设备上的电力,在退出睡眠状态时、操作系统可以恢复控制之前,必需进行处理器设备的重新初始化。这个重新初始化常规上以与从加电复位(也称为“冷启动”)的初始化相同的方式来进行,这涉及执行从处理器设备外部的非易失性存储器存取的基本输入/输出系统(BIOS)代码。从非易失性存储器存取BIOS代码常常是相对较慢的,并且因此是常规处理系统在退出此类睡眠状态时展现的相对较长唤醒延时的显著影响因素。
附图简述
本公开和它对本领域技术人员来说显而易见的众多特征和优势可通过参看附图得到更好地理解。
图1为框图,其示出根据本公开的至少一个实施方案的处理系统。
图2为流程图,其示出根据本公开至少一个实施方案的用于进入处理系统的低电力状态的方法。
图3为流程图,其示出根据本公开至少一个实施方案的用于初始化和重新初始化处理系统的方法。
图4为流程图,其示出根据本公开至少一个实施方案的用于设计和制造集成电路(IC)设备的方法。
在不同图中使用相同参考符号指示类似或相同项目。
发明详述
图1至图4示出用于处理系统从低电力状态有效恢复的示例性技术,在所述低电力状态下,处理器设备会掉电,而对易失性存储器维持电力。在一个实施方案中,恢复启动配置信息作为处理器系统从加电复位或其它冷启动状态的启动过程的一部分而存储到易失性存储器。当断言进入低电力状态的指示符时,处理器设备会掉电,而至少最小电压提供给易失性存储器,以便允许易失性存储器维持所存储的信息。在接收从低电力状态退出或恢复的指示符时,处理器设备的恢复控制器从非易失性存储器存取用于存储控制器的配置信息,并且使用配置信息来配置或以其它方式还原存储控制器,以便允许通过存储控制器来访问易失性存储器。然后,处理器设备可以使用核心状态信息来配置一个或多个处理器核心的初始上下文或状态,所述核心状态信息通过易失性存储器在低电力状态期间进行维持,并且通过被配置的存储控制器来存取,并且所述一个或多个处理器核心可以通过执行恢复启动代码来完成启动过程,所述恢复启动代码通过易失性存储器在低电力状态期间进行维持,并且通过被配置的存储控制器来存取。与依赖于从非易失性存储器存取的启动代码和其它启动信息的常规重新初始化过程相比,在从低电力状态恢复的过程期间,从易失性存储器存取核心状态信息和恢复启动代码可以产生显著减少的唤醒延时,这种改善的唤醒延时至少部分地归因于通常在易失性存储器与非易失性存储器之间发现的存取时间和吞吐量的差异。另外,这个过程提供改善的操作安全性,因为其拒绝了由于修改或交换非易失性存储器中的启动代码而导致的未经授权的存取或配置。
在下文描述中,相对于处理设备而言在“初始化”和“重新初始化”之间作出区分。初始化处理设备是响应于加电复位或“冷启动”而发生。对比来说,重新初始化处理设备是响应于从处理设备掉电的低电力状态恢复或返回或者“热启动”而发生。术语“启动”可以指代各种行业标准的或专有的系统初始化规范或过程、基本输入/输出系统(BIOS)、可扩展固件接口(EFI)、统一EFI(UEFI)等中的任何一种。为了便于论述,本公开的实施方案可以在BIOS的示例性情形下加以描述。然而,本公开并不限于基于BIOS的实现方式,并且对BIOS的参考包括对其它系统初始化规范的参考,除非另有说明。
图1示出根据本公开的至少一个实施方案的、实施有效的从睡眠恢复(resume-from-sleep)的过程的示例性处理系统100。处理系统100可以包括例如台式计算机、笔记本计算机、平板计算机、服务器、具有计算功能的蜂窝电话、个人数字助理等。在所描绘的示例中,处理系统100包括易失性存储器102、非易失性存储器104、一组一个或多个处理器核心106、北桥108、输入/输出(I/O)控制器110、南桥112、存储控制器114、恢复控制器116和电源管理控制器118。
为了便于说明,本公开的示例性技术是以非限制示例性情形加以描述,借以易失性存储器104包括动态随机存取存储器(DRAM),并且非易失性存储器包括闪存存储器。因此,易失性存储器102和非易失性存储器104在下文也分别称为DRAM 102和闪存存储器104。然而,易失性存储器102并不限于DRAM,而相反可以包括例如静态RAM(SRAM)、可控硅RAM(T-RAM)、零电容RAM等。同样地,非易失性存储器104并不限于闪存存储器,而相反可以包括例如只读存储器(ROM)或其它类型的非易失性RAM,如铁电RAM(F-RAM)、磁阻RAM(M-RAM)等。
处理器核心106可以例如包括一个或多个中央处理器(CPU)核心、一个或多个图形处理器(GPU)核心、一个或多个数字信号处理器(DSP)核心以及其组合。为了进行说明,处理系统100可以包括加速处理器(APU),其包括一个或多个CPU核心和一个或多个GPU核心。北桥108耦接到这组处理器核心106、电源管理单元118、I/O控制器110,并且耦接或可耦接到DRAM 102。北桥108包括用于控制如本文所述的复位和恢复操作的控制寄存器119或与所述控制寄存器相关联。
I/O控制器110耦接或可耦接到南桥112,并且充当北桥108与南桥112之间的接口。I/O控制器110还可以包括:用以连接到外围组件的一个或多个集成I/O接口,如显示器接口,例如,用以连接到显示器的高清晰度多媒体接口(HDMI);用以连接到分立GPU、扩展卡或其它外围设备的高速外围组件接口(PCIe)接口;用以连接到一个或多个外围设备的通用串行总线(USB)接口等。南桥112耦接到闪存存储器104,并且充当I/O控制器110与闪存存储器104之间的接口。南桥112还可以包括:用以连接到外围组件的一个或多个集成I/O接口,如用以连接到一个或多个硬盘驱动器的串行高级技术附件(SATA)接口;用以连接到分立GPU、扩展卡或其它外围设备的高速外围组件接口(PCIe)接口;用以连接到一个或多个外围设备的通用串行总线(USB)接口等。存储控制器114耦接或可耦接到DRAM 102,并且充当DRAM102的接口。存储控制器114在所示出的示例中被描绘成北桥108的一部分。
电源管理控制器118被配置来根据一个或多个电力状态规范,如根据高级配置和电源接口(ACPI)规范实现处理系统100的某些组件的电力状态。为进行说明,对实现操作系统(OS)120或其它组件所断言的电力状态,电源管理控制器118可以针对一或多个组件改变时钟频率,将一个或多个组件与电源轨连接或断开,改变供应到一个或多个组件的电压,或其组合。
恢复控制器116耦接到存储控制器114,并且耦接到存储有存储控制器114的存储控制器(MC)配置信息的非易失性存储器。非易失性存储器可以例如包括闪存存储器104或在例如南桥112处实现的NVRAM 124。如下文更详细地描述,响应于处理系统102即将从睡眠状态恢复的指示,恢复控制器116从非易失性存储器存取MC配置信息(MC状态图像138)并且配置存储控制器114,以便使得能够通过存储控制器114来访问DRAM 102。恢复控制器116可以实现为硬连线逻辑和其它电路以便执行本文所述的功能,实现为执行微代码或其它固件的微控制器,或者实现为其组合。
在至少一个实施方案中,处理系统100包括处理器设备126,其包括一个或多个晶粒或“芯片”,在所述晶粒或“芯片”中形成具有某些组件的电路。在所示出的示例中,处理器设备126是集成电路(IC)设备,其包括这组处理器核心106、北桥108、I/O控制器110、存储控制器114、恢复控制器116和电源管理控制器118。南桥112、DRAM 102和闪存存储器104被实现为外部设备,这些外部设备通过例如母板连接到处理器设备126。在其它实施方案中,处理器设备126可以包括南桥112、DRAM 102和闪存存储器104中的一个或多个。
本公开中特定相关的处理系统100的主要操作过程包括:(1)加电复位或“冷启动”过程;(2)挂起到睡眠状态S3的过程;(3)以及从睡眠状态S3恢复的过程。在加电复位过程中,由充当自引导处理器(BSP)的处理器核心106中的一个核心来执行微代码,以便执行处理系统100的初步初始化,在所述初步初始化之后,一个或多个处理器核心106中的每个核心的指令指针(IP)被加载有与闪存存储器104中所存储的复位BIOS图像130的复位启动代码128相关联的复位向量。复位BIOS图像130包括用以初始化处理系统100的复位启动配置信息,如复位启动代码128和其它BIOS信息。然后,处理器核心106执行复位启动代码128来完成处理系统100的初始化,在这点上,控制被转移到OS 120。
在一个实施方案中,复位启动代码128包括被配置来操控处理器设备126将恢复BIOS图像132的副本从闪存存储器104转移到DRAM 102的代码,借以恢复BIOS图像132表示恢复启动配置信息,以在处理系统100从睡眠状态S3恢复时用于对所述处理系统重新初始化。因此,恢复BIOS图像132可以包括一个或多个核心状态图像134和恢复启动代码136。每个核心状态图像134包括表示对应处理器核心106的处理器状态的信息,包括例如各种寄存器(如机器状态寄存器(MSR)、通用寄存器(GPR)、浮点(FP)寄存器)中的值,以及高级可编程中断控制器(APIC)状态、各种I/O子系统状态信息等。恢复启动代码136包括被配置来操控处理器设备126来完成处理器设备126的初始化的代码。此外,恢复启动代码128可以包括其被配置来操控处理器设备126将存储控制器(MC)状态图像138转移到另一非易失性存储器(如NVRAM 124)的代码。或者,MC状态图像138被维持在闪存存储器104中。MC状态图像138包括用于配置存储控制器114的MC配置信息,所述MC配置信息可以包括例如定时信息、地址映射信息等。参考图3更详细地描述加电复位过程。
在操作期间的某个点上,OS 120可以发送进入到睡眠状态S3的信号,响应于这个信号,电源管理控制器118开始挂起到睡眠状态S3的过程。在这个过程期间,处理器设备126会掉电,并且DRAM 102会置于自刷新状态。在自刷新状态下,DRAM 102维持与恢复BIOS图像132相关联的恢复启动配置信息。参考图2更详细地描述这个挂起到S3睡眠状态的过程。
在某个后续点上,南桥112可以响应于唤醒事件而发出从睡眠状态S3退出的信号,所述唤醒事件如唤醒定时器到期、由外围设备产生中断、电源按钮或其它“唤醒”类型按钮的用户操控等。响应于信号发出后的退出,恢复控制器116从NVRAM 124(或替代地,从闪存存储器104)存取MC状态图像138,并且配置或以其它方式还原存储控制器114,以便允许处理器设备126访问DRAM 102。一旦存储控制器114经过配置,每个或一个或多个处理器核心106的指令指针就被加载以恢复启动代码136的对应恢复向量,然后释放处理器核心106来执行恢复启动代码136的对应部分,从而完成处理系统100的重新初始化。参考图3更详细地描述这个从S3睡眠状态恢复的过程。
图2示出根据本公开的至少一个实施方案的方法200,所述方法用于准备将处理系统挂起到S3睡眠状态。为了便于论述,以图1的处理系统100的示例性情形来描述方法200。响应于从上一用户输入或其它睡眠模式条件起相对较长的间歇期,在框202处,OS 120通过例如发出中断(如系统管理中断(SMI))信号或者通过直接的OS或更高阶软件指令来发出挂起到S3状态的信号,其中所述中断信号调用中断处理程序,所述中断处理程序将处理系统100置于S3睡眠状态下。
处理器设备126利用旗标S3_RESUME_FLAG来指示从复位返回是由于从S3睡眠状态恢复还是由于加电复位。因此,在框204处,中断处理程序或恢复控制器116通过将指定值(例如“1”)存储到一个或多个触发器或者其它存储元件中来断言旗标S3_RESUME_FLAG,所述触发器或其它存储元件在处理系统100处于S3状态时仍然通电。在一个实施方案中,旗标S3_RESUME_FLAG最初是存储在南桥112的NVRAM 124(其在S3睡眠状态期间仍然通电)上,并且恢复控制器116随后将这个旗标的副本作为从S3睡眠状态恢复的过程的一部分移动到北桥108的控制寄存器119。
在框206处,中断处理程序或恢复控制器116将DRAM 102置于自刷新模式下,以便在处理系统100处于S3状态时维持DRAM 102中所存储的信息,并且在框208处,电源管理控制器118断言复位信号,并且处理器设备126在复位信号仍被断言的持续时期内会掉电。如本文所使用的术语“掉电”是指被置于寄存器、高速缓存、触发器和其它存储元件的状态借以不会被可靠保持的状态下。这可以通过从处理器设备126的一些或所有组件完全地移除电力、通过向处理器设备的一些或所有组件提供非操作电压(即,提供比存储元件的保持电压更低的电压)、通过给处理器设备的一些或所有组件进行时钟门控等而实现。在这点上,处理系统100视为处于S3睡眠状态下。
图3示出根据本公开的至少一个实施方案的示例性方法300,所述方法用于从加电复位或者从S3睡眠状态恢复时初始化处理器设备126。方法300在框302处开始,借以对处理器设备126的复位信号解除断言。复位信号的解除断言可能是由于加电复位进而发出冷启动信号而发生,或者由于发出了指示从S3睡眠状态恢复到操作状态的信号而发生。后者可以通过例如定时器到期、响应于处理系统100处于S3睡眠状态时电源按钮或用户输入设备的用户操控等来发出信号。处理器设备126利用旗标WAIT_BOOT_INIT使处理器核心106停止执行启动代码,直到进行初步初始化,并且因此,这个旗标可以在框302处通过设置WAIT_BOOT_INIT=1而初始化到停止状态。
在框304处,复位的解除断言会传达到恢复控制器116,在框306处,所述恢复控制器116通过检查旗标S3_RESUME_FLAG的状态而开始它的恢复过程。如果恢复控制器116确定S3_RESUME_FLAG是断言的(例如,等于1)并因此指示复位的解除断言是从S3状态恢复的结果,那么在框308处,恢复控制器116使DRAM 102脱离自刷新模式。然后,恢复控制器116从闪存存储器104或NVRAM 124存取MC状态图像138,所述MC状态图像138在S3睡眠状态期间是存储在所述闪存存储器104或所述NVRAM 124中;并且恢复控制器116使用MC状态图像138中所表示的上下文信息来配置或以其它方式还原存储控制器114的先前状态。这个配置可以包括还原存储控制器114的定时信息、还原先前的地址映射信息(例如,配置页面表)等。
处理器设备126利用旗标S3_EXIT_RST向BSP发出信号来指示从复位返回是否是从S3状态恢复。在配置存储控制器114之后,在框310处,恢复控制器116断言旗标S3_EXIT_RST。如上所述,处理器设备126利用旗标WAIT_BOOT_INIT使处理器核心106停止执行启动代码,直到进行初步初始化。因此,在还原存储控制器114并断言旗标S3_EXIT_RST之后,在框312处,恢复控制器116对旗标WAIT_BOOT_INIT解除断言,从而如下文所述释放BSP和其它处理器核心106而开始执行。旗标S3_EXIT_RST和WAIT_BOOT_INIT可以例如位于北桥108的控制寄存器119中的一个或多个中。
返回到框306,如果恢复控制器116确定S3_RESUME_FLAG是未断言的,从而指示加电复位或从不同于S3睡眠状态的某一状态返回,那么旗标S3_EXIT_RST仍然是未断言的(例如,“0”),并且方法300的流程从框306跳转到框312,借以旗标WAIT_BOOT_INIT会如上文所述解除断言。
与框304至312的过程并行,在框302处,复位的解除断言会在框314处传达到BSP和其它处理器核心106。作为响应,在框316处,BSP开始复位微代码的执行,从而如通过以下方式来初步初始化处理器设备126:进行加电自测(POST)、运行核心内建自测(BIST)、向核心分配引信(fuses)并且初始化准备用于初始化序列的提示符所需要的内部上下文。在初步初始化完成之后,在框318处,处理器核心106重复轮询控制寄存器119中的旗标WAIT_BOOT_INIT,直到旗标解除断言,从而释放处理器核心106而开始执行。一旦这样被释放,在框320处,处理器核心106就会存取旗标S3_EXIT_RST来确定:在框302处对复位解除断言是由加电复位(S3_EXIT_RST=0)引起,还是由从S3睡眠状态恢复(S3_EXIT_RST=1)引起。
在旗标S3_EXIT_RST解除断言(例如“0”)的事件中,方法300的流程转到使用闪存存储器104进行的BIOS初始化过程。因此,在框322处,BSP完成复位微代码的执行,并且因此完成处理器设备126的初步初始化。作为响应,在框324处,BSP的指令指针被设置成用于冷启动BIOS初始化的默认复位向量,并且在框326处,BSP开始执行来自闪存存储器104的复位BIOS图像130的复位启动代码128,以便完成系统初始化过程。在一个实施方案中,复位启动代码128包括操控BSP来将恢复BIOS图像132的副本存储在DRAM 102中的指令,并且因此,复位启动代码128的执行可以包括在框328处将恢复BIOS图像132的副本从闪存存储器104转移到DRAM 102,和在框329处将MC状态图像138的副本从闪存存储器104转移到NVRAM 124。当复位启动代码128的执行完成时,在框330处,处理器核心106中的一个或多个核心的IP会被设置成OS 120的初始向量,并且处理系统100的控制会转移到OS 120,从而完成处理系统100的初始化。
返回到框320,在断言旗标S3_EXIT_RST(例如“1”)的事件中,方法300的流程转到使用DRAM 102中而非闪存存储器104中所存储的恢复启动配置信息来进行的BIOS重新初始化过程。因此,在框332处,一些或所有处理器核心106执行微代码或其它固件,从而通过被还原的存储控制器114从DRAM 102存取它们的对应核心状态图像134。然后,每个处理器核心106基于对应核心状态图像134中所存储的上下文信息来加载其上下文。每个核心状态图像134包括恢复BIOS图像132的恢复启动代码136的对应恢复向量,并且在框334处,这个恢复向量会被加载到对应处理器核心106的指令指针中。在框336处,处理器核心106开始来自DRAM 102的恢复启动代码136的执行,所述执行以相应的恢复向量开始来完成处理系统100的初始化。当恢复启动代码136的执行完成时,在框330处,处理器核心106中的一个核心的IP会被设置成OS 120的初始向量,并且处理系统120的控制会转移到OS 120,从而完成处理系统100的重新初始化。
在至少一个实施方案中,上文所述的装置和技术被实现于包括一个或多个集成电路(IC)设备(也称为集成电路封装或微芯片)的系统中,如图1的处理器设备126。电子设计自动化(EDA)和计算机辅助设计(CAD)软件工具可以用于这些IC设备的设计和制造中。这些设计工具通常表示为一个或多个软件程序。所述一个或多个软件程序包括可由计算机系统执行来操控计算机系统的代码,所述计算机系统被操控来操作表示一个或多个IC设备的电路的代码,从而进行用以设计或调整制造系统的过程的至少一部分,从而制造出所述电路。这个代码可以包括指令、数据或指令和数据的组合。表示设计工具或制造工具的软件指令通常存储在能够由计算系统进行访问的计算机可读存储介质中。同样地,表示IC设备的设计或制造的一个或多个阶段的代码可以存储在相同的计算机可读存储介质或不同的计算机可读存储介质中并从其中进行存取。
计算机可读存储介质可以包括任何存储介质或存储介质的组合,所述存储介质在使用期间可由计算机系统加以访问,以便向计算机系统提供指令和/或数据。此类存储介质可以包括但不限于光学介质(例如,压缩光盘(CD)、数字通用光盘(DVD)、蓝光光盘)、磁性介质(例如,软盘、磁带或磁性硬盘)、易失性存储器(例如,随机存取存储器(RAM)或高速缓存)、非易失性存储器(例如,只读存储器(ROM)或闪存存储器)或基于微机电系统(MEMS)的存储介质。计算机可读存储介质可以嵌入在计算系统中(例如,系统RAM或ROM)、固定附接到计算系统(例如,磁性硬盘)、以可移除方式附接到计算系统(例如,光盘或基于通用串行总线(USB)的闪存存储器),或者通过有线或无线网络而耦接到计算机系统(例如,网络可访问存储器(NAS))。
图4为示出根据本公开至少一个实施方案的示例性方法400的流程图,所述方法用于设计和制造实现本发明一个或多个方面的IC设备。如上所述,针对以下过程中的每个过程生成的代码被存储或以其它方式体现在计算机可读存储介质中,以供对应的设计工具或制造工具存取和使用。
在框402处,生成IC设备的功能规范。所述功能规范(常常称为微架构规范(MAS))可以由各种编程语言或建模语言(包括C、C++、SystemC、Simulink或MATLAB)中的任何语言来表示。
在框404处,功能规范被用来生成表示IC设备的硬件的硬件描述代码。在至少一个实施方案中,硬件描述代码是使用至少一种硬件描述语言(HDL)来表示,所述硬件描述语言包括用于IC设备的电路的形式描述和设计的各种计算机语言、规范语言或建模语言中的任何语言。所生成的HDL代码通常表示IC设备的电路的操作、电路的设计和组织以及通过模拟来验证IC设备的正确操作的测试。HDL的示例包括模拟HDL(AHDL)、Verilog HDL、SystemVerilog HDL和VHDL。对于实现同步数字电路的IC设备而言,硬件描述符代码可以包括寄存器传输级(RTL)代码,其用以提供同步数字电路的操作的抽象表示。对于其它类型的电路而言,硬件描述符代码可以包括行为级代码,其用以提供电路的操作的抽象表示。硬件描述代码所表示的HDL模型通常经受一轮或多轮的模拟和调试以便通过设计验证。
在验证由硬件描述代码所表示的设计之后,在框406处,合成工具被用来合成硬件描述代码,从而生成表示或定义IC设备电路的初始物理实现形式的代码。在一个实施方案中,合成工具生成一个或多个网表,其包括电路设备实例(例如,栅极、晶体管、电阻器、电容器、电感器、二极管等)以及电路设备实例之间的网络或连接。或者,可以在不使用合成工具的情况下手动地生成网表的全部或一部分。使用硬件描述代码的情况下,在生成最终一组一个或多个网表之前,网表可以经受一个或多个测试和验证过程。
或者,示意图编辑工具可以用来草拟IC设备的电路的示意图,并且示意图捕获工具随后可以用来捕获所产生的电路图并且生成一个或多个表示电路图的各组件和连接性的网表(存储在计算机可读介质上)。然后,所捕获的电路图可以经受一轮或多轮模拟以达到测试和验证目的。
在框408处,一个或多个EDA工具使用在框406处所产生的网表来生成表示IC设备的电路物理布局的代码。这个过程可以例如包括安置工具,所述安置工具使用网表来确定或固定IC设备的电路的每个元件的位置。此外,布线工具根据安置过程来进行建构以便增加根据网表来连接电路元件所需要的线路和对线路进行布线。所得的代码表示IC设备的三维模型。所述代码可以表示为数据库文件格式,例如图形数据库系统II(GDSII)格式。呈这个格式的数据通常表示关于呈分层形式的电路布局的几何形状、文本标签和其它信息。
在框410处,将物理布局代码(例如,GDSII代码)提供给制造设施,所述制造设施使用物理布局代码来配置或以其它方式调适制造设施的制造工具(例如,通过掩膜作业(maskwork))以便制造IC设备。即,物理布局代码可以编程到一个或多个计算机系统中,然后,所述计算机系统可以整体地或部分地控制制造设施的工具的操作或其中所执行的制造操作。
应注意,并不需要上文在一般描述中所描述的所有活动或元件,特定活动或设备的一部分可能是不需要的,并且可以进行一个或多个其它活动,或者可以包括除所述的那些元件之外的元件。此外,对活动所列出的顺序并不是它们被执行所必要的顺序。
另外,已经参考特定实施方案描述了各概念。然而,本领域的一般技术人员应了解,在不脱离随附权利要求书中所阐明的本公开的范围的情况下,可以作出各种修改和改变。因此,本说明书和附图应以说明性而非限制性意义来考虑,并且所有这些修改旨在包括在本公开的范围内。
上文已经就特定实施方案描述了益处、其它优势和问题的解决方案。然而,可能使得其它任何益处、优势或解决方案发生或变得更为显著的益处、优势、问题的解决方案和任何特征,不应被解释成任何或全部权利要求的关键、必需或本质的特征。
Claims (10)
1.一种用于制造处理系统的方法,所述方法包括:
响应于处理器设备(126)的加电复位,使用存储在非易失性存储器(104)中的第一启动配置信息(130)来初始化所述处理器设备(126),其中初始化所述处理器设备(126)包括执行在所述第一启动配置信息(130)中的启动代码,将第二启动配置信息(132)的副本从所述非易失性存储器(104)转移到易失性存储器(102);
将所述处理器设备(126)置于低电力状态以初始化所述处理器设备(126);
响应于从所述处理器设备(126)掉电的所述低电力状态恢复的指示,使用在所述低电力状态期间被存储在所述易失性存储器(102)中的所述第二启动配置信息(132)的所述副本来重新初始化所述处理器设备(126),其中初始化所述处理器设备(126)包括:
基于所述第二启动配置信息(132)的核心状态信息来配置所述处理器设备(126)的处理器核心(106)的上下文,其中配置所述处理器核心(106)的所述上下文包括将所述处理器核心(106)的指令指针设置成所述第二启动配置信息(132)的第二启动代码的复位向量;以及
使用所述处理器核心(106)来执行所述第二启动代码。
2.如权利要求1所述的方法,其中重新初始化所述处理器设备(126)包括:
使用存储在所述非易失性存储器(104、124)中的存储控制器配置信息(138)来配置所述处理器设备(126)的存储控制器(114);以及
通过被配置的所述存储控制器(114)从所述易失性存储器(102)存取所述第二启动配置信息(132)。
3.如权利要求2所述的方法,其中配置所述存储控制器(114)包括配置定时信息和地址映射信息中的至少一个。
4.如权利要求1所述的方法,其中重新初始化所述处理器设备(126)包括:
基于所述第二启动配置信息(132)的核心状态信息(134)来配置所述处理器设备(126)的处理器核心(106)的上下文;以及
使用所述处理器核心(106)来执行所述第二启动配置信息(132)的第一启动代码(136)。
5.如权利要求4所述的方法,其中配置所述处理器核心(106)的所述上下文还包括以下至少一个:使用所述核心状态信息(134)来还原所述处理器核心(106)的一个或多个寄存器值;使用所述核心状态信息(134)来还原中断控制器状态;以及,还原一个或多个输入/输出(I/O)子系统。
6.如权利要求1所述的方法,其中:
初始化所述处理器设备(126)包括执行所述第一启动配置信息(130)的启动代码(128),从而将所述第一启动配置信息的副本从所述非易失性存储器(104)转移到所述易失性存储器(102)。
7.一种处理系统,所述处理系统包括:
处理器设备(126),所述处理器设备包括:
可耦接到易失性存储器(102)的存储控制器(114);
耦接到所述存储控制器(114)的复位控制器(116),响应于从所述处理器设备(126)掉电的低电力状态恢复的指示,所述复位控制器(116)配置所述存储控制器(114);以及
耦接到所述存储控制器(114)的处理器核心(106),所述处理器核心(106):
响应于所述处理器设备(126)的加电复位,使用存储在非易失性存储器(104)中的第一启动配置信息(130)来初始化所述处理器设备(126),其中所述处理器核心(106)是用于通过执行在所述第一启动配置信息(130)的启动代码将第二启动配置信息(132)的副本从所述非易失性存储器(104)转移到所述易失性存储器(102)来初始化所述处理器设备(126);以及
响应于从所述低电力状态恢复的所述指示,所述处理器核心(106)使用通过所述存储控制器(114)而从所述易失性存储器(102)存取的所述第二启动配置信息(132)来重新初始化所述处理器设备(126)。
8.如权利要求7所述的处理系统,所述处理系统还包括:
所述非易失性存储器(104),所述非易失性存储器(104)存储所述第一启动配置信息(130),所述第一启动配置信息(130)包括启动代码(128),当由所述处理器核心(106)执行时,所述启动代码(128)操控所述处理器核心(106)来将所述第一启动配置信息(130)的至少一部分存储到所述易失性存储器(102)。
9.如权利要求8所述的处理系统,其中所述处理器核心(106)还响应于所述加电复位而执行来自所述非易失性存储器(104)的所述启动代码(128)。
10.如权利要求7所述的处理系统,其中所述第二启动配置信息(132)包括启动代码(136),并且其中所述处理器核心(106)通过执行所述启动代码(136)来重新初始化所述处理器设备(126)。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN1637/DEL/2012 | 2012-05-30 | ||
IN1637DE2012 | 2012-05-30 | ||
US13/547,701 | 2012-07-12 | ||
US13/547,701 US9182999B2 (en) | 2012-05-30 | 2012-07-12 | Reintialization of a processing system from volatile memory upon resuming from a low-power state |
PCT/US2013/043057 WO2013181220A1 (en) | 2012-05-30 | 2013-05-29 | Reinitalization of a processing system from volatile memory upon resuming from a low-power state |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104412224A CN104412224A (zh) | 2015-03-11 |
CN104412224B true CN104412224B (zh) | 2018-01-09 |
Family
ID=49671782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380028476.XA Active CN104412224B (zh) | 2012-05-30 | 2013-05-29 | 在从低电力状态恢复时处理系统从易失性存储器的重新初始化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9182999B2 (zh) |
EP (1) | EP2856308A1 (zh) |
JP (1) | JP6126211B2 (zh) |
KR (1) | KR101959002B1 (zh) |
CN (1) | CN104412224B (zh) |
WO (1) | WO2013181220A1 (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI510903B (zh) * | 2012-11-19 | 2015-12-01 | Wistron Corp | 電腦系統及資料回復方法 |
US9594567B2 (en) * | 2013-02-21 | 2017-03-14 | Dell Products, Lp | Configuring a trusted platform module |
JP6478562B2 (ja) | 2013-11-07 | 2019-03-06 | 株式会社半導体エネルギー研究所 | 半導体装置 |
US10079019B2 (en) | 2013-11-12 | 2018-09-18 | Apple Inc. | Always-on audio control for mobile device |
US10587471B1 (en) * | 2013-12-17 | 2020-03-10 | Amazon Technologies, Inc. | Criterion-based computing instance activation |
WO2015118436A1 (en) * | 2014-02-07 | 2015-08-13 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device, device, and electronic device |
US9778728B2 (en) * | 2014-05-29 | 2017-10-03 | Apple Inc. | System on a chip with fast wake from sleep |
US9619377B2 (en) | 2014-05-29 | 2017-04-11 | Apple Inc. | System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode |
US10031000B2 (en) * | 2014-05-29 | 2018-07-24 | Apple Inc. | System on a chip with always-on processor |
US20150362980A1 (en) * | 2014-06-16 | 2015-12-17 | Apple Inc. | Always-On Processor as a Coprocessor |
US9785447B2 (en) * | 2014-06-27 | 2017-10-10 | Intel Corporation | System standby emulation with fast resume |
US10055370B2 (en) * | 2014-07-09 | 2018-08-21 | Advanced Micro Devices, Inc. | Method and apparatis for processor standby |
US9479331B2 (en) * | 2014-08-20 | 2016-10-25 | Apple Inc. | Managing security in a system on a chip (SOC) that powers down a secure processor |
JP6180450B2 (ja) * | 2015-02-02 | 2017-08-16 | キヤノン株式会社 | 制御装置、制御装置の制御方法及びプログラム |
US10037071B2 (en) * | 2015-02-25 | 2018-07-31 | Texas Instruments Incorporated | Compute through power loss approach for processing device having nonvolatile logic memory |
US10452594B2 (en) * | 2015-10-20 | 2019-10-22 | Texas Instruments Incorporated | Nonvolatile logic memory for computing module reconfiguration |
CN105487865A (zh) * | 2015-11-27 | 2016-04-13 | 山东超越数控电子有限公司 | 一种解决usb设备异常唤醒系统的方法 |
US10331203B2 (en) | 2015-12-29 | 2019-06-25 | Texas Instruments Incorporated | Compute through power loss hardware approach for processing device having nonvolatile logic memory |
CN107015847A (zh) * | 2016-01-28 | 2017-08-04 | 扬智科技股份有限公司 | 电子装置及其工作模式切换方法 |
TWI615705B (zh) * | 2016-05-31 | 2018-02-21 | 瑞昱半導體股份有限公司 | 於電腦系統中重置記憶體的方法 |
JP6723863B2 (ja) * | 2016-08-01 | 2020-07-15 | オリンパス株式会社 | 組み込みシステム、撮影機器及びリフレッシュ方法 |
US10990159B2 (en) * | 2017-04-25 | 2021-04-27 | Apple Inc. | Architected state retention for a frequent operating state switching processor |
US20190004818A1 (en) * | 2017-06-29 | 2019-01-03 | American Megatrends Inc. | Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof |
US10783252B2 (en) * | 2017-08-23 | 2020-09-22 | Qualcomm Incorporated | System and method for booting within a heterogeneous memory environment |
KR102406571B1 (ko) | 2017-12-28 | 2022-06-08 | 삼성전자주식회사 | 디스플레이 장치 및 그 동작방법 |
US10643672B2 (en) * | 2018-03-23 | 2020-05-05 | Micron Technology, Inc. | Memory with non-volatile configurations for efficient power management and operation of the same |
US11550592B2 (en) * | 2018-06-29 | 2023-01-10 | Intel Corporation | Methods and apparatus to utilize non-volatile memory for computer system boot |
CN110727244B (zh) * | 2019-03-18 | 2021-03-26 | 北京中鼎高科自动化技术有限公司 | 一种具备记忆启动模式的多轴运动控制系统及方法 |
US11042213B2 (en) * | 2019-03-30 | 2021-06-22 | Intel Corporation | Autonomous core perimeter for low power processor states |
FR3094830A1 (fr) * | 2019-04-08 | 2020-10-09 | Proton World International N.V. | Circuit d'alimentation d'une mémoire volatile |
US11112983B2 (en) * | 2019-08-28 | 2021-09-07 | Micron Technology, Inc. | Recovery of memory device from a reduced power state |
US11513970B2 (en) * | 2019-11-01 | 2022-11-29 | International Business Machines Corporation | Split virtual memory address loading mechanism |
US11494248B2 (en) * | 2019-12-20 | 2022-11-08 | Qualcomm Incorporated | Warm mission-mode reset in a portable computing device |
US10877541B1 (en) * | 2019-12-30 | 2020-12-29 | Micron Technology, Inc. | Power delivery timing for memory |
US20230176735A1 (en) * | 2020-05-22 | 2023-06-08 | Intel Corporation | Accelerating system boot times via host-managed device memory |
US20230061037A1 (en) * | 2021-09-01 | 2023-03-02 | Micron Technology, Inc. | Apparatus with power-based data protection mechanism and methods for operating the same |
CN115061558B (zh) * | 2022-06-16 | 2023-08-15 | 飞腾信息技术有限公司 | 一种pcie设备的热复位方法、装置、存储介质及pcie设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1415085A (zh) * | 1999-11-05 | 2003-04-30 | 英特尔公司 | 睡眠状态转换 |
EP1653331A2 (en) * | 2004-10-29 | 2006-05-03 | STMicroelectronics Pvt. Ltd | An apparatus and method for entering and exiting low power mode |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5448521A (en) * | 1993-11-12 | 1995-09-05 | International Business Machines Corporation | Connecting a short word length non-volatile memory to a long word length address/data multiplexed bus |
JPH11161385A (ja) * | 1997-11-28 | 1999-06-18 | Toshiba Corp | コンピュータシステムおよびそのシステムステート制御方法 |
AU2003249842A1 (en) * | 2002-08-30 | 2004-03-29 | Philips Semiconductors Dresden Ag | Method for initialising programmable systems |
US20040117318A1 (en) * | 2002-12-16 | 2004-06-17 | Grawrock David W. | Portable token controlling trusted environment launch |
CN100415085C (zh) * | 2004-08-13 | 2008-09-03 | 中国海洋大学 | 利用二/四倍体嵌合体鲍进行多倍体育种的方法 |
US7797523B2 (en) | 2006-09-25 | 2010-09-14 | Hewlett-Packard Development Company, L.P. | Method and system of executing stack-based memory reference code |
US20090204837A1 (en) * | 2008-02-11 | 2009-08-13 | Udaykumar Raval | Power control system and method |
US20090292934A1 (en) * | 2008-05-22 | 2009-11-26 | Ati Technologies Ulc | Integrated circuit with secondary-memory controller for providing a sleep state for reduced power consumption and method therefor |
KR101602360B1 (ko) * | 2009-07-14 | 2016-03-10 | 엘지전자 주식회사 | 시스템 고속 부팅 장치 및 방법 |
KR20110100466A (ko) * | 2010-03-04 | 2011-09-14 | 삼성전자주식회사 | 휘발성 메모리 장치를 구비하는 시스템의 파워다운 방법 |
KR102023146B1 (ko) * | 2011-07-26 | 2019-09-20 | 마벨 월드 트레이드 리미티드 | 인스턴트 온을 갖는 제로 전력 하이버네이션 모드 |
-
2012
- 2012-07-12 US US13/547,701 patent/US9182999B2/en active Active
-
2013
- 2013-05-29 WO PCT/US2013/043057 patent/WO2013181220A1/en active Application Filing
- 2013-05-29 JP JP2015515142A patent/JP6126211B2/ja active Active
- 2013-05-29 CN CN201380028476.XA patent/CN104412224B/zh active Active
- 2013-05-29 EP EP13729163.9A patent/EP2856308A1/en not_active Ceased
- 2013-05-29 KR KR1020147035472A patent/KR101959002B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1415085A (zh) * | 1999-11-05 | 2003-04-30 | 英特尔公司 | 睡眠状态转换 |
EP1653331A2 (en) * | 2004-10-29 | 2006-05-03 | STMicroelectronics Pvt. Ltd | An apparatus and method for entering and exiting low power mode |
Also Published As
Publication number | Publication date |
---|---|
US9182999B2 (en) | 2015-11-10 |
US20130326206A1 (en) | 2013-12-05 |
CN104412224A (zh) | 2015-03-11 |
WO2013181220A1 (en) | 2013-12-05 |
JP6126211B2 (ja) | 2017-05-10 |
JP2015523645A (ja) | 2015-08-13 |
KR101959002B1 (ko) | 2019-07-02 |
EP2856308A1 (en) | 2015-04-08 |
KR20150016331A (ko) | 2015-02-11 |
WO2013181220A8 (en) | 2014-10-16 |
WO2013181220A9 (en) | 2014-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104412224B (zh) | 在从低电力状态恢复时处理系统从易失性存储器的重新初始化 | |
US8910177B2 (en) | Dynamic mapping of logical cores | |
CN108776619B (zh) | 微处理器、管理微处理器的电力消耗的方法及存储介质 | |
TWI450078B (zh) | 重置或關機後用於終止處理器核心之偵錯暫存器 | |
US9405357B2 (en) | Distribution of power gating controls for hierarchical power domains | |
US9262322B2 (en) | Method and apparatus for storing a processor architectural state in cache memory | |
US9395919B1 (en) | Memory configuration operations for a computing device | |
US20160077575A1 (en) | Interface to expose interrupt times to hardware | |
US9223365B2 (en) | Method and apparatus for controlled reset sequences without parallel fuses and PLL'S | |
CN110573991B (zh) | 架构状态保留 | |
TWI564802B (zh) | 初始化週邊裝置之方法與使用此方法之電子裝置 | |
US20190004818A1 (en) | Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof | |
US7290128B2 (en) | Fault resilient boot method for multi-rail processors in a computer system by disabling processor with the failed voltage regulator to control rebooting of the processors | |
CN101901177A (zh) | 多核微处理器及其除错方法 | |
US9329936B2 (en) | Redundant execution for reliability in a super FMA ALU | |
CN108984464B (zh) | 微处理器及在微处理器的处理核间同步的方法 | |
EP3183662B1 (en) | Sub-system power management control | |
CN107729055B (zh) | 微处理器及其执行方法 | |
US10275259B1 (en) | Multi-stage booting of integrated circuits | |
US9582286B2 (en) | Register file management for operations using a single physical register for both source and result | |
CN110046126B (zh) | 多核微处理器及其重新配置方法、计算机可读存储介质 | |
CN109240481B (zh) | 多核微处理器及使用其省电的方法 | |
CN109165189B (zh) | 微处理器及其配置方法、以及计算机可读存储介质 | |
US20150193259A1 (en) | Boosting the operating point of a processing device for new user activities | |
US20240038310A1 (en) | Non-Volatile Memory Power Cycle Protection Mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |