CN113835515A - Usb c型子***功率管理 - Google Patents

Usb c型子***功率管理 Download PDF

Info

Publication number
CN113835515A
CN113835515A CN202011376531.2A CN202011376531A CN113835515A CN 113835515 A CN113835515 A CN 113835515A CN 202011376531 A CN202011376531 A CN 202011376531A CN 113835515 A CN113835515 A CN 113835515A
Authority
CN
China
Prior art keywords
state
power
display
port
signal
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
Application number
CN202011376531.2A
Other languages
English (en)
Inventor
辛都·阿米雷迪
布伦特·贝罗
迪帕克·兰加拉杰
帕特里克·马洛尼
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 CN113835515A publication Critical patent/CN113835515A/zh
Pending legal-status Critical Current

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/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
    • 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/3243Power saving in microcontroller unit
    • 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/325Power saving in peripheral device
    • G06F1/3278Power saving in modem or I/O interface
    • 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
    • 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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3218Monitoring of peripheral devices of display devices
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3812USB port controller
    • 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)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)

Abstract

本公开涉及USB C型子***功率管理。基于硬件的唤醒检测和片上***(SoC)固件支持用于服务固定显示端口(DP)和高清多媒体接口(HDMI)端口热插拔事件,其允许通用串行总线(USB)C型子***在固定显示器没有流媒体时进入断电状态。在接收到响应于热插拔检测而针对固定显示流的显示软件发起的唤醒时,SoC USB C型固件触发退出低功率状态流,以上电USB C型子***以处理显示业务。SoC USB C型固件能够在(一个或多个)固定显示器没有流媒体时自动重新进入低功率状态。

Description

USB C型子***功率管理
技术领域
本公开涉及USB C型子***功率管理。
背景技术
在USB子***中,具有集成通用串行总线(USB)C型(Type-C)端口的处理器***具有固定的显示端口(Display Port,DP)或高清多媒体接口(HDMI)端口配置,防止处理器***的USB C型子***达到最低功率状态,即使这些USB C型端口上未连接显示设备。
发明内容
根据本公开的一个方面,提供了一种利用功率管理的装置,所述装置包括:显示引擎,用于响应于显示设备被耦合到端口而生成对设备驱动器的中断,其中,所述设备驱动器用于发出针对所述显示设备的功率请求;以及功率管理代理,用于检测所述功率请求并退出低功率状态至活动状态。
根据本公开的另一方面,提供了一种***,包括:处理器;存储器,耦合到所述处理器;结构,耦合到所述处理器和所述存储器;显示引擎,用于响应于显示设备被耦合到端口而生成对设备驱动器的中断,其中,所述设备驱动器用于发出针对所述显示设备的功率请求;以及USB C型子***,耦合到所述结构,其中,所述USB C型子***包括功率管理代理,用于检测所述功率请求并退出低功率状态以进入活动状态。
根据本公开的又一方面,提供了一种用于管理功率的方法,所述方法包括:接收对功率请求信号的沿检测,其中,所述功率请求信号由设备驱动器响应于显示设备被耦合到端口而生成;以及通过退出低功率状态至活动状态来处理所述功率请求信号。
根据本公开的又一方面,提供了一种在其上存储有机器可读指令的机器可读存储介质,所述机器可读指令在被执行时,使微控制器执行根据本公开实施例所述的方法。
附图说明
从下面给出的详细描述和本公开的各种实施例的附图将更全面地理解本公开的实施例,然而,这些附图不应被视为将本公开局限于特定实施例,而是仅用于说明和理解。
图1示出了根据一些实施例的具有功率管理的通用串行总线(USB)C型子***。
图2示出了根据一些实施例的用于识别何时未附接固定端口显示器以及何时固定端口连接的显示器为空闲的硬件逻辑。
图3示出了根据一些实施例的USB C型子***功率管理流。
图4示出了根据各种实施例的具有USB C型子***功率管理的智能设备或计算机***或SoC(片上***)。
具体实施方式
各种实施例提供了基于硬件的唤醒检测和片上***(SoC)固件(软件)支持,用于服务固定显示端口(DP)和高清多媒体接口(HDMI)端口热插拔事件,其允许通用串行总线(USB)C型子***在固定显示器没有流媒体时进入断电状态(例如,D3COLD)。在接收到响应于USB C型端口上的热插拔检测而针对固定显示流的显示软件发起的唤醒时,SoC USB C型固件触发退出低功率状态流,以上电USB C型子***以处理显示业务。SoC USB C型固件能够在(一个或多个)固定显示器没有流媒体时自动重新进入低功率状态。
在一些实施例中,提供了一种装置,其包括显示引擎,用于响应于显示设备被耦合到端口(例如,USB C型端口)而生成对设备驱动器的中断,其中设备驱动器发出针对显示设备的功率请求。该装置还包括功率管理代理,用于检测功率请求并退出低功率状态(例如,D3COLD状态)至活动状态(例如,S0或D0状态)。在一些实施例中,该装置包括平台控制器集线器,用于检测响应于显示设备被耦合到端口的热插拔事件。在一些实施例中,平台控制器集线器将热插拔事件转发给显示引擎,其中显示引擎响应于从平台控制器集线器接收到热插拔事件而生成中断。在一些实施例中,功率管理代理包括上升沿检测逻辑,用于检测对功率请求的断言(assertion)。在一些实施例中,功率管理代理包括寄存器,用于掩蔽沿检测逻辑的输出。在一些实施例中,功率管理代理包括微控制器,用于服务沿检测逻辑的输出以生成唤醒信号。在一些实施例中,微控制器执行软件以生成唤醒信号。在一些实施例中,显示驱动器响应于退出低功率状态而训练显示设备的显示链路。在一些实施例中,低功率状态是D3COLD,并且其中活动状态是S0或D0状态中的一个。
在一些实施例中,一种在其上存储有机器可读指令(例如,USB C型子***软件或固件)的机器可读存储介质,当该指令执行时,使得功率管理代理的微控制器执行方法,包括:接收功率请求信号的沿检测,其中,功率请求信号由设备驱动器响应于显示设备被耦合到端口而生成;以及通过退出低功率状态至活动状态来处理功率请求信号。在一些实施例中,该方法还包括:生成唤醒信号以从低功率状态唤醒,其中该唤醒信号唤醒USB C型子***。
各种实施例有许多技术效果。例如,该功率管理方案显著节省功率。处理器***上的USB C型复合体可以更频繁地进入低功率状态,其是例如可以节省80mW的功率的大功率选通状态。该节能实现2.8%至3.5%的电池寿命提升,并且图形多线程进程和单线程工作负载的性能分别提高1%和0.37%。其他技术效果将从各种附图和实施例中显而易见。
在下面的描述中,讨论许多细节以提供对本公开的实施例的更彻底的说明。然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下实践本公开的实施例。在其他实例中,为了避免混淆本公开的实施例,以框图形式而不是详细地示出公知结构和设备。
注意,在实施例的相应附图中,信号用线表示。一些线可能更粗,以指示更多的组成信号路径,和/或在一个或多个末端具有箭头,以指示主要信息流方向。此类指示并非旨在限制。相反,线结合一个或多个示例性实施例使用以便于更容易地理解电路或逻辑单元。任何表示的信号(如设计需求或偏好所指示的)实际上可以包括一个或多个可以沿任一方向传播的信号,并且可以利用任何适当类型的信号方案来实现。
在本说明书和权利要求中,术语“连接”是指没有任何中间设备的直接连接,诸如所连接的事物之间的电气、机械或磁性连接。
术语“耦合”是指直接或间接连接,诸如所连接的事物之间的直接电气、机械或磁性连接、或通过一个或多个无源或有源中间设备的间接连接。
这里的术语“相邻”一般是指一个事物紧挨着(例如,紧靠或靠近它们之间的一个或多个事物)或相邻另一个事物(例如,邻接)。
术语“电路”或“模块”可以指布置成彼此协作以提供所需功能的一个或多个无源和/或有源部件。
术语“信号”可以指至少一个电流信号、电压信号、磁信号或数据/时钟信号。“一”、“一个”和“该”的含义包括复数参考。“在……中”的含义包括“在……中”和“在……上”。
这里的术语“模拟信号”一般是指任何这样的连续信号:该信号的时变特性(变量)是某个其他时变量的表示(即模拟另一个时变信号)。
术语“数字信号”是这样的物理信号:它表示离散值序列(量化离散时间信号)(例如任意比特流的序列),或数字化的(经采样和模数转换的)模拟信号。
术语“缩放”通常是指将设计(原理图和布局)从一种工艺技术转换为另一种工艺技术,并且随后可能减少布局区域。在某些情况下,缩放还指将设计从一种工艺技术扩升到另一种工艺技术,并可能随后增加布局区域。术语“缩放”通常也指在同一技术节点内缩小或增大布局和设备。术语“缩放”也可指相对于另一参数(例如,电源电平)调整(例如,减速或加速-即分别缩小或放大)信号频率。术语“基本上”、“接近”、“近似”、“靠近”和“大约”通常指在目标值的+/-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晶体管包括漏极、源极、栅极和体端子(bulkterminal)。晶体管和/或MOS晶体管衍生物还包括三栅极和FinFET晶体管、栅极全围绕圆柱形晶体管、隧穿FET(TFET)、方形线(Square Wire)或矩形带状晶体管(Rectangular RibbonTransistors)、铁电FET(FeFET)或实现晶体管功能的其他器件,如碳纳米管或自旋电子器件。MOSFET对称源极和漏极端子,即相同的端子且在这里可以互换使用。另一方面,TFET器件具有不对称的源极和漏极端子。本领域技术人员将理解,可以在不脱离本公开的范围的情况下使用其他晶体管,例如,双极结型晶体管(BJT PNP/NPN)、BiCMOS、CMOS等。
图1示出了根据一些实施例的包括具有功率管理的通用串行总线(USB)C型子***的装置100。客户端片上***(SoC)上的集成C型子***包括多个知识产权(IP)块。USB C型子***经由互连结构103耦合到(一个或多个)处理器101和存储器102。USB C型子***包括控制器、开关、复用器和物理(PHY)I/O。显示引擎104通常被认为在USB C型子***之外,但与之耦合。在一些实施例中,USB C型子***包括主机直接存储器访问(DMA)105、第一组***组件接口(PCI)106(例如,分别为两组各4个PCI 106a和106b)、功率管理或功能代理(PMA)107、主机控制器(xHCI)108、设备控制器(xDCI)109、主机直接存储器访问110、第二组***组件接口111a和111b、雷电接口(Thunderbolt)开关112和113、复用器114和115以及C型PHY(例如,IO电路)116、117、118和119。虽然参考四个C型PHY来描述实施例,但是实施例不限于任何特定数量的PHY。例如,实施例适用于单个C型PHY、两个C型PHY、三个C型PHY和四个以的C型PHY。
在一些实施例中,处理器101是任何合适的处理器,诸如图4的SoC 2401或处理器2404。在一些实施例中,存储器102是任何合适的存储器,诸如图4的存储设备2428或存储器2430。在一些实施例中,处理器101经由图4的存储器接口2434耦合到存储器102。结构103是将处理器101和/或存储器102与USB子***的其余部分相耦合的互连网络。结构103提供低等待时间和高速互连,以将USB子***的控制器与处理器101和/或存储器102相耦合。这些控制器包括主机DMA 105、110;PCI 106a、106b、111a、111b、xHCI 108、xDCI 109和PMA 107。雷电接口开关112和113实现隧道协议,该协议采用PCI、USB(仅xHCI,而非xDCI)和显示(仅DP,而非HDMI)协议,并在雷电接口链路上对它们进行时间复用。
在一些实施例中,显示引擎104是图形引擎的一部分。显示引擎104可以在图形处理器或处理器101外部,并且经由环形互连或任何合适的结构耦合到图形处理器。显示引擎104包括2D引擎和显示控制器。在一些实施例中,显示引擎104包含能够独立于3D流水线而操作的专用逻辑。在一些实施例中,显示控制器经由C型PHY与显示设备(未示出)耦合,其可以是***集成的显示设备(如在膝上型计算机中),或者经由显示设备连接器(例如,USB C型连接器)连接的外部显示设备。
复用器114和115为C型PHY 116-119提供各种控制器输出的访问。在一些实施例中,复用器114和115由PMA 107(也称为IO管理器(IOM))控制。PMA 107控制C型子***流。这里的实施例着重于PMA 107的与功率管理相关的流。在各种实施例中,PMA 107包括硬件(HW)状态机、逻辑块和微控制器。PMA 107还可由诸如驱动器(例如,图4的2454)、BIOS和/或操作***(例如,图4的OS 2452)之类的软件来控制。PMA 107允许USB子***在各种功率状态下工作,诸如由PCI总线功率管理接口(PCI)规范和/或高级配置和电源接口规范(ACPI)定义的D1、D2、D3和D3COLD。设备功率状态D1、D2、D3和D3COLD是设备低功率状态。
设备功率状态D1是功率最高的设备低功率状态。这里,设备指的是USB C型子***。在D1状态下,功耗小于D0状态,但大于或等于D2状态。D0状态是活动设备状态。D1功率状态是时钟门控(clock-gated)状态。在D1功率状态下,设备只接收到足够保留设备的硬件上下文的功率。在D1状态下,设备上下文由硬件保留,可能无法由驱动器恢复。在D1状态下,驱动器保存并恢复或重新初始化硬件丢失的任何上下文。因此,设备通常使用D1状态,因为从该状态恢复可能不需要驱动器来恢复设备的完整硬件上下文。
设备功率状态D2是D1和D3功率状态之间的中间设备低功率状态。一般来说,处于D2状态的器件的功耗小于或等于D1状态的功耗。在D2状态下,硬件通常会丢失设备上下文。通常,D2状态保留用于发出唤醒事件信号的上下文部分。在D2状态下,设备驱动器保存并恢复或重新初始化硬件丢失的任何上下文。典型的设备在进入D2时会丢失大部分上下文。将设备从D2状态恢复到D0状态所需的时间至少与将设备从D1状态恢复到D0状态的时间相同。在一个示例中,具有大帧缓冲器的图形适配器是在从D2转换到D0之后有大量硬件上下文要恢复的设备。对于这样的设备,从D2恢复的时间可能远大于从D1恢复的时间。
D3状态是功率最低的设备低功率状态。所有设备都必须支持此状态。从微软的Windows 8开始,操作***将D3分成两个单独的和不同的子状态,D3HOT和D3COLD。早期版本的Windows定义了D3状态,但没有定义D3HOT和D3COLD子状态。然而,所有版本的PCI总线功率管理接口(PCI)规范定义了单独的D3HOT和D3COLD子状态,以及版本4及后来的高级配置和电源接口规范(ACPI)定义了D3HOT和D3COLD子状态。
在D3COLD状态下,设备和整个***的电源都被完全切断。在D3COLD状态下,设备驱动器负责恢复设备上下文。驱动器保留并然后恢复设备上下文(例如,通常来自最近的工作配置)或在转换到D0状态时重新初始化设备。在D3COLD状态下,设备能够触发唤醒信号来唤醒休眠的计算机。封装C0/***S0状态中的软件感知和管理低功率状态D3COLD允许子***PMA 107断电所有USB C型IP并将功率恢复到SoC预算。D3COLD是这样的状态,在这种状态下,所有C型控制器由其在操作***中运行的驱动器置于PCIe规范定义的D3COLD状态,从而放弃对IP的任何进一步访问。在一些实施例中,BIOS就软件D3COLD状态与PMA 107进行通信,使得PMA 107可以执行硬件动作并关闭向C型控制器(例如105-111)和PHY 116-119供电。
一些实施例在PMA 107中实现基于硬件的唤醒检测,并提供SoC固件支持以用于对PHY 116-119服务固定显示端口(DP)和高清多媒体接口(HDMI)端口热插拔事件,其允许USBC型子***在固定显示器没有流媒体时进入断电状态(例如,D3COLD状态)。在接收到响应于热插拔检测而针对固定显示流的显示软件发起的唤醒时,SoC USB C型固件触发退出低功率状态流,以上电USB C型子***以处理显示业务。SoC USB C型固件能够在(一个或多个)固定显示器没有流媒体时自动重新进入低功率状态。
各种实施例允许USB C型子***独立于封装低功率状态而自动进入和退出D3COLD状态,从而显著地节省处理器***的功率。在一些实施例中,PMA 107IP在该D3COLD中保持通电。虽然参考D3COLD低功率状态来描述实施例,但是实施例提供了一种适用于USB C型子***所需的任何低功率状态的方案(硬件和软件)。
在一些实施例中,由于与USB C型PHY的显示连接,因此在固定DP/HDMI端口上的热插拔检测唤醒事件时断言辅助功率请求信号(这里称为auxpwrreq)。热插拔检测唤醒事件导致中断显示驱动器的中断,从而导致从显示引擎104(或显示IP)到C型子***断言auxpwrreq接口信号。此中断目的在于启用PHY(例如,116-119)中的辅助信道,用于通过监视器发送/接收DP协议辅助命令。在一些实施例中,沿检测硬件逻辑被添加到PMA 107中的现有auxpwrreq状态信号。这允许检测固定显示器/HDMI端口(例如,116-119)上的热插拔检测活动。
在一些实施例中,提供显示驱动器(例如,软件)以在显示连接流期间启用auxpwrreq。对于通过再利用C型PHYs 116-119创建的静态/固定DP和HDMI端口,驱动器在连接流期间启用auxpwrreq,其在处理断开事件之前不会被禁用。在接收到auxpwrreq之后,驱动器在PHY中轮询内部状态寄存器,以确保它在启动AUX业务之前已经完全初始化。
在一些实施例中,auxpwrreq断言检测逻辑(例如,硬件)被添加到PMA 107以触发微控制器来处理事件。在微控制器上运行的固件将USB-C子***从D3COLD状态变为能够处理固定显示请求并允许连接的监视器亮起的状态。D3COLD退出流由USB-C PMA固件和硬件驱动,以使USB-C子***返回到完全开启状态(D0状态)。在一些实施例中,如果通过软件(例如,BIOS)启用D3COLD特征,则当未使用固定/静态端口时,USB-C子***在SoC处于活动状态(例如PkgC 0+D0状态)时适时地尝试重新进入D3COLD低功率状态以降低功率。
图2示出根据一些实施例的用于识别何时未附接固定端口显示器以及何时固定端口连接的显示器为空闲的硬件逻辑200。硬件逻辑200描述了三个不同的功率域中的逻辑和电路:VCCSA、VCCTPC和PMAPVCCIOG。这些只是片上***内不同的功率域。在一些实施例中,PMAPVCCIOG是始终开启(ON)功率域,这意味着尽管在各种省电模式期间其他功率域可能被切断,但是PMAPVCCIOG的电源保持开启。在各种实施例中,可以在处理器101处于状态C0时关闭VCCTPC功率域。
在一些实施例中,当PHY 116-119中的任何一个连接到显示器时,显示引擎104生成辅助功率请求信号(auxpwrreq)。辅助功率请求信号向USB子***指示显示器需要功率,以及子***必须处于活动状态以服务此请求(或中断)。如本文所讨论的,示出了分别对应于auxpwrreq[0]-[3]信号的四个PHY 116-119。对于其他编号的PHY,相应的auxpwrreq信号的编号被修改。信号auxpwrreq[i](其中“i”是数字)在固定DP/HDMI端口上由于到一个或多个PHY 116-119的显示连接而发生热插拔检测唤醒事件时被断言。热插拔检测唤醒事件导致中断(auxpwrreq),其中断显示驱动器,导致从显示引擎104(或显示IP)到C型子***断言auxpwrreq接口信号。此中断的目的是启用PHY(例如,116-119)中的辅助信道,用于通过监视器发送/接收DP协议辅助命令。
在一些实施例中,auxpwrreq[0]-[3]信号由功率良好信号门控。功率良好信号确保auxpwrreq[0]-[3]信号的假触发不被服务。如果VCCSA功率水平(例如,电压电平)高于阈值(例如,超过其目标水平的70%),则Vccsa_pwrgood(功率良好信号)被断言,从而启用AND门201。本领域技术人员应当理解,AND门可以用NAND、NOR门或复用器代替。AND门201的输出由PMA 107的硬件逻辑、以及复用器114和115接收。
在一些实施例中,PMA 107的硬件逻辑包括上升沿检测逻辑202、中断掩蔽寄存器203、AND门204、用于存储辅助功率请求事件的寄存器205、OR门206和微控制器中断逻辑207。在一些实施例中,上升沿检测逻辑202监视AND门201的输出,其确定是否断言任何auxpwrreq信号。在一些实施例中,上升沿检测逻辑202包括四个寄存器,分别用于存储每个auxpwrreq信号的监视结果。寄存器值“1”表示检测到auxpwrreq信号断言。然而,断言的逻辑值可以被反转,并且其他逻辑可以被修改以处理反转的逻辑值以实现相同的功能。
在一些实施例中,中断掩蔽逻辑203可用于掩蔽沿检测逻辑202的寄存器的输出。因此,如果需要的话,中断掩蔽逻辑203提供防止在auxpwrreq断言上唤醒SOC的灵活性。中断掩蔽逻辑203还为PMA 107提供了允许或禁止基于端口(固定DP与弹性C型端口)的引导时间OEM(原始设备制造商)配置的事件检测的灵活性。例如,对于弹性C型端口,PMA 107可能不希望从显示连接接收这些事件,因为PMA 107可能具有从平台控制器集线器(PCH)直接了解新连接的不同方法。这里,AND门204接收中断掩蔽逻辑203的寄存器的输出,并且当到AND门的输入的位为“0”时掩蔽AND门204的输出。本领域技术人员可以将AND逻辑门204修改为NAND门、NOR门或复用器,并相应地修改掩蔽逻辑203以掩蔽NAND门、NOR门或复用器的输出。
AND门204的输出存储在寄存器205中。如果寄存器205中的任何一个是指示掩蔽值或上升沿检测信号的逻辑“1”,则OR门206触发微控制器207来处理该事件。在一些实施例中,在微控制器207上运行的固件使USB-C子***从D3COLD状态变为USB-C子***能够处理固定显示请求并允许连接的监视器亮起的状态。如本文所讨论的,PHY 116-119中任何一个上的连接监视器引起断言相应的auxpwrreq,这最终导致微控制器207退出D3COLD功率状态。D3COLD退出流由USB-C PMA固件和硬件驱动,以使USB-C子***恢复到完全开启D0状态。在一些实施例中,如果通过软件(例如,BIOS)启用D3COLD特征,则当没有使用固定/静态端口时,USB-C子***在SoC处于活动状态(例如,PkgC 0+D0状态)时适时地尝试重新进入D3COLD状态以降低功率。
图3示出了根据一些实施例的USB C型子***功率管理流300。在传统的USB C型子***中,当设备连接到C型PHY端口时,未实现D3COLD功率状态。因此,即使当PHY未附接显示器时也会对计算机***征收电费,因为在传统的USB C型子***中无法进入和退出D3COLD。各种实施例允许当没有附接到USB C型PHY的固定端口显示器或者当固定端口连接的显示器空闲时,USB-C子***被完全关闭,从而减少功耗。虽然参***低功率状态的D3COLD状态来说明各种实施例,但是实施例不限于该功率状态。允许USB C型子***降低功耗的其它低功率状态可以与各种实施例的硬件和软件一起使用。
这里,y轴是时间,x轴表示各种分量。虽然指示功率管理流的箭头以特定顺序示出,但该顺序可以修改。例如,一些处理可以并行执行。一些所描述操作由硬件执行,并且一些由软件来执行。软件可以在微控制器207、处理器101、或诸如图4的控制集线器2432的任何合适的逻辑上执行。
回到图3,当用户301在固定DP/HDMI端口(例如,再利用USB C型PHY 116-119中的一个)上连接监视器时,平台控制器集线器(PCH)302检测到热插拔检测事件并将该事件通知显示引擎104。然后,显示引擎104然而生成对设备驱动器303的中断,以处理新的连接事件。显示驱动器303处理热插拔检测事件并为用户301连接监视器的C型PHY启用辅助电源(经由auxpwrreq信号)。显示引擎104断言对应于C型PHY(例如,116-119中的一个)的auxpwrreq信号位(auxpwrreq[i])。如参考图3所述,将(一个或多个)auxpwrreq信号提供给PMA硬件304/107。(一个或多个)将auxpwrreq信号提供给复用器114/115,并且最后提供给连接到监视器的C型PHY。PMA 107的上升沿检测硬件202检测auxpwrreq信号位(auxpwrreq[i]),并触发中断以供PMA固件305/107处理。根据一些实施例,固件在微控制器207上执行。PMA固件305/107处理来自auxpwrreq信号位(auxpwrreq[i])的断言的中断,其指示到C型PHY 116-119中的一个的新设备连接。如果当前功率状态为低功耗D3COLD状态,则固件305/107启动退出到D0状态(活动状态)。因此,唤醒信号由固件305/107发送到连接到监视器的C型PHY(例如,116-119中的一个)。唤醒信号使得auxpwrreq信号位(auxpwrreq[i])被断言。
因此,显示驱动器303发出显示辅助(AUX)命令并进行显示链路训练。固件305/107对D3COLD退出进行排序,使子***进入通电状态,包括USB-C PHY和唤醒(一个或多个)USB-C控制器以服务auxpwrreq。使USB-C子***能够自动进入和退出D3COLD状态的基础设施可以显著节省功率,从而在SoC处于活动状态或PkgC0状态时改善电池寿命和处理器性能。
在一些实施例中,各种USB子***组件之间的交互在没有任何高级SoC功率管理块或软件交互的情况下发生。例如,PMA 107的微控制器207上的本地驱动器在不知道SoC的功率控制单元(PCU)的情况下执行功率管理。
图4示出了根据各种实施例的具有USB C型子***功率管理的智能设备或计算机***或SoC(片上***)。应指出,图4的具有与任何其他图的元素相同的参考标号(或名称)的那些元素可以以与所描述的类似的任何方式操作或起作用,但不限于此。。
在一些实施例中,设备2400表示适当的计算设备,诸如计算平板电脑、移动电话或智能电话、笔记本电脑、台式机、物联网(IOT)设备、服务器、可穿戴设备、机顶盒、支持无线的电子阅读器等。应当理解,总体示出了特定组件,而不是设备2400中示出了这种设备的所有组件。
在一个示例中,设备2400包括SoC(片上***)2401。在图4中使用虚线示出了SOC2401的示例边界,其中一些示例组件被示出包括在SOC 2401内–然而,SOC 2401可以包括设备2400的任何适当组件。
在一些实施例中,设备2400包括处理器2404。处理器2404可以包括一个或多个物理设备,诸如微处理器、应用处理器、微控制器、可编程逻辑器件、处理核或其他处理装置。由处理器2404执行的处理操作包括在其上执行应用和/或设备功能的操作平台或操作***的执行。处理操作包括与人类用户或其他设备的I/O(输入/输出)相关的操作、与功率管理相关的操作、与将计算设备2400连接到另一设备相关的操作等。处理操作还可以包括与音频I/O和/或显示I/O相关的操作。
在一些实施例中,处理器2404包括多个处理核(也称为核)2408a、2408b、2408c。尽管图4中仅示出三个核2408a、2408b、2408c,但是处理器2404可以包括任何其他适当数量的处理核,例如,数十个或甚至数百个处理核。可以在单个集成电路(IC)芯片上实现处理器核2408a、2408b、2408c。此外,芯片可以包括一个或多个共享和/或私有缓存、总线或互连、图形和/或存储器控制器、或其他组件。
在一些实施例中,处理器2404包括缓存2406。在一个示例中,缓存2406的部分可以专用于单个核2408(例如,缓存2406的第一部分专用于核2408a,缓存2406的第二部分专用于核2408b,以此类推)。在一个示例中,缓存2406的一个或多个部分可以在两个或多个核2408之间共享。缓存2406可以分为不同的级别,例如,级别1(L1)缓存、级别2(L2)缓存、级别3(L3)缓存等。
在一些实施例中,处理器核2404可以包括获取单元,以获取用于由核2404执行的指令(包括具有条件分支的指令)。可以从诸如存储器2430之类的任何存储设备获取指令。处理器核2404还可以包括解码单元,以解码所获取的指令。例如,解码单元可以将所获取的指令解码为多个微操作。处理器核2404可以包括调度单元,以执行与存储经解码的指令相关联的各种操作。例如,调度单元可以保存来自解码单元的数据,直到指令准备好分派为止,例如,直到经解码的指令的所有源值变得可用为止。在一个实施例中,调度单元可以将经解码的指令调度和/或发出(或分派)到执行单元以供执行。
执行单元可以在所分派的指令被解码(例如,由解码单元)和分派(例如,由调度单元)之后执行这些所分派的指令。在一个实施例中,执行单元可以包括一个以上的执行单元(诸如成像计算单元、图形计算单元、通用计算单元等)。执行单元还可以执行各种算术运算,诸如加法、减法、乘法和/或除法,并且可以包括一个或多个算术逻辑单元(ALU)。在一个实施例中,协同处理器(未示出)可以与执行单元一起执行各种算术运算。
进一步地,执行单元可以执行无序的指令。因此,在一个实施例中,处理器核2404可以是无序处理器核。处理器核2404还可以包括引退单元(retirement unit)。引退单元可以在指令被执行后将其引退。在一个实施例中,经执行的指令的引退可以使得从指令的执行提交处理器状态、由指令所使用的物理寄存器被去分派等。处理器核2404还可以包括总线单元,以使处理器核2404的组件与其他组件之间能够经由一条或多条总线进行通信。处理器核2404还可以包括一个或多个寄存器,以存储由核2404的各个组件访问的数据(诸如与分配的应用优先级和/或子***状态(模式)关联相关的值)。
在一些实施例中,设备2400包括连接电路2431。例如,连接电路2431包括硬件设备(例如,无线和/或有线连接器和通信硬件)和/或软件组件(例如,驱动器、协议栈),例如,以使设备2400能够与外部设备进行通信。设备2400可以与诸如其他计算设备、无线接入点或基站等的外部设备分离。
在一个示例中,连接电路2431可以包括多个不同类型的连接性。概括地说,连接电路2431可以包括蜂窝连接电路、无线连接电路等。连接电路2431的蜂窝连接电路通常是指由无线运营商提供的蜂窝网络连接,诸如经由GSM(全球移动通信***)或变体或衍生物、CDMA(码分多址)或变体或衍生物、TDM(时分复用)或变体或衍生物、第三代合作伙伴项目(3GPP)通用移动通信***(UMTS)***或变体或衍生物、3GPP长期演进(LTE)***或变体或衍生物、3GPP高级LTE(LTE-A)***或变体或衍生物、第五代(5G)无线***或变体或衍生物、5G移动网络***或变体或衍生物、5G新无线电(NR)***或变体或衍生物、或其他蜂窝服务标准来提供。连接电路2431的无线连接电路(或无线接口)是指非蜂窝的无线连接性,并且可以包括个域网(诸如蓝牙、近场等)、局域网(诸如Wi-Fi)和/或广域网(诸如WiMax)和/或其他无线通信。在一个示例中,连接电路2431可以包括网络接口,诸如有线或无线接口,例如使得***实施例可以被并入无线设备(例如,蜂窝电话或个人数字助理)中。
在一些实施例中,设备2400包括控制集线器2432,其表示与一个或多个I/O设备的交互相关的硬件设备和/或软件组件。例如,处理器2404可以经由控制集线器2432与显示器2422、一个或多个***设备2424、存储设备2428、一个或多个其他外部设备2429等中的一者或多者进行通信。控制集线器2432可以是芯片组、平台控制集线器(PCH)等。
例如,控制集线器2432示出了用于连接到设备2400的附加设备的一个或多个连接点,例如,用户可以通过这些连接点与***进行交互。例如,可以附接到设备2400的设备(例如,设备2429)包括麦克风设备、扬声器或立体声***、音频设备、视频***或其他显示设备、键盘或键盘设备、或用于诸如读卡器或其他设备之类的特定应用的其他I/O设备。
如上所述,控制集线器2432可以与音频设备、显示器2422等进行交互。例如,通过麦克风或其他音频设备的输入可以为设备2400的一个或多个应用或功能提供输入或命令。另外,替代显示输出或者在除了显示输出之外,可以提供音频输出。在另一示例中,如果显示器2422包括触摸屏,则显示器2422还充当输入设备,其至少可以部分地由控制集线器2432管理。在计算设备2400上还可以存在附加的按钮或开关,以提供通过控制集线器2432管理的I/O功能。在一个实施例中,控制集线器2432管理诸如加速计、相机、光传感器或其他环境传感器之类的设备,或者可以包括在设备2400中的其他硬件。输入可以是直接用户交互的一部分,并为***提供环境输入以影响其操作(诸如过滤噪声、调整显示器以进行亮度检测、为相机应用闪光灯或其他特征)。
在一些实施例中,控制集线器2432可以使用任何适当的通信协议耦合到各种设备,例如,PCIe(***组件互连快速)、USB(通用串行总线)、雷电接口(Thunderbolt)、高清多媒体接口(HDMI)、火线(Firewire)等。
在一些实施例中,控制集线器2432提供基于硬件的唤醒检测和SoC固件/软件支持,如参考图1-3所述,用于服务固定显示端口(DP)和高清多媒体接口(HDMI)端口热插拔事件,其允许通用串行总线(USB)C型子***在固定显示器没有流媒体时进入断电状态(例如,D3COLD状态)。在接收到响应于热插拔检测而针对固定显示流的显示软件发起的唤醒时,SoC USB C型固件触发退出低功率状态流,以上电USB C型子***以处理显示业务。SoC USBC型固件能够在(一个或多个)固定显示器没有流媒体时自动重新进入低功率状态(例如,D3COLD状态)。
在一些实施例中,显示器2422表示硬件(例如,显示设备)和软件(例如,驱动器)组件,其为用户提供视觉和/或触觉显示以与设备2400进行交互。显示器2422可以包括显示接口、显示屏、和/或用于向用户提供显示的硬件设备。在一些实施例中,显示器2422可以包括提供到用户的输出和输入两者的触摸屏(或触摸板)设备。在一个示例中,显示器2422可以直接与处理器2404通信。显示器2422可以是(如在移动电子设备或膝上型计算机设备中的)内部显示设备或经由显示接口(例如显示端口(DisplayPort)等)附接的外部显示设备中的一者或多者。在一个实施例中,显示器2422可以是头戴式显示器(HMD),诸如用于虚拟现实(VR)应用或增强现实(AR)应用的立体显示设备。
在一些实施例中,尽管图中未示出,但是除了(或代替)处理器2404,设备2400还可以包括包含一个或多个图形处理核的图形处理单元(GPU),其可以控制在显示器2422上显示内容的一个或多个方面。
控制集线器2432(或平台控制器集线器)可以包括硬件接口和连接器,以及软件组件(例如,驱动器、协议栈),以进行例如到***设备2424的***连接。
将理解,设备2400既可以是到其他计算设备的***设备,也可以具有连接到它的***设备。设备2400可以具有“对接(docking)”连接器以连接到其他计算设备,用于诸如管理(例如,下载和/或上载、更改、同步)设备2400上的内容。另外,对接连接器可以允许设备2400连接到允许计算设备2400控制内容输出(例如,到视听或其他***)的某些***设备。
除了专用对接连接器或其他专用连接硬件外,设备2400还可以经由通用或基于标准的连接器进行***连接。通用类型可以包括通用串行总线(USB)连接器(可以包括许多不同硬件接口中的任何一个)、显示端口(包括迷你显示端口(MiniDisplayPort,MDP)、高清多媒体接口(HDMI)、火线或其他类型。
在一些实施例中,例如除了直接耦合到处理器2404之外或者代替直接耦合到处理器2404,连接电路2431可以耦合到控制集线器2432。在一些实施例中,例如除了直接耦合到处理器2404之外或者代替直接耦合到处理器2404,显示器2422可以耦合到控制集线器2432。
在一些实施例中,设备2400包括经由存储器接口2434耦合到处理器2404的存储器2430。存储器2430包括用于在设备2400中存储信息的存储器设备。
在一些实施例中,存储器2430包括用于维持稳定时钟的装置,如参考各种实施例所述。存储器可以包括非易失性(如果存储器设备的电源中断,则状态不会改变)和/或易失性(如果存储器设备的电源中断,则状态是不确定的)存储器设备。存储器设备2430可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存设备、相变存储器设备、或具有适当性能以用作处理存储器的其他存储器设备。在一个实施例中,存储器2430可以用作设备2400的***存储器,以存储数据和指令以用于在一个或多个处理器2404执行应用程序或处理时使用。存储器2430可以存储应用程序数据、用户数据、音乐、照片、文档或其他数据,以及与设备2400执行应用程序和功能相关的***数据(无论是长期的还是临时的)。
各种实施例和示例的元件还被提供为机器可读介质(例如,存储器2430),用于存储计算机可执行指令(例如,用于实现本文讨论的任何其他处理的指令)。机器可读介质(例如,存储器2430)可以包括但不限于闪存、光盘、CD-ROM、DVD ROM、RAM、EPROM、EEPROM、磁卡或光卡、相变存储器(PCM)、或适合存储电子或计算机可执行指令的其他类型的机器可读介质。例如,本公开的实施例可以作为计算机程序(例如,BIOS)而被下载,该计算机程序可以经由通信链路(例如,调制解调器或网络连接)以数据信号的方式从远程计算机(例如,服务器)传送到请求计算机(例如,客户端)。
在一些实施例中,设备2400包括温度测量电路2440,例如,用于测量设备2400的各种组件的温度。在一个示例中,温度测量电路2440可以被嵌入、耦合或附接到要测量和监测其温度的各种组件。例如,温度测量电路2440可以测量核2408a、2408b、2408c、稳压器2414、存储器2430、SOC 2401的主板、和/或设备2400的任何适当组件中的一者或多者的温度(或内部温度)。
在一些实施例中,设备2400包括功率测量电路2442,例如,用于测量由设备2400的一个或多个组件消耗的功率。在一个示例中,除了测量功率之外或者代替测量功率,功率测量电路2442还可以测量电压和/或电流。在一个实例中,功率测量电路2442可以被嵌入、耦合或附接到要测量和监测其功率、电压和/或电流的各种组件。例如,功率测量电路2442可以测量由一个或多个稳压器2414供应的功率、电流和/或电压、供应给SOC 2401的功率、供应给设备2400的功率、由设备2400的处理器2404(或任何其他组件)消耗的功率等。
在一些实施例中,设备2400包括一个或多个稳压器电路,通常称为稳压器(VR)2414。VR 2414以适当的电压电平生成信号,这些信号可以被供应以操作设备2400的任何适当组件。仅作为示例,VR 2414被示为向设备2400的处理器2404供应信号。在一些实施例中,VR 2414接收一个或多个电压识别(VID)信号,并基于VID信号生成适当电平的电压信号。各种类型的VR可以用于VR 2414。例如,VR 2414可以包括“降压”VR、“升压”VR、降压和升压VR的组合、低压差(LDO)调节器、开关DC-DC调节器、基于恒定导通时间控制器的DC-DC调节器等。降压VR通常用于需要将输入电压以比单位更小的比率转换为输出电压的功率输送应用中。升压VR通常用于需要将输入电压以比单位更大的比率转换为输出电压的功率输送应用中。在一些实施例中,每个处理器核都具有其自己的VR,其由PCU 2410a/b和/或PMIC 2412控制。在一些实施例中,每个核都具有分布式LDO的网络,以提供对功率管理的有效控制。LDO可以是数字的、模拟的、或数字或模拟LDO的组合。在一些实施例中,VR 2414包括用于对通过(一个或多个)电源轨的电流进行测量的电流跟踪装置。
在一些实施例中,设备2400包括一个或多个时钟生成器电路,通常称为时钟生成器2416。时钟生成器2416以适当的频率水平生成时钟信号,其可被供应给设备2400的任何适当组件。仅作为示例,时钟生成器2416被示为向设备2400的处理器2404供应时钟信号。在一些实施例中,时钟生成器2416接收一个或多个频率识别(FID)信号,并基于FID信号以适当的频率生成时钟信号。
在一些实施例中,设备2400包括向设备2400的各种组件供电的电池2418。仅作为示例,电池2418被示为向处理器2404供电。尽管图中未示出,但是设备2400可以包括充电电路,例如,基于从AC适配器接收的交流电(AC)电源对电池再充电。
在一些实施例中,设备2400包括功率控制单元(PCU)2410(也称为功率管理单元(PMU)、功率控制器等)。在一个实例中,PCU 2410的一些部分可以由一个或多个处理核2408实现,并且PCU 2410的这些部分使用虚线框象征性地示出并被标记为PCU 2410a。在一个示例中,PCU 2410的一些其他部分可以在处理核2408之外实现,并且PCU 2410的这些部分使用虚线框象征性地示出并被标记为PCU 2410b。PCU 2410可以实现设备2400的各种功率管理操作。PCU 2410可以包括硬件接口、硬件电路、连接器、寄存器等、以及软件组件(例如,驱动器、协议栈),以实现设备2400的各种功率管理操作。
在一些实施例中,设备2400包括功率管理集成电路(PMIC)2412,例如,以实现设备2400的各种功率管理操作。在一些实施例中,PMIC 2412是可重构功率管理IC(RPMIC)和/或IMVP(
Figure BDA0002808341720000201
移动电压定位)。在一个示例中,PMIC位于独立于处理器2404的IC芯片内。可以实现设备2400的各种功率管理操作。PMIC 2412可以包括硬件接口、硬件电路、连接器、寄存器等,以及软件组件(例如,驱动器、协议栈),以实现设备2400的各种功率管理操作。
在一个实例中,设备2400包括PCU 2410或PMIC 2412中的一者或两者。在一个实例中,PCU 2410或PMIC 2412中的任一者在设备2400中可能不存在,并且因此,使用虚线示出这些组件。
设备2400的各种功率管理操作可以由PCU 2410、PMIC 2412、或PCU 2410和PMIC2412的组合来执行。例如,PCU 2410和/或PMIC 2412可以为设备2400的各种组件选择功率状态(例如,P状态)。例如,PCU 2410和/或PMIC 2412可以为设备2400的各种组件选择功率状态(例如,根据ACPI(高级配置和电源接口)规范)。仅作为示例,PCU 2410和/或PMIC 2412可以使设备2400的各种组件转换到睡眠状态、活动状态、适当的C状态(例如,C0状态或另一适当C状态,根据ACPI规范)等。在一个示例中,PCU 2410和/或PMIC 2412可以控制由VR2414输出的电压和/或由时钟生成器输出的时钟信号的频率,例如,通过分别输出VID信号和/或FID信号。在一个示例中,PCU 2410和/或PMIC 2412可以控制电池功率使用、电池2418的电荷、以及与节电操作相关的特征。
时钟生成器2416可以包括锁相回路(PLL)、锁频回路(FLL)或任何合适的时钟源。在一些实施例中,处理器2404的每个核都具有其自己的时钟源。因此,每个核都可以在不依赖其他核的操作频率的频率下操作。在一些实施例中,PCU 2410和/或PMIC 2412执行自适应或动态频率缩放或调整。例如,如果处理器核没有在其最大功耗阈值或限制下操作,则可以增加处理器核的时钟频率。在一些实施例中,PCU 2410和/或PMIC 2412确定处理器的每个核的操作条件,并且当PCU 2410和/或PMIC 2412确定核在低于目标性能水平而操作时,适时地调整该核的频率和/或电源电压而不使核时钟源(例如,该核的PLL)失锁。例如,如果核从电源轨吸取的电流小于分配给该核或处理器2404的总电流,则PCU 2410和/或PMIC2412可以暂时性地增加该核或处理器2404的功率吸取(例如,通过增加时钟频率和/或电源电压电平),使得核或处理器2404能够在更高的性能水平执行。这样,可以在不损害产品可靠性的情况下暂时性地增加处理器2404的电压和/或频率。
在一个示例中,PCU 2410和/或PMIC 2412可以执行功率管理操作,例如,至少部分地基于接收来自功率测量电路2442、温度测量电路2440的测量、电池2418的电荷水平、和/或可以用于功率管理的任何其他适当信息。为此,PMIC 2412可通信地耦合到一个或多个传感器以感测/检测对***/平台的功率/热行为有影响的一个或多个因素中的各种值/变化。该一个或多个因素的示例包括电流、电压降、温度、操作频率、操作电压、功耗、核间通信活动等。这些传感器中的一个或多个可以与计算***的一个或多个组件或逻辑/IP块物理接近(和/或热接触/耦合)。另外,在至少一个实施例中,(一个或多个)传感器可以直接耦合到PCU 2410和/或PMIC 2412,以允许PCU 2410和/或PMIC 2412至少部分地基于由一个或多个传感器检测的(一个或多个)值来管理处理器核能量。
还示出了设备2400的示例软件堆栈(但并未示出软件堆栈的所有元素)。仅作为示例,处理器2404可以执行应用程序2450、操作***2452、一个或多个功率管理(PM)特定应用程序(例如,通常称为PM应用2458)等。PM应用2458还可以由PCU 2410和/或PMIC 2412执行。OS 2452还可以包括一个或多个PM应用2456a、2456b、2456c。OS 2452还可以包括各种驱动程序2454a、2454b、2454c等,其中一些驱动程序可专门用于功率管理目的。在一些实施例中,设备2400还可以包括基本输入/输出***(BIOS)2420。BIOS 2420可以与OS 2452通信(例如,经由一个或多个驱动器2454)、与处理器2404通信等。
例如,PM应用2458、2456、驱动器2454、BIOS 2420等中的一个或多个可以用于实现功率管理特定任务,例如,控制设备2400的各种组件的电压和/或频率,控制设备2400的各种组件的唤醒状态、睡眠状态和/或任何其他适当的功率状态,控制电池2418的电池功率使用、电荷,与节电操作相关的特征等。
说明书中对“实施例”、“一个实施例”、“一些实施例”或“其他实施例”的引用意味着结合这些实施例描述的特定特征、结构或特性至少包括在一些实施例中,但不一定包括在所有实施例中。“实施例”、“一个实施例”或“一些实施例”的各种出现不一定都指相同的实施例。如果说明书陈述“可以”、“可能”或“可”包括组件、特征、结构或特性,则不需要包括该特定组件、特征、结构或特性。如果说明书或权利要求提及“一”或“一个”元件,这并不意味着只有一个元件。如果说明书或权利要求提及“附加”元件,则不排除存在一个以上的附加元件。
此外,特定特征、结构、功能或特性可以在一个或多个实施例中以任何合适的方式组合。例如,可以在与第一实施例和第二实施例相关联的特定特征、结构、功能或特性不相互排斥的任何情况下组合第一实施例与第二实施例。
虽然已经结合其具体实施例描述了本公开,但是根据前述描述,对于本领域的普通技术人员来说,这些实施例的许多替代方案、修改和变化将是显而易见的。本公开的实施例旨在包含落入所附权利要求的广泛范围内的所有此类替代、修改和变化。
此外,为了简化说明和讨论并且为了不模糊本公开,在所示附图中可能示出也可能未示出到集成电路(IC)芯片和其他组件的众所周知的电源/接地连接。此外,可以以框图形式示出布置以避免模糊本公开,并且还考虑到关于此类框图布置的实施方式的细节高度依赖于将在其中实施本发明的平台(即,这些细节应该在本领域技术人员的视界范围内)。在为了描述本公开的示例性实施例而阐述具体细节(例如,电路)的情况下,对于本领域技术人员来说显而易见的是,本公开可以在没有这些特定细节或改变这些特定细节的情况下实践。因此,说明书被认为是说明性的而不是限制性的。
本文中描述的各种实施例被示为示例。这些示例的特征可以以任何合适的方式相互组合。这些示例包括:
示例1:一种装置,包括:显示引擎,用于响应于显示设备被耦合到端口而生成对设备驱动器的中断,其中所述设备驱动器用于发出针对所述显示设备的功率请求;以及功率管理代理,用于检测所述功率请求并退出低功率状态至活动状态。
示例2:示例1所述的装置,其中,所述端口是USB C型端口。
示例3:示例1所述的装置,包括平台控制器集线器,用于响应于所述显示设备被耦合到所述端口来检测热插拔事件。
示例4:示例3所述的装置,其中,所述平台控制器集线器将所述热插拔事件转发给所述显示引擎,其中所述显示引擎用于响应于从所述平台控制器集线器接收到所述热插拔事件而生成中断。
示例5:示例1所述的装置,其中,所述功率管理代理包括上升沿检测逻辑,用于检测对所述功率请求的断言。
示例6:示例5所述的装置,其中,所述功率管理代理包括寄存器,用于掩蔽沿检测逻辑的输出。
示例7:示例5所述的装置,其中,所述功率管理代理包括微控制器,用于服务沿检测逻辑的输出以生成唤醒信号。
示例8:示例7所述的装置,其中,所述微控制器执行软件以生成所述唤醒信号。
示例9:示例1所述的装置,其中,所述显示驱动器响应于退出所述低功率状态而训练所述显示设备的显示链路。
示例10:示例1所述的装置,其中,所述低功率状态是D3COLD状态,并且其中所述活动状态是S0状态或D0状态之一。
示例11:一种***,包括:处理器;存储器,耦合到所述处理器;结构,耦合到所述处理器和所述存储器;显示引擎,用于响应于显示设备被耦合到端口而生成对设备驱动器的中断,其中所述设备驱动器用于发出针对所述显示设备的功率请求;以及USB C型子***,耦合到所述结构,其中所述USB C型子***包括功率管理代理,用于检测所述功率请求并退出低功率状态以进入活动状态。
示例12:示例11所述的***,其中,所述端口是USB C型端口。
示例13:示例11所述的***,包括平台控制器集线器,用于响应于所述显示设备被耦合到所述端口而检测热插拔事件。
示例14:示例13所述的***,其中,所述平台控制器集线器用于所述热插拔事件转发给所述显示引擎,其中所述显示引擎用于响应于从所述平台控制器集线器接收到所述热插拔事件而生成所述中断。
示例15:示例11所述的***,其中,所述功率管理代理包括:上升沿检测逻辑,用于检测对所述功率请求的断言;寄存器,用于掩蔽沿检测逻辑的输出;以及微控制器,用于服务所述沿检测逻辑的输出以生成唤醒信号,其中所述微控制器执行软件以生成所述唤醒信号。
示例16:示例11所述的***,其中,所述显示驱动器响应于退出所述低功率状态而训练所述显示设备的显示链路。
示例17:示例11所述的***,其中,所述低功率状态是D3COLD状态,其中所述活动状态是S0状态或D0状态之一。
示例18:一种机器可读存储介质,在其上存储有机器可读指令,所述指令当被执行时使得微控制器执行方法,包括:接收功率请求信号的沿检测,其中功率请求信号由设备驱动器响应于显示设备被耦合到端口而生成;以及通过退出低功率状态至活动状态来处理所述功率请求信号。
示例19:示例18所述的机器可读存储介质,其上存储有机器可读指令,所述指令当被执行时使得所述微控制器执行方法,包括:生成唤醒信号以从所述低功率状态唤醒,其中所述唤醒信号唤醒USB C型子***。
示例20:示例18所述的机器可读存储介质,其中,所述端口是USB C型端口,其中所述低功率状态是D3COLD状态,其中所述活动状态是S0状态或D0状态之一。
提供了摘要,将使读者能够确定技术公开的性质和要点。该摘要是在理解它将不被用于限制权利要求的范围或含义的情况下提交的。权利要求在此并入具体实施方式中,并且每项权利要求单独作为一个实施例。

Claims (21)

1.一种利用功率管理的装置,所述装置包括:
显示引擎,用于响应于显示设备被耦合到端口而生成对设备驱动器的中断,其中,所述设备驱动器用于发出针对所述显示设备的功率请求;以及
功率管理代理,用于检测所述功率请求并退出低功率状态至活动状态。
2.如权利要求1所述的装置,其中,所述端口是USB C型端口。
3.如权利要求1所述的装置,包括平台控制器集线器,用于响应于所述显示设备被耦合到所述端口而检测热插拔事件。
4.如权利要求3所述的装置,其中,所述平台控制器集线器将所述热插拔事件转发给所述显示引擎,其中,所述显示引擎用于响应于从所述平台控制器集线器接收到所述热插拔事件而生成所述中断。
5.如权利要求1所述的装置,其中,所述功率管理代理包括上升沿检测逻辑,用于检测对所述功率请求的断言。
6.如权利要求5所述的装置,其中,所述功率管理代理包括寄存器,用于掩蔽所述沿检测逻辑的输出。
7.如权利要求5所述的装置,其中,所述功率管理代理包括微控制器,用于服务所述沿检测逻辑的输出以生成唤醒信号。
8.如权利要求7所述的装置,其中,所述微控制器执行软件以生成所述唤醒信号。
9.如权利要求1所述的装置,其中,所述显示驱动器响应于退出所述低功率状态而训练所述显示设备的显示链路。
10.如权利要求1至9中任一项所述的装置,其中,所述低功率状态是D3COLD状态,并且其中,所述活动状态是S0状态或D0状态之一。
11.一种***,包括:
处理器;
存储器,耦合到所述处理器;
结构,耦合到所述处理器和所述存储器;
显示引擎,用于响应于显示设备被耦合到端口而生成对设备驱动器的中断,其中,所述设备驱动器用于发出针对所述显示设备的功率请求;以及
USB C型子***,耦合到所述结构,其中,所述USB C型子***包括功率管理代理,用于检测所述功率请求并退出低功率状态以进入活动状态。
12.如权利要求11所述的***,其中,所述端口是USB C型端口。
13.如权利要求11所述的***,包括平台控制器集线器,用于响应于所述显示设备被耦合到所述端口而检测热插拔事件。
14.如权利要求13所述的***,其中,所述平台控制器集线器用于将所述热插拔事件转发给所述显示引擎,其中,所述显示引擎用于响应于从所述平台控制器集线器接收到所述热插拔事件而生成所述中断。
15.如权利要求11所述的***,其中,所述功率管理代理包括:
上升沿检测逻辑,用于检测对所述功率请求的断言;
寄存器,用于掩蔽所述沿检测逻辑的输出;以及
微控制器,用于服务所述沿检测逻辑的输出以生成唤醒信号,其中,所述微控制器执行软件以生成所述唤醒信号。
16.如权利要求11所述的***,其中,所述显示驱动器响应于退出所述低功率状态而训练所述显示设备的显示链路。
17.如权利要求11至16中任一项所述的***,其中,所述低功率状态是D3COLD状态,并且其中,所述活动状态是S0状态或D0状态之一。
18.一种用于管理功率的方法,所述方法包括:
接收对功率请求信号的沿检测,其中,所述功率请求信号由设备驱动器响应于显示设备被耦合到端口而生成;以及
通过退出低功率状态至活动状态来处理所述功率请求信号。
19.如权利要求18所述的方法,包括:
生成唤醒信号以从所述低功率状态唤醒,其中,所述唤醒信号唤醒USB C型子***。
20.如权利要求18所述的方法,其中,所述端口是USB C型端口,其中,所述低功率状态是D3COLD状态,并且其中,所述活动状态是S0状态或D0状态之一。
21.一种在其上存储有机器可读指令的机器可读存储介质,所述机器可读指令在被执行时,使微控制器执行根据权利要求18至20中任一项所述的方法。
CN202011376531.2A 2020-06-24 2020-11-30 Usb c型子***功率管理 Pending CN113835515A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/911,308 US11360543B2 (en) 2020-06-24 2020-06-24 USB Type-C subsystem power management
US16/911,308 2020-06-24

Publications (1)

Publication Number Publication Date
CN113835515A true CN113835515A (zh) 2021-12-24

Family

ID=78827236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011376531.2A Pending CN113835515A (zh) 2020-06-24 2020-11-30 Usb c型子***功率管理

Country Status (4)

Country Link
US (2) US11360543B2 (zh)
KR (1) KR20210158746A (zh)
CN (1) CN113835515A (zh)
DE (1) DE102020131690A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117075836A (zh) * 2023-10-16 2023-11-17 合肥联宝信息技术有限公司 一种显示信号的抗干扰装置、显示器及电子设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210208668A1 (en) * 2021-03-16 2021-07-08 Intel Corporation Apparatus and method to reduce standby power for systems in battery mode with a connected bus powered device
US20230031388A1 (en) * 2021-07-30 2023-02-02 Advanced Micro Devices, Inc. On-demand ip initialization within power states
US20230315658A1 (en) * 2022-04-01 2023-10-05 Intel Corporation Power supply communications via a shared channel for performance management
US11842226B2 (en) * 2022-04-04 2023-12-12 Ambiq Micro, Inc. System for generating power profile in low power processor

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7086583B2 (en) * 2004-01-20 2006-08-08 Standard Microsystems Corporation Systems and methods for power reduction in systems having removable media devices
KR100734623B1 (ko) * 2005-11-18 2007-07-03 한국전자통신연구원 디지털 방송 수신기의 소비 전력 절감장치 및 방법
JP2007193741A (ja) * 2006-01-23 2007-08-02 Toshiba Corp 情報処理装置および同装置で使用される動作制御方法
US8583836B2 (en) * 2010-02-03 2013-11-12 Stmicroelectronics, Inc. Packet-based digital display interface signal mapping to bi-directional serial interface signals
US8793408B2 (en) * 2010-12-21 2014-07-29 Nikon Corporation Electronic device and program
US9112327B2 (en) * 2011-11-30 2015-08-18 Apple Inc. Audio/video connector for an electronic device
JP5750515B2 (ja) * 2011-12-16 2015-07-22 日立マクセル株式会社 シンク機器及び電力供給方法
US9304813B2 (en) * 2012-07-18 2016-04-05 Intel Corporation CPU independent graphics scheduler for performing scheduling operations for graphics hardware
US20140208134A1 (en) * 2013-01-21 2014-07-24 Texas Instruments Incorporated Host controller interface for universal serial bus (usb) power delivery
US9215491B1 (en) * 2014-07-10 2015-12-15 Google Inc. Methods, systems, and media for controlling a bi-directional HDMI port
US9558527B2 (en) * 2014-10-24 2017-01-31 Dell Products L.P. Systems and methods for orchestrating external graphics
US9710406B2 (en) * 2014-12-15 2017-07-18 Intel Corporation Data transmission using PCIe protocol via USB port
US9619014B2 (en) * 2015-02-23 2017-04-11 Qualcomm Innovation Center, Inc. Suspend and resume timeline optimization for application processor
US10162779B2 (en) * 2015-05-11 2018-12-25 Dell Products L.P. Increasing data throughput of a universal serial bus (USB) type-C port
US10275016B2 (en) * 2015-12-21 2019-04-30 Intel Corporation Smart power adapters and related systems and methods
US10089251B2 (en) * 2016-02-19 2018-10-02 Dell Products L.P. Multi-modal active cable for performing a mode identification operation
KR102609545B1 (ko) * 2016-08-16 2023-12-05 삼성전자주식회사 파워 제어 장치, 시스템 및 방법
US11347673B2 (en) * 2017-09-30 2022-05-31 Intel Corporation Method, apparatus, system for thunderbolt-based display topology for dual graphics systems
US11043158B2 (en) * 2018-01-05 2021-06-22 Intel Corporation Video bandwidth optimization for multi-monitor systems
DE112018005895T5 (de) * 2018-01-25 2020-07-30 Intel Corporation Stromverwaltung von diskreten kommunikationsportkomponenten
KR102635443B1 (ko) * 2018-02-27 2024-02-13 삼성전자주식회사 전력을 공급하고 있는 외부 전자 장치의 연결 해제에 기반하여, 전자 장치와 연결된 다른 외부 장치로부터 전력을 수신하는 방법 및 이를 구현한 전자 장치
US11074211B2 (en) * 2018-06-12 2021-07-27 Intel Corporation Management of priority of data transmission on a bus
CN111477182B (zh) * 2019-01-23 2022-03-04 纬联电子科技(中山)有限公司 显示装置及其断电控制方法
US10795850B2 (en) * 2019-02-26 2020-10-06 Texas Instruments Incorporated Methods and apparatus to transition devices between operational states
US11614468B2 (en) * 2020-06-25 2023-03-28 Intel Corporation Oscilloscope noise floor de-embedding for high speed toggle signal measurement

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117075836A (zh) * 2023-10-16 2023-11-17 合肥联宝信息技术有限公司 一种显示信号的抗干扰装置、显示器及电子设备
CN117075836B (zh) * 2023-10-16 2024-02-23 合肥联宝信息技术有限公司 一种显示信号的抗干扰装置、显示器及电子设备

Also Published As

Publication number Publication date
US20220276693A1 (en) 2022-09-01
US11360543B2 (en) 2022-06-14
US11762450B2 (en) 2023-09-19
DE102020131690A1 (de) 2021-12-30
KR20210158746A (ko) 2021-12-31
US20210405732A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
US11762450B2 (en) USB Type-C subsystem power management
US11474589B2 (en) Power saving for type-C connectors
CN111433709A (zh) 用于低功率和低占空比设备的分层功率管理单元
US11703927B2 (en) Leakage degradation control and measurement
EP3945426B1 (en) Low latency fine grain system-on-chip throttling apparatus and method on usb type-c port
CN113809727A (zh) 驱动器辅助esd保护装置和方法
EP4155871A1 (en) Apparatus and method for achieving deterministic power saving state
EP3923120A1 (en) Fast dynamic capacitance, frequency, and/or voltage throttling apparatus and method
US11933843B2 (en) Techniques to enable integrated circuit debug across low power states
US11500444B2 (en) Intelligent prediction of processor idle time apparatus and method
US11237610B2 (en) Handling loss of power for uninterruptible power supply efficiency
CN116529694A (zh) 用于通用串行总线(usb)类型-c端口的功率管理
CN113841200A (zh) 基于抑制的存储器刷新改进电池寿命
CN113157032A (zh) 数字线性调节器钳位方法和装置
CN113625045A (zh) 用于精确测量平台功率的方法和装置
US11705750B2 (en) Power negotiation sequence to improve user experience and battery life
US20220187893A1 (en) Dynamic energy performance preference based on workloads using an adaptive algorithm
US20240047986A1 (en) Electrical decoupling power delivery resources to improve efficiency of a low power state
CN113093581A (zh) 双边沿触发mux-d扫描触发器

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