CN107850932B - 用于在处理器中保存和恢复数据以便节省电力的设备和方法 - Google Patents

用于在处理器中保存和恢复数据以便节省电力的设备和方法 Download PDF

Info

Publication number
CN107850932B
CN107850932B CN201680042626.6A CN201680042626A CN107850932B CN 107850932 B CN107850932 B CN 107850932B CN 201680042626 A CN201680042626 A CN 201680042626A CN 107850932 B CN107850932 B CN 107850932B
Authority
CN
China
Prior art keywords
block
register
logic
packet
header
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
Application number
CN201680042626.6A
Other languages
English (en)
Other versions
CN107850932A (zh
Inventor
V·M·阿伯拉罕姆
R·纳加拉贾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN107850932A publication Critical patent/CN107850932A/zh
Application granted granted Critical
Publication of CN107850932B publication Critical patent/CN107850932B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

描述了一种设备,包括:知识产权(IP)块;控制逻辑,能操作用于向所述IP块发送第一命令以使得所述第一IP块从第二功率状态进入第一功率状态;以及通信结构,耦合至所述IP块并耦合至所述控制逻辑,所述通信结构用于在所述第一命令由所述IP块处理之后将多个分组连同第一报头一起从所述IP块发送至所述控制逻辑,其中,所述多个分组与被标识为内容有待保存的寄存器的多个寄存器相关联。

Description

用于在处理器中保存和恢复数据以便节省电力的设备和方法
优先权声明
本申请要求于2015年8月20日提交的名称为“Apparatus and Method for Savingand Restoring Data for Power Saving in a Processor(用于在处理器中保存和恢复数据以便节省电力的设备和方法)”的美国专利申请序列号14/831,768的优先权,并且所述美国专利申请通过引用以其全文结合。
背景技术
处理器可以包括多个知识产权(Intellectual Property,IP)块。术语“IP块”一般指执行某种功能的逻辑单元或设计。IP块可以是作为一方的知识产权的逻辑、单元(cell)、或芯片布局设计的可重复使用单元(unit)。IP核可以被许可给另一方或者可以由单方单独地拥有并使用。IP块的示例包括处理器核、高速缓存、输入-输出(I/O)收发器等。
在一些低功率操作模式下,可以使处理器(或片上系统(SoC))中的大多数IP块掉电,而从处理器进入低功率操作模式(或状态)的时间点起,操作系统仍然可以认为处理器是活跃的并准备好继续处理指令。由于操作系统期望硬件(即,处理器)就位,因此(多个)低功率操作模式的进入和退出时延会显著地影响计算系统的性能。
例如,在处理器中保存寄存器的内容从而使得处理器可以进入低功率操作模式所花费的时间、以及然后在操作系统期望处理器处理一条或多条指令时将寄存器恢复回至其原始状态的时间组成了所述低功率操作模式的进入和退出时延。较高的时延意味着在处理器处于低功率操作模式下时对操作系统命令较慢的响应。
附图说明
通过以下给出的具体实施方式以及通过本公开的各实施例的附图将更加全面地理解本公开的实施例,然而,本公开的实施例不应被视为将本公开限制于特定实施例,而是仅用于解释和理解。
图1展示了根据本公开的一些实施例的具有用于高效保存和恢复数据的设备的计算系统。
图2展示了根据本公开的一些实施例的具有用于高效保存和恢复数据的设备的知识产权(IP)块的一部分。
图3展示了根据本公开的一些实施例的用于经由输入-输出(I/O)接口来保存寄存器数据的分组。
图4展示了根据本公开的一些实施例的用于存储寄存器数据的内容的存储器。
图5展示了根据本公开的一些实施例的用于经由I/O接口来恢复寄存器数据的分组。
图6展示了根据本公开的一些其他实施例的具有用于高效保存和恢复数据的设备的IP块的一部分。
图7展示了根据本公开的一些实施例的用于每个IP块地保存寄存器内容的方法的流程图。
图8展示了根据本公开的一些实施例的用于每个IP块地恢复寄存器内容的方法的流程图。
图9展示了根据本公开的一些实施例的具有能操作用于高效保存和恢复数据的IP块和逻辑的智能装置或计算机系统或SoC(片上系统)。
具体实施方式
一些实施例描述了一种用于在多个知识产权(IP)块中保存和恢复寄存器内容从而使得计算系统(例如,片上系统(SoC))性能提高的设备和方法。这样,可以向计算系统添加更多的节电场景,因为计算系统可以比已知机制更快地进入并退出低功率状态到达高功率状态。
在一个这种已知机制中,利用计算系统的每个IP块中的、在电力循环(例如,进入和退出功率状态)过程中需要内容被保存和恢复的所有寄存器的地址、数据宽度(例如,存储数据所需的位数)等来维护只读存储器(ROM)。这些寄存器被称为感兴趣的寄存器,因为并非IP块中的每个寄存器都需要保存和/或恢复。此ROM因而可以变得相当大,因为在与这些感兴趣的寄存器相关联的ROM中可能存在几千(或几百万)个条目。
在传统保存方案中,在保存事件过程中(例如,就在进入低功率状态之前),控制逻辑读取ROM中的每个条目并且针对每个寄存器地址形成边带(sideband)分组。所述控制逻辑然后以顺序的方式将所述分组在通信结构上发送至IP块,以请求IP块从那些IP寄存器中进行读取并发送其内容以便保存在ROM中。通过对每个分组进行解码、从所述分组中检索地址内容、并且然后读取IP块中的此寄存器的内容,IP块对来自控制逻辑的请求进行处理。IP块然后在通信结构上向控制逻辑发送新分组,其中,此寄存器的内容与由控制逻辑发送的地址相对应。这样,控制逻辑一个接一个地从所有IP块接收具有寄存器数据内容的分组并将此内容存储在随机存取存储器(RAM)中,从而使得每个数据内容对应于唯一寄存器地址。
在恢复操作过程中(例如,当具有IP块的处理器从低功率状态进入活跃状态时),控制单元再次读取ROM中的每个条目以访问有待恢复的寄存器的地址,并且然后从RAM中检索相应的数据内容。控制逻辑然后准备新分组,所述新分组具有寄存器的有待存储在IP块中的地址和数据。然后在通信结构上将此分组传输至IP块。IP块然后对所述分组进行解码并将数据从所述分组恢复至具有那个地址的寄存器。针对所有IP块的有待恢复的每个寄存器,重复此过程。
上文所述的传统保存和恢复机制消耗大量时间。例如,仅发送报头就花费了保存和恢复时间的50%到75%。这增加了计算系统性能的时延。
在此所述的各实施例通过在每个IP块的基础上而非在每个寄存器的基础上保存和恢复寄存器内容减少了保存时间和恢复时间(例如,减少了50%到75%)。这样,系统性能得到提高,因为功率状态的退出和进入时延相较于已知机制而显著减小。这样,可以添加计算系统(例如,SoC)可以进入和退出的更多节电场景。节电场景和/或状态可以是任何已知的或有待开发的节电场景和/或状态。例如,所述节电状态可以是由2013年11月13日公布的高级配置和电源接口(ACPI)修订版5.0a所限定的那些。
在一些实施例中,相较于已知机制,减少了面积和功耗,因为可以不再需要用于保存感兴趣的寄存器地址的专用ROM(或者需要其是尺寸非常小的ROM)。通过在每个IP的基础上进行保存和恢复,显著地降低了通信结构上的边带网络拥塞,这进一步降低了功耗。根据在此所述的各实施例,其他技术效果将是明显的。
在以下描述中,讨论了大量细节以便提供对本公开的实施例更透彻的解释。然而,对于本领域的技术人员将明显的是,本公开的实施例可在没有这些特定细节的情况下实践。在其他实例中,以框图形式而非详细地示出了众所周知的结构和装置以避免模糊本公开的实施例。
注意,在实施例的对应附图中,利用线条来表示信号。一些线条可能更厚以指示更多的组成信号路径,和/或在一端或多端具有箭头以指示主要信息流方向。此类指示并非旨在是限制性的。相反,这些线条与一个或多个示例性实施例结合使用以帮助更容易地理解电路或逻辑单元。如设计需要或偏好所指示的,任何表示的信号实际上可以包括可以在任一方向上传播的一个或多个信号,并且可以使用任何合适类型的信号方案来实施。
在整个说明书中,并且在权利要求书中,术语“连接(connected)”指已连接的物体之间的直接连接(例如,电、机械、或磁性连接),不存在任何中介装置。术语“耦合(coupled)”意指直接或间接连接,例如已连接的物体之间的直接电或机械、或磁性连接,或者通过一个或多个无源或有源中介装置的间接连接。术语“电路”或“模块”可以指被安排用于彼此合作以提供期望功能的一个或多个无源和/或有源部件。术语“信号”可以指至少一个电流信号、电压信号、磁信号、或数据/时钟信号。“一个(a)”、“一种(an)”以及“所述(the)”的意义包括复数的指代。“内(in)”的意义包括“内”和“上”。
术语“基本上”、“接近”、“近似”、“靠近”和“约”通常指代在目标值的+/-10%内。除非另有说明,使用序数形容词“第一”、“第二”、“第三”等来描述共同对象,仅仅指示类似对象的不同实例被提及,并且不意在暗示如此描述的对象必须在或者时间上、空间上、排名上、或以任何其他方式处于给定序列中。
为了本公开的目的,短语“A和/或B”以及“A或B”意指(A)、(B)或(A和B)。为了本公开的目的,短语“A、B和/或C”意指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)、或(A、B和C)。
为了实施例的目的,此处描述的各个电路和逻辑块中的晶体管是金属氧化物半导体(MOS)晶体管或其衍生物,其中,所述MOS晶体管包括漏极端子、源极端子、栅极端子和体端子(bulk terminal)。所述晶体管和/或MOS晶体管衍生物还包括三栅极和鳍型FET晶体管、圆柱体全包围栅场效应管、隧道FET(TFET)、方线、或矩形带状晶体管、铁电FET(FeFET)、或实现与碳纳米管或自旋电子器件类似的晶体管功能的其他器件。MOSFET对称的源极端子和漏极端子即为完全相同的端子并且在此可互换地使用。另一方面,TFET器件具有非对称的源极端子和漏极端子。本领域的技术人员将理解的是,在不背离本公开的范围的情况下,可以使用其他晶体管(例如,双极结型晶体管-BJT PNP/NPN、BiCMOS、CMOS、eFET等)。术语“MN”指示n型晶体管(例如,NMOS、NPN BJT等),并且术语“MP”指示p型晶体管(例如,PMOS、PNP BJT等)。
图1展示了根据本公开的一些实施例的具有用于高效保存和恢复数据的设备的计算系统100。在一些实施例中,计算系统100包括控制单元101、多个IP块1021-N(其中,‘N’是大于一的整数)、I/O接口(例如,边带接口)1031-N、通信总线(例如,边带结构)104、以及操作系统105。在一些实施例中,计算系统100进一步包括第三方IP块106和相应的边带接口1071
在一些实施例中,控制单元101包括RAM 101a和有限状态机(FSM)或逻辑101b。在一些实施例中,控制单元101是功率管理单元101。在其他实施例中,控制单元101可以是任何其他逻辑块的一部分。例如,控制单元101可以在片上系统(SoC)外部,其中,所述SoC包括IP块。
在一些实施例中,IP块1021-N具有相同类型(例如,IP块1021-N是处理器核)或者具有不同类型(例如,IP块1021是处理器核、IP块1022是高速缓存、IP块1023是寄存器文件、IP块106是由第三方提供的专用集成电路(ASIC)等)。在一些实施例中,每个IP块包括在掉电事件时内容需要保存的一个或多个寄存器(例如,锁存器、触发器、RAM单元、和/或其他类型的顺序元件)。
在一些实施例中,IP块1021-N经由边带结构104与彼此和控制单元101进行通信。边带结构104可以是任何适当的通信机制。在一些实施例中,每个IP块1021-N包括相应的边带接口。例如,IP块1021经由边带1031与边带结构104进行通信;IP块1022经由边带1032与边带结构104进行通信;并且IP块102N经由边带103N与边带结构104进行通信。在一些实施例中,边带接口包括:物理层,所述物理层是IP块与边带结构104之间的电气连接;以及协议层,所述协议层遵循用于在边带结构上进行通信的通信协议(例如,数据有效载荷尺寸、报头信息等)。
任何适当的I/O接口可以用于实现边带接口。例如,边带接口是如由在2015年1月16日公布的系统管理总线(SMBus)规范版本3定义的遵从系统管理总线(SMBus)的接口;如由2006年8月的
Figure BDA0001552995240000061
远程管理模块技术生产规范修订版1.0定义的快速管理链路(FML);或由2009年7月21日的DMTF标准规范版本1.0.0定义的分布式管理任务组(DMTF)网络控制器边带接口(NC-SI)。边带结构104可以是遵循正在使用的边带接口的电气规范的任何通信互连。
在一些实施例中,第三方IP块106还可以经由其相应的边带1071与其他IP块接口连接。第三方IP块106可以是供应商不同于IP块1021-N的供应商的任何IP块。
在一些实施例中,RAM 101a在节电模式过程中存储寄存器的内容。在一些实施例中,FSM 101b管理RAM 101a。例如,FSM 101b对从IP块1021-N和第三方IP块106接收到的分组进行解码并将寄存器内容存储在RAM101a中。在一些实施例中,FSM 101b对用于传输至IP块1021-N和第三方IP块106的分组进行编码以便恢复每个IP块中的寄存器内容。
在一些实施例中,操作系统105指示控制单元101进入/退出一种功率状态到达另一种功率状态。响应于所述指示,控制单元101对包进行编码/解码。所述功率状态可以是各种功率状态。例如,功率状态可以是由2013年11月13日出版的高级配置与电源接口(ACPI)接口修订版5.0a定义的那些功率状态。
在一些实施例中,可以基于由边带接口和边带结构104支持的最大有效载荷将IP块的寄存器内容作为多个分组或单个组合式分组进行发送/接收。为了不模糊各实施例,参照IP块1021和边带1031描述一些实施例。然而,针对IP块1021所讨论的机制适用于系统100的其他IP块。
在一些实施例中,当IP块1021要进入低功率状态(例如,从活跃状态进入睡眠状态)时,IP块1021从控制单元101接收用于保存IP块1021中的预定寄存器的内容的命令(所述命令可以由操作系统105发起)。与现有技术不同,在一些实施例中,来自控制单元101的命令不伴随有待由边带1031接收的个体分组中的寄存器地址列表。在一些实施例中,在进入和退出功率状态过程中有待保存和恢复的寄存器是在设计时预先确定或标志的。根据一些实施例,在接收到进入功率状态的命令时,自动保存这些寄存器的内容。
在一些实施例中,将寄存器的内容连结为高达边带1031的最大可允许有效载荷尺寸,并且然后由边带1031在边带结构104上将具有所连结内容的(具有报头)分组传输至控制单元101以进行保存。在一些实施例中,控制单元101对分组的报头进行解码,对有效载荷进行解连结,并且对RAM101a中的寄存器内容进行组织。这样,控制单元101意识到来自IP块1021的寄存器内容以及连结所述内容的顺序。在一些实施例中,所述连结顺序确定了寄存器的内容。例如,如果寄存器内容是4KB,则第一个4KB的有效载荷可以指IP块1021中的第一寄存器,依此类推。在一些实施例中,保存过程发生在IP块进入低功率状态之前。
在一些实施例中,当IP块1021要退出低功率状态(例如,到活跃状态)时,IP块1021从控制单元101接收用于将内容恢复到IP块1021中的预定寄存器的命令(所述命令可以由操作系统105发起)。在一些实施例中,恢复操作发生在IP块的功率返回之后。在一些实施例中,控制单元101以寄存器内容被存储的顺序(或者以控制单元101可以跟踪寄存器内容在所接收的分组中和RAM 101a中的顺序的任何适当方式)针对每个IP块从RAM 101a中检索所述寄存器内容。
例如,控制单元101针对IP块1021从RAM 101a中检索寄存器内容,连结所述寄存器内容,并准备包含所述寄存器内容(即,有效载荷)的(具有报头的)分组。在一些实施例中,控制单元101然后在边带结构104上将所述分组传输至IP块1021。在一些实施例中,IP块1021对所述分组进行解码并将寄存器内容提供给正确的预定寄存器(即,感兴趣的寄存器)。这样,寄存器内容得以恢复。
在一些实施例中,IP块可以独立于系统100中的其他IP块的上电/下电而进行上电/下电。例如,到IP块的顶级电源端口可以迫使IP块进入/退出功率状态,而非来自控制单元101的命令,而其他IP块可以服从来自控制单元101的命令。在此示例中,由所述顶级电源端口所接收的指令可以优先于来自控制单元101的命令。
图2展示了根据本公开的一些实施例的具有用于高效保存和恢复数据的设备的IP块1021的一部分。应指出的是,图2的与任何其他附图的元件具有相同参考号(或名称)的那些元件可以以与所描述方式相似的任何方式进行操作或起作用,但并不限于此。
在一些实施例中,为了从和向预定寄存器保存和恢复数据的目的,IP块1021包括:FSM 201、寄存器2021-N(其中,‘N’是整数)、寄存器逻辑2031-M(其中,‘M’是整数)、地址比较逻辑2041-N、以及组合逻辑2051-N和206。在一些实施例中,通过使寄存器逻辑203耦合至那些寄存器来标记在进入和退出功率状态过程中内容有待保存和恢复的寄存器。在此示例中,寄存器2021和2022是感兴趣的寄存器并且被标识用于进行保存和存储。这样,寄存器逻辑2031和2032分别耦合至寄存器2021和2022
在一些实施例中,寄存器逻辑2031(同样的解释适用于寄存器逻辑2032)包括顺序元件(例如,触发器)、和诸如或门等逻辑门以提供用于覆写寄存器2021的读/写逻辑的机制。在此,寄存器逻辑2031和2032有时被称为寄存器逻辑203。在一些实施例中,将顺序元件顺序地连接(例如,来自寄存器逻辑2031的顺序元件的输出端‘q’连接至寄存器逻辑2032的下一顺序元件的输入端‘d’)。
这样,根据一些实施例,寄存器逻辑以菊链配置连接在一起并确立感兴趣的寄存器的内容需要保存/恢复的顺序。在一些实施例中,在寄存器逻辑2031中增加顺序元件有助于在寄存器保存或读取操作过程中遍历所有的寄存器内容,并且还有助于在寄存器恢复操作过程中恢复(即,写回)寄存器内容。
在一些实施例中,当FSM 201(或者从控制单元101或者直接从电源端口)接收到指令时,FSM 201开始“开始保存”操作。在一些实施例中,FSM 201从空闲(IDLE)状态进入读取(READ)状态并驱动脉冲(例如,高脉冲)开始覆写寄存器逻辑2031中的顺序单元。这样,在寄存器保存操作过程中,FSM 201开始遍历菊链中的所有寄存器内容的过程。
在一些实施例中,所述脉冲由寄存器逻辑2031的顺序单元的端口‘d’接收。在提供给顺序单元的下一时钟边缘上,顺序单元向或门的输入端口提供输出以使能或门。这样,随后的与门2051(即,组合逻辑门)被使能(因为从或门提供的输入被设定为逻辑高)。通过使能与门2051,将寄存器2021的内容提供给或门206。
在一些实施例中,胶合逻辑207从或门206的输出端接收寄存器2021的内容并且对有待放置在要发送给控制逻辑101的分组的有效载荷中的内容进行排队。在接下来的时钟边缘上,菊链中寄存器逻辑2032(在此示例中)的下一顺序逻辑使能寄存器逻辑2032的或门,并且继续同一过程。这样,寄存器2022的内容被胶合逻辑207接收,所述胶合逻辑然后将所述内容放置在有待添加至有效载荷的队列中。在一些实施例中,当分组准备就绪(即,寄存器的内容被排列并连结)并且在寄存器遍历结束时,FSM 201移动回到空闲状态。在一些实施例中,经连结的寄存器内容则被提供给边带端点1021以便传输至控制单元101。
通过使用寄存器逻辑203来每个IP块地保存寄存器的内容,控制单元101的现有ROM尺寸被显著减小,因为寄存器地址信息和数据尺寸信息未存储在ROM中。在一些实施例中,更小尺寸的ROM可以包括在控制单元101中从而列出用于保存/恢复目的的任何最近的寄存器添加。
图3展示了根据本公开的一些实施例的用于在保存操作过程中经由边带端点1021发送寄存器数据的分组300。应指出的是,图3的与任何其他附图的元件具有相同参考号(或名称)的那些元件可以以与所描述方式相似的任何方式进行操作或起作用,但并不限于此。
在一些实施例中,分组300包括有效载荷301和报头302。在一些实施例中,有效载荷301以连续的方式从寄存器接收数据。在一些实施例中,(由FSM 201控制的)胶合逻辑207将寄存器内容(当其被接收时)连结成队列,所述队列然后形成有效载荷301。在此,利用‘N’个数据区域来展示有效载荷301,其中,‘N’是整数。在此示例中,对于IP块1021中的其他预定寄存器(即,内容有待保存的寄存器),数据0对应于来自寄存器2021的数据内容,数据2对应于来自寄存器2022的数据内容,依此类推。在一些实施例中,报头302包括IP块的用于向控制逻辑101告知所述数据属于哪个IP块的信息。
返回参照图2,在一些实施例中,当FSM 201接收到退出功率状态的指令(或者从控制单元101或者直接从掉电端口)时,其开始“开始恢复”操作。在一些实施例中,FSM 201对从边带端点1021接收到的一个或多个分组进行解码。在一些实施例中,所述一个或多个分组由控制逻辑101准备,所述控制逻辑从RAM 101a读取针对IP块1021的寄存器内容。
图4展示了根据本公开的一些实施例的用于由控制单元101存储寄存器内容的存储器400(例如,RAM 101a)。应指出的是,图4的与任何其他附图的元件具有相同参考号(或名称)的那些元件可以以与所描述方式相似的任何方式进行操作或起作用,但并不限于此。存储器400可以是任何已知的存储器结构。例如,存储器400是具有多个行的非易失性存储器。在此,利用‘N’行来展示存储器400。在一些实施例中,RAM 101a的到达行(例如,行0到行‘N’)存储来自有效载荷301的数据。例如,行0存储来自有效载荷301的数据0,行1存储来自有效载荷301的数据1,依此类推。在一些实施例中,FSM 101b从存储器400中检索数据并且对其进行连结以便在恢复操作过程中将有效载荷传输至(多个)IP块。
图5展示了根据本公开的一些实施例的用于经由边带端点1021来恢复寄存器数据的分组500。应指出的是,图5的与任何其他附图的元件具有相同参考号(或名称)的那些元件可以以与所描述方式相似的任何方式进行操作或起作用,但并不限于此。在一些实施例中,分组500包括有效载荷501和相应的报头502。
在一些实施例中,有效载荷501以顺序的方式从存储器400接收数据。在一些实施例中,FSM 101b将来自存储器400的寄存器内容连结成队列,所述队列然后形成有效载荷501。在此,利用‘N’个数据区域来展示有效载荷501,其中,‘N’是整数。在此示例中,对于IP块1021中的其他预定寄存器(即,内容有待保存的寄存器),数据0对应于来自寄存器2021的数据内容,数据2对应于来自寄存器2022的数据内容,依此类推。在一些实施例中,报头502包括所述数据所属的IP块的信息。
然后由控制单元101经由边带结构104将分组500传输至IP块1021。在一些实施例中,当控制单元101发送针对各IP块的多个分组时,IP块的边带端点(根据报头502)知道哪个分组被寻址至其。这样,每个IP块接收属于它的分组。
返回参照图2,在一些实施例中,当IP块1021中的寄存器有待恢复时,FSM 201从空闲状态进入写(WRITE)状态并驱动脉冲(例如,高脉冲)开始覆写寄存器逻辑2031中的顺序单元。这样,在寄存器恢复操作过程中,FSM 201开始遍历所有感兴趣的寄存器的过程。在此,感兴趣的寄存器是有待使用在分组500的有效载荷501中所提供的数据进行恢复的寄存器。
在一些实施例中,所述脉冲由寄存器逻辑2031的顺序单元的‘d’端口来接收。在提供给顺序单元的下一时钟边缘上,顺序单元向或门的输入端口提供输出以使能或门。在一些实施例中,在接收到分组500的恢复有效载荷501时,FSM 201驱动写使能(writeenable)。在一些实施例中,所述写使能与逻辑2031组合。这样,或门的输出端用来将内容恢复至寄存器块。在一些实施例中,来自寄存器逻辑2031的或门的输出脉冲反馈至逻辑2021,来自寄存器逻辑2032的或门的输出脉冲反馈至逻辑2022,依此类推,直到恢复了整个有效载荷/寄存器。在一些实施例中,在寄存器遍历结束时,FSM 201移动回到空闲状态。
图6展示了根据本公开的一些其他实施例的具有用于高效保存和恢复数据的设备的IP块600的一部分(例如,1061)。应指出的是,图6的与任何其他附图的元件具有相同参考号(或名称)的那些元件可以以与所描述方式相似的任何方式进行操作或起作用,但并不限于此。
在一些实施例中,IP块600包括逻辑601、ROM 602、边带端点1071以及寄存器603(例如,2021至202N)。在一些实施例中,逻辑601包括用于存储/恢复感兴趣的寄存器的内容的硬件,所述感兴趣的寄存器是寄存器603(例如,2021至202N)的一部分。在一些实施例中,逻辑601包括计数器604、多路复用器(MUX)605、FSM 606、双向MUX 607、以及分组解码逻辑608。与图2的实施例相比,在IP块600中,感兴趣的寄存器的地址是IP块600内部的ROM 602所已知的。
在一些实施例中,在保存操作的过程中(即,当FSM 606接收到“开始保存”指令并从空闲状态进入读取状态时),逻辑601从ROM读取地址并且从寄存器603中检索数据内容。然后对此所检索到的数据进行排队。这样,对来自所有感兴趣的寄存器的数据进行标识和排队。在一些实施例中,则由FSM 606连结经排队数据以便形成有效载荷301。然后将有效载荷301与相应的报头302一起发送至控制单元101,在所述控制单元处对所述有效载荷进行解码,如参照图2至图4所描述的。
返回参照图6,在保存操作的过程中,FSM 606驱动对计数器604的使能,其进而充当ROM 602的地址。在一些实施例中,来自ROM 602的经读取数据指向需要保存的寄存器。在一些实施例中,FSM 606使用来自ROM 602的经读取数据从寄存器603取回寄存器内容。重复这个过程直到来自ROM 602的所有ROM内容被读出。这样,恢复分组300被完全处理。
在一些实施例中,在恢复操作的过程中(即,当FSM 606接收到“开始恢复”指令并从空闲状态进入写状态时),逻辑601从ROM读取地址并根据经读取地址将从(多个)传入分组解码的数据内容写入寄存器603。参照图2至图5描述了形成由边带端点1071接收的分组500的过程。
返回参照图6,在恢复操作的过程中,FSM 606驱动对计数器604的使能,所述计数器进而充当ROM 602的地址。在一些实施例中,从ROM 602读取的数据指向需要恢复的寄存器。在一些实施例中,FSM 606使用从ROM602读取的地址将寄存器内容写入寄存器603。重复这个过程直到来自ROM602的所有ROM内容被读出。这样,恢复分组500被完全处理。
在一些实施例中,分组解码逻辑608对传入分组进行解码,以便查看所述分组是“保存”分组还是“恢复”分组。在一些实施例中,分组解码逻辑608则决定是使能FSM 606还是直接向寄存器603发送请求(即,正常寄存器读/写属于这个范畴)。
图7展示了根据本公开的一些实施例的用于每个IP块地保存寄存器内容的方法的流程图700。应指出的是,图7的与任何其他附图的元件具有相同参考号(或名称)的那些元件可以以与所描述方式相似的任何方式进行操作或起作用,但并不限于此。
尽管以特定顺序示出了参考图7的流程图中的框,但可以修改动作的顺序。因此,可按照不同的顺序执行所展示的实施例,并且可以并行执行一些动作/框。根据某些实施例,图7中列出的框和/或操作中的一些是可选的。所呈现的框的编号是为了清楚起见,并不旨在规定各个框必须出现的操作的顺序。此外,可以采用各种组合来利用来自各流程的操作。
流程图700提供了由控制单元101和IP块(例如,IP块1021)在保存操作过程中执行的方法。虽然参照保存来自一个IP块的数据对实施例进行描述,但是同一过程适用于针对不同的IP块保存来自多个分组的寄存器内容。
在框701处,控制单元101判定控制单元101中的ROM是否具有需要提供给IP块的任何寄存器信息。例如,在最近添加寄存器的情况下(即,在硬件设计完成之后并且添加寄存器逻辑203是不可能的,这就是为什么将关于那些最近的寄存器的信息添加至ROM),控制单元101检查与此类最近的寄存器相关联的信息。在一些实施例中,为了与现有技术基于ROM的保存/恢复操作的向后兼容性,控制单元101检查ROM以得到关于待保存寄存器的信息。在一个这种实施例中,如果确定了ROM条目均被分组化,则所述过程前进至框714,否则所述过程前进至框702。
在框702处,控制单元101收集来自ROM的所有IP信息并将其发送至控制单元101的边带端点。在此,IP信息可以包括IP块标识(例如,寄存器数据属于哪个IP块)、寄存器地址、数据尺寸等。在框703处,针对寄存器数据准备分组并将其连同分组报头一起经由边带结构104或网络发送至IP块。
在框704处,由分组报头进行寻址的IP块1021接收所述(多个)分组并对其进行解码。在对所述分组进行解码之后,FSM 201知道不具有寄存器逻辑203但内容需要保存的附加寄存器。根据一些实施例,与寄存器逻辑203耦合的寄存器是在设计时被标识的内容有待保存的寄存器。
在框705处,FSM 201开始保存(SAVE)操作(即,“开始保存”)并从空闲状态进入读取状态。FSM 201然后将脉冲(例如,高脉冲)驱动至寄存器逻辑203的菊链式顺序单元。在一些实施例中,当不存在添加至ROM的附加寄存器时和/或当不需要与现有技术方案的向后兼容性时,保存操作可以从框705开始。这样,根据一些实施例,不再需要框701、702和703。
在框706处,如参照图2所描述的,执行寄存器遍历。返回参照图7,在框706处判定寄存器遍历通过菊链耦合的寄存器是否完成。如果寄存器遍历未完成,则所述过程前进至框707(其可以是框706的一部分)以读取寄存器内容并积累经读取的数据。如果寄存器遍历已完成(例如,在寄存器逻辑203中的所有顺序单元已经使能其相应的或门之后),则FSM201将感兴趣的寄存器的所有寄存器数据发送至胶合逻辑207,所述胶合逻辑连结所述寄存器数据以便插入分组300的有效载荷301段中。在框708处,然后将所连结的数据连同报头302一起发送至边带接口1031
在框709处,将报头302添加至有效载荷301,并且将来自感兴趣的寄存器的寄存器数据经由边带结构104发送至控制单元101以便保存在控制单元101端。在框710处,控制单元101接收分组300并对其进行解码。在一些实施例中,解码的过程涉及对来自有效载荷301和报头302的寄存器内容和IP块信息进行标识。在一些实施例中,解码的过程由FSM 101b进行控制或管理。
在框711处,FSM 101b判定是否已经从有效载荷301检测到最后的寄存器内容。如果留下更多的寄存器内容以进行保存,则在框712处,FSM101b使得将被解码和读取的寄存器内容写入RAM 101a(例如,RAM 400)。如果正被解码的内容是针对有效载荷301中的最后一个寄存器的,则在框713处,将最后的寄存器内容保存或写入RAM 101a中并且所述过程前进至框714。在框714处,判定是否接收到并处理了来自IP块1021的所有分组。根据一些实施例,如果从IP块1021接收到更多的分组,则所述过程继续解码并保存寄存器内容,否则认为所述过程在框715处完成。如果存在比有效载荷301的最大可允许有效载荷尺寸更多的寄存器内容,则可以从IP块1021接收一个以上的分组。
图8展示了根据本公开的一些实施例的用于每个IP块地恢复寄存器内容的方法的流程图800。应指出的是,图8的与任何其他附图的元件具有相同参考号(或名称)的那些元件可以以与所描述方式相似的任何方式进行操作或起作用,但并不限于此。
尽管以特定顺序示出了参考图8的流程图中的框,但可以修改动作的顺序。因此,可按照不同的顺序执行所展示的实施例,并且可以并行执行一些动作/框。根据某些实施例,图8中列出的框和/或操作中的一些是可选的。所呈现的框的编号是为了清楚起见,并不旨在规定各个框必须出现的操作的顺序。此外,可以采用各种组合来利用来自各流程的操作。
流程图800提供了由控制单元101和IP块(例如,IP块1021)在恢复操作过程中执行的方法。虽然参照将数据恢复至一个IP块对实施例进行描述,但是同一过程适用于针对不同的IP块恢复来自多个分组的寄存器内容。
在框801处,控制单元701判定控制单元101中的ROM是否具有需要提供给IP块的任何寄存器信息。例如,在最近添加寄存器的情况下(即,在硬件设计完成之后并且添加寄存器逻辑203是不可能的,这就是为什么将关于那些最近的寄存器的信息添加至ROM),控制单元101检查与此类最近的寄存器相关联的信息。在一些实施例中,为了与现有技术基于ROM的恢复操作的向后兼容性,控制单元101检查ROM以得到关于待恢复寄存器的信息。在一个这种实施例中,如果确定了每个IP的ROM条目均已经被处理(即,被分组化),则所述过程前进至框802,否则所述过程前进至框803。在框802处,认为针对ROM中所存储的寄存器的恢复操作已完成。
在框803处,控制单元101从ROM收集所有IP信息并准备将其发送至控制单元101的边带端点。在此,IP信息可以包括IP块标识(例如,寄存器数据属于哪个IP块)、寄存器地址、数据尺寸等。在框804处,由FSM101b判定是否从RAM 101a(与RAM 400相同)收集了针对IP块的所有寄存器数据。根据一些实施例,可以一次针对RAM 101a中的一行执行此过程。
在尚未从RAM 101a收集或读取到针对IP块的所有寄存器数据时,所述过程前进至框805。在框805处,收集来自RAM 101a的寄存器数据,并且所述过程前进至框804。在一些实施例中,在读取到来自RAM 101a的寄存器数据时,对其进行排队以便与针对同一IP块而从RAM 101a读取的其他寄存器数据进行连结。这样,框806可以与框804一起执行。在一些实施例中,当从RAM 101a收集了所有感兴趣的寄存器的所有寄存器数据时,在分组500的有效载荷501中连结所述寄存器数据。
在一些实施例中,由框806在控制单元101的边带(SB)端点处执行此连结过程。在框807处,将报头502附加至有效载荷501以完成分组500,从而经由边带结构104发送至IP块1021。重复这个过程以生成与每个IP块相关联的分组(这就是为什么从框807的过程可以前进返回框801)。
在框808处,IP框1021接收分组500并对分组500的报头502和有效载荷501进行解码,并且向FSM 201发送进入恢复(RESTORE)操作的指示。在框809处,FSM 201开始恢复操作(即,“开始恢复”)并且从空闲状态进入写状态。FSM 201然后将脉冲(例如,高脉冲)驱动至寄存器逻辑203的菊链式顺序单元。在一些实施例中,当不存在添加至ROM的附加寄存器时和/或当不需要与现有技术方案的向后兼容性时,恢复操作可以从框804开始。这样,根据一些实施例,不再需要框801、802和803。
在框810处,由FSM 201判定寄存器遍历是否完成。如参照图2所描述的,执行寄存器遍历。返回参照图8,如果寄存器遍历未完成,则处理器前进至框811。否则,所述过程前进至框812。在框811处,从经解码的有效载荷501收集写入数据,并且基于菊链触发器将所述写入数据写入实际感兴趣的寄存器。在下一时钟边缘上,选择菊链中寄存器逻辑203的下一触发器,并且然后将数据写入与此下一触发器相关联的寄存器。在一些实施例中,当所有的数据都被写回到感兴趣的寄存器时,如由框812所指示的,FSM 201将其状态从写状态移动至空闲状态。
图9展示了根据本公开的一些实施例的具有能操作用于高效保存和恢复数据的IP块和逻辑的智能装置或计算机系统或SoC(片上系统)。应指出的是,图9的与任何其他附图的元件具有相同参考号(或名称)的那些元件可以以与所描述方式相似的任何方式进行操作或起作用,但并不限于此。
图9展示了移动装置的实施例的框图,在所述移动装置中可以使用平坦表面接口连接器。在一些实施例中,计算装置2100表示移动计算装置,诸如计算平板、移动电话或智能电话、支持无线的电子阅读器或其他无线移动装置。应理解的是,总体上示出了某些部件,在计算装置2100中没有示出这种装置的全部部件。
根据所讨论的一些实施例,在一些实施例中,计算装置2100包括第一处理器2110(例如,IP块),所述第一处理器能操作用于高效保存和恢复数据。根据一些实施例,计算装置2100的其他块(例如,其他IP块)还可以包括用于高效保存和恢复数据的逻辑。本公开的各个实施例还可以包括2170内的网络接口(诸如无线接口),从而使得系统实施例可以并入无线装置(例如,蜂窝电话或个人数字助理)中。
在一个实施例中,处理器2110(和/或处理器2190)可以包括一或多个物理器件,如微处理器、应用处理器、微控制器、可编程逻辑器件、或其他处理装置。由处理器2110执行的处理操作包括于其上执行应用和/或装置功能的操作平台或操作系统的执行。处理操作包括与人类用户的或与其他装置的与I/O(输入/输出)有关的操作、与功率管理有关的操作、和/或与将计算装置2100连接到另一装置有关的操作。处理操作还可以包括与音频I/O和/或显示I/O有关的操作。
在一个实施例中,计算装置2100包括音频子系统2120,其代表与向计算装置提供音频功能相关联的硬件(例如,音频硬件和音频电路)和软件(例如,驱动器、编解码器)部件。音频功能可包括扬声器和/或耳机输出、以及麦克风输入。用于这种功能的装置可以被集成到计算装置2100中或连接到计算装置2100。在一个实施例中,用户通过提供由处理器2110接收并处理的音频命令来与计算装置2100进行交互。
显示子系统2130代表为用户提供视觉和/或触感显示以便与计算装置2100进行交互的硬件(例如,显示装置)和软件(例如,驱动器)部件。显示子系统2130包括显示界面2132,所述显示界面包括用于向用户提供显示的特定屏幕或硬件装置。在一个实施例中,显示界面2132包括与处理器2110分离的逻辑,所述逻辑用于执行与显示有关的至少一些处理。在一个实施例中,显示子系统2130包括向用户提供输出和输入两者的触摸屏(或触摸板)装置。
I/O控制器2140表示与用户的交互相关的硬件装置和软件部件。I/O控制器2140能操作用于管理作为音频子系统2120和/或显示子系统2130一部分的硬件。此外,I/O控制器2140展示连接至计算装置2100的附加装置的连接点,通过所述连接点用户可以与所述系统进行交互。例如,可以附接到计算装置2100的装置可以包括麦克风装置、扬声器或立体声系统、视频系统或其他显示装置、键盘或键板装置、或者如读卡器或其他装置的用于特定应用的其他I/O装置。
如上所述,I/O控制器2140可以与音频子系统2120和/或显示子系统2130进行交互。例如,通过麦克风或其它音频装置的输入可为计算装置2100的一个或多个应用或功能提供输入或命令。此外,替代或除了显示输出之外,还可以提供音频输出。在另一个示例中,如果显示子系统2130包括触摸屏,则显示装置还充当输入装置,所述输入装置可以至少部分地由I/O控制器2140来进行管理。计算装置2100上还可以有附加按钮或开关以便提供由I/O控制器2140管理的I/O功能。
在一个实施例中,I/O控制器2140管理诸如加速度度计、相机、光传感器或其它环境传感器、或(可以包括在计算装置2100中的)其它硬件等的装置。输入可为直接用户交互的一部分,以及向系统提供环境输入以影响其操作(如,过滤噪声、调整用于亮度检测的显示、将闪存应用于相机或者其他特征)。
在一些实施例中,计算装置2100包括电源管理2150,所述电源管理对电池电力使用、电池充电以及与节电操作有关的特征进行管理。存储器子系统2160包括用于将信息存储在计算装置2100中的存储器装置。存储器可以包括非易失性(如果存储器装置断电,则状态不改变)和/或易失性(如果存储器装置断电,则状态不定)存储器装置。存储器子系统2160可以存储应用数据、用户数据、音乐、照片、文档或其他数据,以及与对计算装置2100的应用和功能的执行有关的系统数据(长期的或者临时的)。
实施例的元素还被提供为用于存储计算机可执行指令(例如,实现本文讨论的任何其他过程的指令)的机器可读介质(例如,存储器2160)。所述机器可读介质(例如,存储器2160)可以包括但不限于:闪速存储器、光盘、CD-ROM、DVD ROM、RAM、EPROM、EEPROM、磁卡或光卡、相变存储器(PCM)、或适用于存储电子或计算机可执行指令的其他类型的机器可读介质。例如,本公开的多个实施例可以作为计算机程序(例如,BIOS)进行下载,所述程序可以经由通信链路(例如,调制解调器或网络连接)以数据信号的方式从远程计算机(例如,服务器)被传送至进行请求的计算机(例如,客户端)。
连接2170包括硬件装置(例如,无线和/或有线连接器以及通信硬件)和软件部件(例如,驱动器、协议栈),以使计算装置2100与外部装置进行通信。计算装置2100可以是单独的装置(如其他计算装置、无线接入点或基站)以及外围装置(如耳机、打印机或其他装置)。
连接2170可以包括多种不同类型的连接。出于概括,展示了具有蜂窝连接2172和无线连接2174的计算装置2100。蜂窝连接2172总体上指的是由无线载波提供的蜂窝网络连接,诸如经由GSM(全球移动通信系统)或其变体或衍生体、CDMA(码分多址)或其变体或衍生体、TDM(时分复用)或其变体或衍生体、或其他蜂窝服务标准提供的。无线连接(或无线接口)2174指非蜂窝的无线连接,并且可以包括个域网(诸如蓝牙、近场等)、局域网(诸如Wi-Fi)、和/或广域网(诸如WiMax)、或其他无线通信。
外围连接2180包括用于进行外周连接的硬件接口和连接器,以及软件部件(例如,驱动器、协议栈)。应理解的是,计算装置2100可以是到其他计算装置的外围装置(“去往”2182),也可以具有连接到其的外围装置(“来自”2184)。计算装置2100通常具有用于连接到其他计算装置的“对接”连接器,以用于如管理(例如,下载和/或上传、更改、同步)计算装置2100上的内容。此外,对接连接器可以允许计算装置2100连接到特定外围装置,所述特定外围装置允许计算装置2100控制例如到视听或其他系统的内容输出。
除了专用的对接连接器或其他专用连接硬件以外,计算装置2100可以经由基于公共或标准的连接器进行外围连接2180。公共类型可以包括通用串行总线(USB)连接器(其可以包括任意数量的不同硬件接口)、包括小型显示端口(MDP)的显示端口、高清晰度多媒体接口(HDMI)、火线或其他类型。
说明书中对“实施例”、“一个实施例”、“一些实施例”、或“其他实施例”的引用意味着结合实施例描述的特定特征、构造或特性包括在至少一些实施例中,但不必是全部实施例。“实施例”、“一个实施例”或“一些实施例”的多处出现不必全部指代相同的实施例。如果说明书陈述组件、特征、构造或特性“可以(may)”、“可能(might)”、或“可(could)”被包括,则此特定组件、特征、构造或特性不要求被包括。如果说明书或权利要求书提及“一(a)”或“一个(an)”要素,则那并非意味着仅存在一个要素。如果说明书或权利要求书提及“一个附加的(an additional)”要素,则那并不排除存在多于一个的附加要素。
此外,在一个或多个实施例中,可以以任何适当的方式来组合特定特征、结构、功能或特性。例如,第一实施例可以与第二实施例在任何地方进行组合,其中,与这两个实施例相关联的特定特征、结构、功能或特性不相互排斥。
虽然已经结合其特定实施例描述了本公开,但是鉴于前述描述,此类实施例的许多替代方案、修改和改变对于本领域技术人员将是明显的。例如,其他存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。本公开的实施例意在涵盖落入所附权利要求书广阔范围内的全部此类替代方案、修改和改变。
另外,为了简化图示和讨论以及为了不使本公开模糊,在所呈现的图内可以或可以不示出与集成电路(IC)芯片和其他部件的公知的电力/接地连接。此外,安排可以以框图的形式示出,以避免模糊本公开,并且还鉴于以下事实:关于完成这样的框图安排的实现方式的细节高度依赖于在其中实现本公开的平台(即,这样的细节应当完全在本领域技术人员的视界内)。特定细节(例如,电路)被阐述以便描述本公开的示例性实施例,对本领域技术人员来说应当显而易见的是:本公开可以在无需这些具体细节或者采用这些具体细节的变化的情况下被实践。描述因此被视为是说明性的而非限制性的。
下面的示例涉及进一步的实施例。可在一个或多个实施例中的任何地方使用示例中的细节。还可以关于方法或过程实现在此所述的设备的所有可选特征。
例如,提供了一种设备,包括:知识产权(IP)块;控制逻辑,能操作用于向所述IP块发送第一命令以使得所述IP块从第二功率状态进入第一功率状态;以及通信结构,耦合至所述IP块并耦合至所述控制逻辑,所述通信结构用于在所述第一命令由所述IP块处理之后将多个分组连同第一报头一起从所述IP块发送至所述控制逻辑,其中,所述多个分组与被标识为内容有待保存的寄存器的多个寄存器相关联。
在一些实施例中,所述IP块包括第一逻辑,所述第一逻辑用于:响应于接收到所述第一命令而标识内容有待保存的所述寄存器。在一些实施例中,所述IP块包括第二逻辑,所述第二逻辑用于:将来自经标识寄存器的内容连结为具有所述第一报头的第一分组,以便发送至所述通信结构。在一些实施例中,所述控制逻辑包括:用于对所述第一报头进行解码以便检索与所述经标识寄存器相关联的所述第一分组的内容的逻辑;以及用于存储所述IP块的经检索内容的存储区域。
在一些实施例中,所述控制逻辑能操作用于向所述IP块发送第二命令以使得所述IP块退出所述第一功率状态。在一些实施例中,所述控制逻辑能操作用于从所述存储区域恢复所述IP块的所述经检索内容。在一些实施例中,所述控制逻辑能操作用于将从所述存储区域恢复的所述经检索内容连结为具有第二报头的第二分组,以便经由所述通信结构进行传输。
在一些实施例中,所述第一和第二报头包括关于所述IP块的信息。在一些实施例中,所述IP块包括用于以下操作的逻辑:对所述第二报头和所述第二分组进行解码;以及将经解码的第二分组复制到被标识为内容有待恢复的寄存器的所述多个寄存器。在一些实施例中,所述控制逻辑是功率管理控制单元。在一些实施例中,所述第一功率状态是低功率状态,并且所述第二功率状态是比所述第一功率状态更加活跃的功率状态。
在另一个示例中,提供了一种系统,包括:存储器;处理器,耦合至所述存储器,所述处理器包括根据上述设备的设备;以及无线接口,用于允许所述处理器与另一装置进行通信。
在另一示例中,提供了一种方法,包括:由控制逻辑向知识产权(IP)块发送第一命令以使得所述IP块从第二功率状态进入第一功率状态;以及由所述控制逻辑经由耦合至所述IP块并耦合至所述控制逻辑的通信结构从所述IP块接收多个分组连同第一报头,其中,所述多个分组与所述IP块中被标识为内容有待保存的寄存器的多个寄存器相关联。
在一些实施例中,由所述IP块将来自经标识寄存器的内容连结为具有所述第一报头的第一分组,以便发送至所述通信结构。在一些实施例中,所述方法包括:对所述第一报头进行解码以便检索与所述经标识寄存器相关联的所述第一分组的内容;以及将所述IP块的经检索内容存储在存储区域中。在一些实施例中,所述方法包括:向所述IP块发送第二命令以使得所述IP块退出所述第一功率状态。
在另一实施例中,所述方法包括:从所述存储区域恢复所述IP块的所述经检索内容;以及将从所述存储区域恢复的所述经检索内容连结为具有第二报头的第二分组,以便经由所述通信结构传输至所述IP块,其中,所述IP块包括用于以下操作的逻辑:对所述第二报头和所述第二分组进行解码;以及将经解码的第二分组复制到被标识为内容有待恢复的寄存器的所述多个寄存器。
在另一示例中,提供了一种片上系统(SoC),包括:多个知识产权(IP)块,包括处理器核和存储器控制器;功率控制逻辑,能操作用于向所述多个IP块中的至少两个IP块发送第一命令以使得所述至少两个IP块从第二功率状态进入第一功率状态;一个或多个通信结构,耦合至所述至少两个IP块并耦合至所述控制逻辑,所述一个或多个通信结构用于将具有相关联的一个或多个报头的多个分组从所述至少两个IP块中的每个IP块发送至所述控制逻辑,其中,所述多个分组与被标识为内容有待保存的寄存器的多个寄存器相关联;以及无线接口,用于允许所述多个IP块中的至少一个IP块与另一装置进行通信。
在一些实施例中,所述控制逻辑能操作用于:对与所述至少两个IP块中的每个IP块相关联的所述一个或多个报头进行解码,以便检索与所述经标识寄存器相关联的所述多个分组的内容;以及将所述至少两个IP块中的每个IP块的经检索内容存储在存储区域中。在一些实施例中,所述控制逻辑能操作用于向所述IP块中的所述至少两个IP块发送第二命令,以使得所述至少两个IP块中的每个IP块退出所述第一功率状态。
在一些实施例中,所述控制逻辑包括用于以下操作的逻辑:针对所述至少两个IP块中的每个IP块来从所述存储区域恢复此IP块的经检索内容;以及将从所述存储区域恢复的、针对所述至少两个IP块中的每个IP块的经检索内容连结为具有第二报头的第二分组以便经由所述通信结构传输至所述多个IP块中的至少一些IP块,其中,每个IP块包括用于以下操作的逻辑:对所述第二报头和所述第二分组进行解码;以及将经解码的第二分组复制到被标识为内容有待在此IP块中恢复的寄存器的所述多个寄存器。
在另一示例中,提供了一种设备,包括:用于由控制逻辑向知识产权(IP)块发送第一命令以使得所述IP块从第二功率状态进入第一功率状态的装置;以及用于由所述控制逻辑经由耦合至所述IP块并耦合至所述控制逻辑的通信结构从所述IP块接收多个分组连同第一报头的装置,其中,所述多个分组与所述IP块中被标识为内容有待保存的寄存器的多个寄存器相关联。
在一些实施例中,由所述IP块将来自经标识寄存器的内容连结为具有所述第一报头的第一分组,以便发送至所述通信结构。在一些实施例中,所述设备包括:用于对所述第一报头进行解码以便检索与所述经标识寄存器相关联的所述第一分组的内容的装置;以及用于将所述IP块的经检索内容存储在存储区域中的装置。在一些实施例中,所述设备包括:用于向所述IP块发送第二命令以使得所述IP块退出所述第一功率状态的装置。
在一些实施例中,所述设备包括:用于从所述存储区域恢复所述IP块的所述经检索内容的装置;以及用于将从所述存储区域恢复的所述经检索内容连结为具有第二报头的第二分组以便经由所述通信结构传输至所述IP块的装置,其中,所述IP块包括用于对所述第二报头和所述第二分组进行解码的装置、以及用于将经解码的第二分组复制到被标识为内容有待恢复的寄存器的所述多个寄存器的装置。
在另一示例中,提供了一种系统,包括:存储器;处理器,耦合至所述存储器,所述处理器包括根据上述设备的设备;以及无线接口,用于允许所述处理器与另一装置进行通信。
提供了将允许读者确定本技术性公开的本质和主旨的摘要。基于本摘要将不被用于限制权利要求书的范围或者含义的理解来提交本摘要。据此将以下权利要求结合到具体实施方式中,其中每一项权利要求独立地代表单独的实施例。

Claims (25)

1.一种用于保存和恢复数据的设备,所述设备包括:
知识产权IP块;
控制逻辑,能操作用于向所述IP块发送第一命令以使得所述IP块从第二功率状态进入第一功率状态;以及
通信结构,耦合至所述IP块并耦合至所述控制逻辑,其中,所述通信结构用于在所述第一命令由所述IP块处理之后将多个分组连同第一报头一起从所述IP块发送至所述控制逻辑,其中,所述多个分组与被标识为内容有待保存的寄存器的多个寄存器相关联,
其中,所述IP块包括逻辑,所述逻辑用于:响应于接收到所述第一命令而标识内容有待保存的所述寄存器,
其中,内容有待保持的所述寄存器能够由保存在相应的顺序电路中的数据标识,其中,所述相应的顺序电路中的各个顺序电路包括触发器以及耦合至所述触发器的逻辑门,
其中,所述触发器用于存储指示对应寄存器的内容要被保存的数据位。
2.如权利要求1所述的设备,其中,所述逻辑是第一逻辑,并且其中,所述IP块包括第二逻辑,所述第二逻辑用于:将来自经标识寄存器的内容连结为具有所述第一报头的第一分组,以便发送至所述通信结构。
3.如权利要求2所述的设备,其中,所述控制逻辑包括:
用于对所述第一报头进行解码以便检索与所述经标识寄存器相关联的所述第一分组的内容的逻辑;以及
用于存储所述IP块的经检索内容的存储区域。
4.如权利要求3所述的设备,其中,所述控制逻辑能操作用于向所述IP块发送第二命令以使得所述IP块退出所述第一功率状态。
5.如权利要求4所述的设备,其中,所述控制逻辑能操作用于从所述存储区域恢复所述IP块的所述经检索内容。
6.如权利要求5所述的设备,其中,所述控制逻辑能操作用于将从所述存储区域恢复的所述经检索内容连结为具有第二报头的第二分组,以便经由所述通信结构进行传输。
7.如权利要求6所述的设备,其中,所述第一报头和所述第二报头包括关于所述IP块的信息。
8.如权利要求6所述的设备,其中,所述IP块包括用于以下操作的第三逻辑:对所述第二报头和所述第二分组进行解码;以及将经解码的第二分组复制到被标识为内容有待恢复的寄存器的多个寄存器。
9.如权利要求1所述的设备,其中,所述控制逻辑是功率管理控制单元。
10.如权利要求1所述的设备,其中,所述第一功率状态是低功率状态,并且所述第二功率状态是比所述第一功率状态更加活跃的功率状态。
11.一种用于保存和恢复数据的方法,所述方法包括:
由控制逻辑向知识产权IP块发送第一命令以使得所述IP块从第二功率状态进入第一功率状态;以及
由所述控制逻辑经由耦合至所述IP块并耦合至所述控制逻辑的通信结构从所述IP块接收多个分组连同第一报头,其中,所述多个分组与所述IP块中被标识为内容有待保存的寄存器的多个寄存器相关联,
其中,所述IP块包括逻辑,所述逻辑用于:响应于接收到所述第一命令而标识内容有待保存的所述寄存器,
其中,内容有待保持的所述寄存器能够由保存在相应的顺序电路中的数据标识,其中,所述相应的顺序电路中的各个顺序电路包括触发器以及耦合至所述触发器的逻辑门,
其中,所述触发器用于存储指示对应寄存器的内容要被保存的数据位。
12.如权利要求11所述的方法,其中,由所述IP块将来自经标识寄存器的内容连结为具有所述第一报头的第一分组,以便发送至所述通信结构。
13.如权利要求12所述的方法,包括:
对所述第一报头进行解码以便检索与所述经标识寄存器相关联的所述第一分组的内容;以及
将所述IP块的经检索内容存储在存储区域中。
14.如权利要求13所述的方法,包括:向所述IP块发送第二命令以使得所述IP块退出所述第一功率状态。
15.如权利要求14所述的方法,包括:
从所述存储区域恢复所述IP块的所述经检索内容;以及
将从所述存储区域恢复的所述经检索内容连结为具有第二报头的第二分组,以便经由所述通信结构传输至所述IP块,
其中,所述IP块的所述逻辑是第一逻辑,并且其中,所述IP块包括用于以下操作的第二逻辑:对所述第二报头和所述第二分组进行解码;以及将经解码的第二分组复制到被标识为内容有待恢复的寄存器的多个寄存器。
16.一种能够保存和恢复数据的片上系统SoC,所述SoC包括:
多个知识产权IP块,包括处理器核和存储器控制器;
功率控制逻辑,能操作用于向所述多个IP块中的至少两个IP块发送第一命令以使得所述至少两个IP块从第二功率状态进入第一功率状态;
一个或多个通信结构,耦合至所述至少两个IP块并耦合至所述控制逻辑,其中,所述一个或多个通信结构用于将具有相关联的一个或多个报头的多个分组从所述至少两个IP块中的每个IP块发送至所述控制逻辑,其中,所述多个分组与被标识为内容有待保存的寄存器的多个寄存器相关联;
其中,所述多个IP块中的各个IP块包括逻辑,所述逻辑用于:响应于接收到所述第一命令而标识内容有待保存的所述寄存器,
其中,内容有待保持的所述寄存器能够由保存在相应的顺序电路中的数据标识,其中,所述相应的顺序电路中的各个顺序电路包括触发器以及耦合至所述触发器的逻辑门,
其中,所述触发器用于存储指示对应寄存器的内容要被保存的数据位;以及
无线接口,用于允许所述多个IP块中的至少一个IP块与另一装置进行通信。
17.如权利要求16所述的SoC,其中,所述控制逻辑能操作用于:
对与所述至少两个IP块中的每个IP块相关联的所述一个或多个报头进行解码,以便检索与所述经标识寄存器相关联的所述多个分组的内容;以及
将所述至少两个IP块中的每个IP块的经检索内容存储在存储区域中。
18.如权利要求16所述的SoC,其中,所述控制逻辑能操作用于向所述IP块中的所述至少两个IP块发送第二命令,以使得所述至少两个IP块中的每个IP块退出所述第一功率状态。
19.如权利要求17所述的SoC,其中,所述控制逻辑包括用于以下操作的逻辑:
针对所述至少两个IP块中的每个IP块,从所述存储区域恢复此IP块的经检索内容;以及
将从所述存储区域恢复的、针对所述至少两个IP块中的每个IP块的经检索内容连结为具有第二报头的第二分组,以便经由所述通信结构传输至所述多个IP块中的至少一些IP块,
其中,每个IP块包括用于以下操作的逻辑:对所述第二报头和所述第二分组进行解码;以及将经解码的第二分组复制到被标识为内容有待在此IP块中恢复的寄存器的多个寄存器。
20.一种用于保存和恢复数据的设备,所述设备包括:
用于由控制逻辑向知识产权IP块发送第一命令以使得所述IP块从第二功率状态进入第一功率状态的装置;以及
用于由所述控制逻辑经由耦合至所述IP块并耦合至所述控制逻辑的通信结构从所述IP块接收多个分组连同第一报头的装置,其中,所述多个分组与所述IP块中被标识为内容有待保存的寄存器的多个寄存器相关联,
其中,所述IP块包括用于响应于接收到所述第一命令而标识内容有待保存的所述寄存器的装置,
其中,内容有待保持的所述寄存器能够由保存在相应的顺序电路中的数据标识,其中,所述相应的顺序电路中的各个顺序电路包括触发器以及耦合至所述触发器的逻辑门,
其中,所述触发器用于存储指示对应寄存器的内容要被保存的数据位。
21.如权利要求20所述的设备,其中,由所述IP块将来自经标识寄存器的内容连结为具有所述第一报头的第一分组,以便发送至所述通信结构。
22.如权利要求21所述的设备,包括:
用于对所述第一报头进行解码以便检索与所述经标识寄存器相关联的所述第一分组的内容的装置;以及
用于将所述IP块的经检索内容存储在存储区域中的装置。
23.如权利要求22所述的设备,包括:用于向所述IP块发送第二命令以使得所述IP块退出所述第一功率状态的装置。
24.如权利要求23所述的设备,包括:
用于从所述存储区域恢复所述IP块的所述经检索内容的装置;以及
用于将从所述存储区域恢复的所述经检索内容连结为具有第二报头的第二分组以便经由所述通信结构传输至所述IP块的装置,
其中,所述IP块包括用于对所述第二报头和所述第二分组进行解码的装置、以及用于将经解码的第二数据包复制到被标识为内容有待恢复的寄存器的多个寄存器的装置。
25.一种机器可读介质,存储指令,所述指令在由计算设备执行时使所述计算设备执行如权利要求11-15中任一项所述的方法。
CN201680042626.6A 2015-08-20 2016-07-19 用于在处理器中保存和恢复数据以便节省电力的设备和方法 Active CN107850932B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/831,768 2015-08-20
US14/831,768 US10078356B2 (en) 2015-08-20 2015-08-20 Apparatus and method for saving and restoring data for power saving in a processor
PCT/US2016/043012 WO2017030722A1 (en) 2015-08-20 2016-07-19 Apparatus and method for saving and restoring data for power saving in a processor

Publications (2)

Publication Number Publication Date
CN107850932A CN107850932A (zh) 2018-03-27
CN107850932B true CN107850932B (zh) 2021-11-19

Family

ID=58050923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680042626.6A Active CN107850932B (zh) 2015-08-20 2016-07-19 用于在处理器中保存和恢复数据以便节省电力的设备和方法

Country Status (4)

Country Link
US (1) US10078356B2 (zh)
EP (1) EP3338162A4 (zh)
CN (1) CN107850932B (zh)
WO (1) WO2017030722A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI666555B (zh) * 2018-01-11 2019-07-21 新唐科技股份有限公司 C型通用序列匯流排介面電路及其接腳旁路方法
US11030102B2 (en) * 2018-09-07 2021-06-08 Apple Inc. Reducing memory cache control command hops on a fabric
CN111143275A (zh) * 2019-12-27 2020-05-12 南方电网科学研究院有限责任公司 一种ip管理和功耗优化系统及方法
US12045501B2 (en) * 2021-09-20 2024-07-23 SanDisk Technologies, Inc. Sideband information over host interface considering link states

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1581764A (zh) * 2003-08-14 2005-02-16 国际商业机器公司 检测和避开网络内高数据讹误路径的方法、系统和产品
CN1798101A (zh) * 2004-11-30 2006-07-05 美国博通公司 一种处理分组的网络设备及方法
CN1820270A (zh) * 2003-05-07 2006-08-16 睦塞德特拉华公司 利用电源岛管理集成电路上的功率
CN101447986A (zh) * 2007-11-27 2009-06-03 国际商业机器公司 具有分区的片上网络及其处理方法
US20090282419A1 (en) * 2008-05-09 2009-11-12 International Business Machines Corporation Ordered And Unordered Network-Addressed Message Control With Embedded DMA Commands For A Network On Chip
US20090300332A1 (en) * 2008-05-30 2009-12-03 Montgomery Wallace P Non-destructive sideband reading of processor state information
CN104049715A (zh) * 2013-03-13 2014-09-17 英特尔公司 平台不可知的功率管理
WO2015102394A1 (en) * 2014-01-02 2015-07-09 Lg Electronics Inc. Broadcast transmission device and operating method thereof, and broadcast reception device and operating method thereof

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571333B1 (en) * 1999-11-05 2003-05-27 Intel Corporation Initializing a memory controller by executing software in second memory to wakeup a system
US7054802B2 (en) * 2000-10-20 2006-05-30 Quickturn Design Systems, Inc. Hardware-assisted design verification system using a packet-based protocol logic synthesized for efficient data loading and unloading
DE60034346D1 (de) 2000-11-03 2007-05-24 St Microelectronics Srl Vorrichtung und Verfahren zur selektiven Abschaltung integrierter Schaltungsblöcke
CN100342370C (zh) * 2002-10-08 2007-10-10 皇家飞利浦电子股份有限公司 用于交换数据的集成电路和方法
TWI294084B (en) * 2005-05-27 2008-03-01 Via Tech Inc Data acquisition method, computer system and machine readable storage media using the same
US8121150B1 (en) * 2008-08-27 2012-02-21 Xilinx, Inc. Method and apparatus for processing variable-length packets in a buffer memory for transmission
KR101512493B1 (ko) 2009-02-06 2015-04-15 삼성전자주식회사 저전력 시스템온칩
US8364862B2 (en) * 2009-06-11 2013-01-29 Intel Corporation Delegating a poll operation to another device
EP2360611B1 (en) * 2010-01-22 2014-09-10 ST-Ericsson SA Secure environment management during switches between different modes of multicore systems
US9021156B2 (en) 2011-08-31 2015-04-28 Prashanth Nimmala Integrating intellectual property (IP) blocks into a processor
US9400545B2 (en) * 2011-12-22 2016-07-26 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including autonomous hardware-based deep power down in devices
US9207749B2 (en) * 2012-08-28 2015-12-08 Intel Corporation Mechanism for facilitating efficient operations paths for storage devices in computing systems
US9436623B2 (en) 2012-09-20 2016-09-06 Intel Corporation Run-time fabric reconfiguration
KR102001414B1 (ko) * 2012-09-27 2019-07-18 삼성전자주식회사 데이터 트랜잭션에 따라 전력공급을 제어하는 시스템-온-칩 및 그 동작방법
US9898298B2 (en) * 2013-12-23 2018-02-20 Intel Corporation Context save and restore

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1820270A (zh) * 2003-05-07 2006-08-16 睦塞德特拉华公司 利用电源岛管理集成电路上的功率
CN1581764A (zh) * 2003-08-14 2005-02-16 国际商业机器公司 检测和避开网络内高数据讹误路径的方法、系统和产品
CN1798101A (zh) * 2004-11-30 2006-07-05 美国博通公司 一种处理分组的网络设备及方法
CN101447986A (zh) * 2007-11-27 2009-06-03 国际商业机器公司 具有分区的片上网络及其处理方法
US20090282419A1 (en) * 2008-05-09 2009-11-12 International Business Machines Corporation Ordered And Unordered Network-Addressed Message Control With Embedded DMA Commands For A Network On Chip
US20090300332A1 (en) * 2008-05-30 2009-12-03 Montgomery Wallace P Non-destructive sideband reading of processor state information
CN104049715A (zh) * 2013-03-13 2014-09-17 英特尔公司 平台不可知的功率管理
WO2015102394A1 (en) * 2014-01-02 2015-07-09 Lg Electronics Inc. Broadcast transmission device and operating method thereof, and broadcast reception device and operating method thereof

Also Published As

Publication number Publication date
US20170052579A1 (en) 2017-02-23
WO2017030722A1 (en) 2017-02-23
US10078356B2 (en) 2018-09-18
CN107850932A (zh) 2018-03-27
EP3338162A1 (en) 2018-06-27
EP3338162A4 (en) 2019-04-17

Similar Documents

Publication Publication Date Title
US10489339B2 (en) Sensor bus communication system
CN108351813B (zh) 用于在非易失性存储器快速(NVMe)控制器的不同网络地址上使能个别的NVMe输入/输出(IO)队列的方法和装置
TWI715926B (zh) 在一儲存備份記憶體封裝中之韌體更新
TWI614604B (zh) 用於降低在主機與儲存裝置之間的潛時之設備及方法
CN107850932B (zh) 用于在处理器中保存和恢复数据以便节省电力的设备和方法
US8681546B2 (en) Variable impedance control for memory devices
US9841784B2 (en) Apparatus and method for controlling wearable devices using wireless energy harvesting
US20200042203A1 (en) Channel optimized storage modules
US9864704B2 (en) Memory controller communicating with host, operating method thereof, and computing system including the same
TWI537737B (zh) 一種用於可攜式裝置中傳輸高速資料的方法及其系統
TW201423577A (zh) 移動裝置和使用交換其的資料管理方法
KR20120042649A (ko) 소프트 스타팅 기능을 갖는 전압 레귤레이터 및 전압 레귤레이터의 제어 방법
TWI754050B (zh) 微控制器、具有該微控制器的記憶系統及其操作方法
US8341330B2 (en) Method and system for enhanced read performance in serial peripheral interface
US8966146B2 (en) Data processing method and data processing unit using the same
TW201835771A (zh) 用於在非託管快閃記憶體設備中複製資料頁的方法和裝置
US11128121B2 (en) Protection circuit for decoupling a low voltage circuitry from a high voltage circuitry
WO2024139401A1 (zh) 数据管理方法、装置、存储介质以及电子设备
US10216421B2 (en) Method of operating storage device using serial interface and method of operating data processing system including the same
US11152922B2 (en) Semiconductor device
CN106200733A (zh) 参考电压产生器
US20160232051A1 (en) Embedded resilient buffer
WO2017112225A1 (en) Soc fabric extensions for configurable memory maps through memory range screens and selectable address flattening
KR20080000559A (ko) 휴대폰 및 휴대용 어플라이언스를 위한 저전력 고체 상태저장장치 제어기
CN112416677B (zh) 一种具有软关机功能的服务器和软关机方法

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