CN105745638B - 系统初始化之前的设备配置 - Google Patents

系统初始化之前的设备配置 Download PDF

Info

Publication number
CN105745638B
CN105745638B CN201380081206.5A CN201380081206A CN105745638B CN 105745638 B CN105745638 B CN 105745638B CN 201380081206 A CN201380081206 A CN 201380081206A CN 105745638 B CN105745638 B CN 105745638B
Authority
CN
China
Prior art keywords
equipment
computing system
configuration data
register
value
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
CN201380081206.5A
Other languages
English (en)
Other versions
CN105745638A (zh
Inventor
G.P.齐亚尼克
M.A.皮万卡
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN105745638A publication Critical patent/CN105745638A/zh
Application granted granted Critical
Publication of CN105745638B publication Critical patent/CN105745638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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
    • 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
    • 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

Abstract

示例公开了一种方法、系统和计算机可读介质以配置计算系统内的设备。当向设备应用备用功率时,示例处理配置数据。此外,示例基于配置数据配置设备,其中设备在计算系统的初始化之前进行配置。

Description

系统初始化之前的设备配置
背景技术
计算系统可以在计算系统初始化时配置各种电气设备。电气设备的这些配置可以关于电路、编码和硬件功能以影响计算系统的操作。
附图说明
在附图中,相同的附图标记是指相同的组件或块。以下详细描述参照附图,其中:
图1是包括功率电路以向设备递送备用功率的示例计算系统的框图,设备处理来自存储器的配置数据并且基于配置数据配置自身;
图2A是接收通过功率电路的交流(AC)功率的示例计算系统的图,功率电路递送备用功率以在向设备递送主功率之前配置设备;
图2B是包括用于设备内部的寄存器的配置数据的示例数据结构的图,数据结构包括寄存器、相关联的硬件的功能,以及以其编程对应寄存器的值;
图3是在计算系统的初始化之前处理配置数据并且基于配置数据配置设备的示例方法的流程图;
图4是将计算系统插入到AC源中以接收备用功率来相应地配置设备的示例方法的流程图;以及
图5是具有处理器以执行机器可读存储介质中的指令以用于在向设备应用主功率之前向设备应用备用功率、处理配置数据并且基于配置数据配置设备的示例计算设备的流程图。
具体实施方式
计算系统可以在基本输入输出系统(BIOS)的初始化时配置其内部组件。BIOS是限定可以通过其配置计算系统中的电气设备的接口的标准。配置可以关于编码、硬件组件和其它文档以影响计算系统功能和性能。在计算系统内部的电气设备可以以它们在计算系统的初始化(例如启动)时具有适当配置的这样的方式来设计。这些设备应当默认到正确的配置,否则计算系统可能不启动。此外,如果设备被不正确地配置,这可能导致不正确配置的电气设备之间的争用,并且可能导致启动计算系统中的等待时间,并且还可能导致损坏。例如,包括来自电气设备的电气连接的管脚可以排他性地用于输出,因而将管脚配置为输入可能使该管脚不起作用或者导致对计算系统的损坏。此外,设备的空间可能有限,因而使用附加专用管脚来加载不同的配置可能不是可行的。
为了解决这些问题,本文所公开的实现方式在计算系统的初始化之前配置计算系统内的设备。通过向设备应用备用功率,发信号通知设备获取存储器内的配置数据。设备然后可以处理该配置数据并且基于该配置数据配置自身。设备在计算系统的初始化之前进行配置。在计算系统的初始化之前配置设备减少与启动计算系统相关联的等待时间,因为设备在初始化时可能已经被配置。此外,在计算系统的初始化之前配置设备确保设备正确地配置用于启动计算系统。
在另一实现方式中,设备内部的寄存器被利用对应于配置数据的值编程。在该实现方式中,寄存器可以存储涉及硬件组件的条件的值。这提供控制和灵活性,因为硬件组件可以由设备通过利用值对寄存器进行编程来管理。例如,来自设备的每一个管脚可以通过每一个寄存器进行配置。利用不同的值对每一个寄存器进行编程使得每一个管脚能够施行不同的功能。另外,这还允许设备改变每一个管脚的功能。例如,一个管脚可以包括输入,另一管脚可以包括输出,而又一管脚可以操作为输入和输出。设备可以改变另一配置上的这些管脚的功能。
在另外的实现方式中,设备可以包括基于配置数据标识值的数据表。提供具有对设备内部的寄存器进行编程的值的数据表提供自动配置而没有用户输入。在计算系统的初始化之前基于配置数据配置设备使得能够实现跨各种设备的配置的若干变型。此外,利用来自数据表的值对特定寄存器进行编程使得设备能够使用在不同计算系统平台中,因为设备可以从表而不是从平台特定接口配置自身。另外,这使得能够实现用于使用在多个平台上的设备,如与每一个平台使用对该平台特定的设备相对的那样。另外,使用表来标识用于配置设备的值移除可以用于接收配置数据的专用约束(strapping)管脚。这还节省计算系统内的空间,因为减少来自设备的管脚数目。
总结来说,本文所公开的实现方式减少与初始化计算系统相关联的等待时间。此外,本文所公开的实现方式使得设备能够用于各种计算系统之间的多个配置。
现在参照图,图1是包括向设备108递送备用功率106的功率电路104的示例计算系统102的框图。通过应用备用功率106,设备108可以从相关联的存储器110获取配置数据112并且在模块114处处理配置数据以用于在模块116处配置设备108。设备108在计算系统102的初始化之前被配置以用于启动。在计算系统102的初始化之前配置设备108移除与初始化计算系统相关联的等待时间,因为设备在初始化时可能已经被配置。计算系统102是可以编程为实施有限操作集合并且照此可以包括除设备108和功率电路104之外的中央处理单元(CPU)的电子设备。计算系统102的实现方式包括移动设备、客户端设备、个人计算机、台式计算机、膝上型计算机、平板计算机、笔记本计算机、视频游戏控制台或能够执行各种应用并且实施操作的其它类型的电子设备。此外,尽管图1将计算系统102图示为包括功率电路104和设备108,但是实现方式不应当限于该描绘,因为这出于说明目的而进行。例如,计算系统102还可以包括母板和中央处理单元(CPU)。
功率电路104是计算系统102内部的一种类型的功率处理电路,其向设备108应用备用功率106。照此,功率电路104可以连接到外部功率源(未图示),诸如交流(AC)功率源以向设备108应用备用功率106。功率电路104可以从外部源接收功率,并且对所接收的功率进行滤波、转换和/或调节以获取备用功率106。在一个实现方式中,功率电路104还可以除向设备108递送备用功率106之外递送主功率。在另一实现方式中,功率电路104可以连接到AC功率源并且包括传输备用功率106的低电压轨道和向设备108传输主功率的高电压轨道。在该实现方式中,计算系统102可以接通(即启动),因而在高电压轨道上接收较高幅度的功率(例如主功率)。主功率初始化计算系统102以用于启动。计算系统102的初始化可以包括计算系统102的启动或上电,并且照此,可以包括CPU和操作系统上的供电以用于配置总体计算系统102。功率电路104的实现方式包括功率管理电路、转换器、整流器、功率存储设备、功率因子校正电路、电路逻辑、放大器或能够接收输入功率以获取备用功率106以用于递送至设备108的其它类型的功率电路104。
备用功率106是当计算系统102连接到外部功率源时由功率电路104应用于设备108的辅助功率。备用功率106操作为当连接计算设备时读取配置数据112的对设备108的信号。在一个实现方式中,一旦计算系统102接通(即启动),功率电路104除备用功率106之外向设备108递送主功率;然而,如果计算系统102掉电,备用功率106保持用于应用于设备108。在该实现方式中,当计算系统102从外部功率源断开时,备用功率106被移除。备用功率106的实现方式包括电流、电压和/或能够应用于设备108的其它电荷。
设备108是集成电路,其可以管理计算系统102内的至少一个硬件组件和/或至少一个特定使用,并且照此可以包括控制器(诸如I/O控制器),以用于使用在计算系统102中。除计算系统102的母板(未图示)上的CPU之外,使用设备108。在该实现方式中,CPU管理计算系统102的总体操作而设备108可以管理至少一个硬件组件和/或管理计算系统102的一个特定使用。在这方面,设备108可以操作为辅助处理器而CPU操作为主处理单元。在另一实现方式中,设备108可以包括具有由设备108可执行的机器可读指令的基于固件的设备。在该实现方式中,设备108包括基于固件的设备,诸如超级I/O、专用集成电路(ASIC),其可以针对具体目的或特定使用(而不是针对计算系统102的一般运转)而定制。除配置数据112之外,设备108可以与存储在存储器110中的固件(即机器可读指令)一起操作。当计算系统102连接到外部功率源(但尚未接通)时,应用备用功率106,因此设备108可以从存储器110读取配置数据112。设备108使用配置数据112来配置其管脚,并且编程期望的寄存器以用于初始化。一旦计算系统102接通并且接收主功率,设备108可能已经被配置并且进行操作而没有基本输入/输出接口或其它类型的接口以在初始化计算系统102时进行配置。尽管图1将设备108图示为包括存储器110和模块114-116,但是这是出于说明目的而不是限制实现方式进行的。例如,设备108还可以包括可编程寄存器和/或端口等。可编程寄存器被设备108写入有对应于配置数据112的值。写入到可编程寄存器中的值指示对应于该可编程寄存器的硬件组件的功能。设备108的实现方式包括超级I/O、集成电路、ASIC、辅助处理器、辅助控制器、嵌入式系统、芯片集、微芯片、半导体或能够接收备用功率106以用于配置的其它类型的电子组件。
存储器110是设备108内部的存储区域,其维护配置数据112。在一个实现方式中,备用功率106可以为用于设备108的存储器110赋能以检索配置数据112。在另一实现方式中,存储器110包括非易失性存储器以维护配置数据112。在另外的实现方式中,存储器110可以包括具有对应于用于使设备108对寄存器进行编程的配置数据的值的数据表。存储器110的实现方式包括非易失性存储器、易失性存储器、闪速存储器、本地存储设备、存储区域、存储器缓冲器、高速缓存、随机存取存储器(RAM)、动态RAM、电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、存储驱动器或能够维护配置数据112的其它存储区域。
配置数据112是由存储器110存储以用于配置数据108的一系列变量。以此方式,配置数据112指令设备108如何配置自身。在一个实现方式中,配置数据112可以包括约束数据以限定设备108在计算系统102内的母板上的位置。在该实现方式中,计算系统102可以包括多个母板上的多个设备,因而约束数据标识哪个设备在哪个母板上的位置等。此外,约束数据可以用于标识用于具有特定母板的特定设备的多个配置之间的特定配置等。包括作为配置数据112的约束数据减少设备108上的管脚数目并且减小设备108的总体空间,因为移除驱动针对设备108的每一种类型的配置的专用约束管脚。在另一实现方式中,配置数据112可以包括设备108内的特定寄存器的标识。照此,特定寄存器的标识可以用于确定以其对该寄存器进行编程的值。在稍后的图中详细描述该实现方式。
在模块114处,设备108处理从存储器110检索的配置数据112。通过向设备108应用备用功率106,发信号通知设备108以获取配置数据112以用于在模块114处的处理。在模块114的一个实现方式中,设备108可以利用数据表或数据结构以标识对应于配置数据的值。通过使用来自数据表的值,设备108可以对寄存器进行编程以配置对应于寄存器的硬件组件。在稍后图中详细讨论该实现方式。模块114的实现方式包括指令集、过程、操作、逻辑、算法、技术、逻辑功能、固件和/或由设备108可执行以处理配置数据112的软件。
在模块116处,设备108基于存储器110内的配置数据112进行配置。在模块116的一个实现方式中,设备108可以将值写入到所期望的寄存器(未图示)以配置计算系统102内的设备108。通过将值写入到设备108内的所期望的寄存器,使得能够实现对应于所期望的寄存器的硬件组件的配置。设备108在模块116处在计算系统102的初始化之前进行配置。计算系统102的初始化可以包括启动CPU和/或计算系统102。模块116的实现方式包括指令集、过程、操作、逻辑、算法、技术、逻辑功能、固件和/或由设备108可执行以用于基于配置数据112配置设备108的软件。
图2A是接收输入功率并且递送备用功率106以在递送主功率220以用于初始化计算系统102之前配置设备108的示例计算系统102的图。设备108可以在计算系统102可以连接到外部功率源时加载配置数据。在计算系统102连接到外部功率源期间,功率电路104可以接收交流(AC)功率218并且向设备供给备用功率106。这使得设备108能够在计算系统102接通或启动之前加载定制配置。尽管贯穿本申请,说明和/或描述配置诸如管脚和寄存器之类的硬件组件的示例,但是实现方式不应当受限。例如,配置数据可以包含用于设备108操作的程序代码,诸如管脚配置;风扇控制;热学保护;功能启用/禁用;内部/外部设备地址;通信协议;总线速度;通信总线宽度;调试信息;计算系统能力数据;可编程寄存器值;以及信号断言时序。
AC功率218是当计算系统102连接到外部功率源(未图示)时提供给功率电路104的电荷。功率电路104可以控制递送至设备108的功率量。在一个实现方式中,AC功率218连续递送至功率电路104而同时计算系统102被插入(即连接)到外部功率源。在该实现方式中,功率电路106提供备用功率106,即使计算系统102可能尚未被初始化或接通。
主功率220应用于计算系统102和设备108以初始化计算系统102的总体运转。在一个实现方式中,功率220提供给中央处理单元(CPU)以初始化操作系统以用于计算系统102的总体运转。在该实现方式中,用户可以通过发起功率电路104的功率状态以递送主功率220来启动计算系统102。主功率220的实现方式包括电流、电压和/或能够初始化计算系统102的其它电荷。
寄存器220以设备108可以读取或写出信息位的这样的方式存储信息位(即值)。信息位表示计算系统102内部的硬件组件的条件。在该实现方式中,设备108管理计算系统102内部的至少一个硬件组件(未图示)。在这方面,寄存器222是用于关于硬件功能的信息的占位符。值224指示与寄存器222相关联的硬件组件的功能。在另一实现方式中,寄存器222通过配置数据配置热学电路。在该实现方式中,热学电路在计算系统102的初始化之前进行配置。在初始化计算系统102之前配置可以包括热学传感器和/或冷却风扇的热学电路可以在计算系统102的启动之前防止损坏或其它类型的热学问题。
值224是由设备108编程到寄存器222中的信息位。通过使用配置数据,值224可以使用如图2B中的数据表或数据结构来标识。从数据表标识值224使得设备108能够将值224编程和/或写入到寄存器222。图2B中的每一个值可以表示硬件组件之间的各种功能。
图2B是包括标识对应值的配置数据的示例数据结构212的图。通过将备用功率应用于设备,设备可以从存储器获取配置数据。设备可以处理配置数据以标识对应值、功能和/或硬件。设备使用对应值、功能和/或硬件来对寄存器进行编程以用于硬件功能。设备对寄存器进行编程以用于计算系统的初始化之前的配置。在一个实现方式中,数据结构可以包括具有确定在给定的特定寄存器的情况下的对应值、功能和/或硬件的数据的表。在该实现方式中,配置数据包括特定寄存器的标识,因此设备可以标识对应运转、硬件和/或用于配置的值。例如,存储在设备的存储器中的配置数据可以标识寄存器(REG 1,REG 2,REG 3)之一,因而设备可以处理该配置数据以确定对应值(0X02,0X00,0X01)。
对应值(0X02,0X00,0X01)中的每一个关联到硬件组件(PIN、THERMAL、BUSWIDTH)并且硬件组件以何种方式运转(OUTPUT、MONITOR、COMM)。例如,由设备处理的配置数据可以标识寄存器1(REG1),其配置与设备相关联的管脚。在该实例中,设备可以确定对应值(0X02),其表示管脚操作为输出。在另一示例中,配置数据可以标识寄存器2(REG 2),其配置计算系统内部的热学电路。设备然后可以确定对应值(0X00),其表示热学电路监视计算系统的热学方面。在另外的示例中,配置可以标识寄存器3(REG 3),其配置总线宽度。设备然后可以确定对应值(0X01),其表示总线宽度用于通信。将值(0X02,0X00,0X01)编程到设备的各种内部寄存器中以用于配置。尽管图2B描绘了具有各种寄存器(REG 1,REG 2和REG3)、硬件功能(OUTPUT、MONITOR、COMM)、硬件组件(PIN、THERMAL、BUS WIDTH)和对应的值(0X02,0X00,0X01)的数据结构,但是这出于说明目的而进行而不是限制实现方式。例如,寄存器可以包括多个寄存器,对应值可以包括二进制值,硬件功能可以包括附加功能(诸如启用/禁用、输入/输出),并且硬件组件可以包括附加组件,诸如风扇控制等。在另一实现方式中,配置数据可以包括约束数据,其标志设备的各种配置之间的配置。约束数据可以用于在多个配置之中标识用于设备的特定配置。在该实现方式中,可以存在计算系统内部的多个设备,因而每一个设备可以包括不同的配置。此外,该实现方式使得设备能够在各种计算系统之中的各种平台之中使用。
图3是在计算系统的初始化之前处理配置数据并且基于配置数据配置设备的示例方法的流程图。设备是基于固件的设备,其可以包括存储器和存储在存储器中的程序代码,诸如嵌入式系统。包含在设备中的固件是机器可读指令,其提供用于设备的控制程序并且照此可以被存储和/或维护在与设备相关联的非易失性存储器中。配置数据包括指令设备的配置的信息。配置数据可以驻留在与设备相关联的存储器中,因此在向设备应用备用功率时,可以获取配置数据。在一个实现方式中,配置数据可以包括标识可以对应于数据结构内的值的数据。在该实现方式中,设备可以使用配置数据从数据结构获取值并且将值编程到与设备相关联的寄存器中。寄存器可以包括可以以其指令设备如何使用与寄存器相关联的硬件组件的这样的方式进行编程的信息。例如,寄存器可以与设备上的管脚相关联并且照此,编程到寄存器中的值可以包括输入、输出等。寄存器的实现方式可以包括电子寄存器、硬件寄存器和/或处理器寄存器。在另一实现方式中,配置数据可以包括约束数据,其标识用于与设备一起使用的配置类型。在另外的实现方式中,配置数据可以包括设备如何操作的功能。在计算系统的初始化之前配置设备使得设备能够加载用于启动计算系统的配置数据。这使得设备能够在计算系统上电之前加载定制配置。此外,这可以减少启动计算系统中的等待时间。在讨论图3中,可以参照图1-2B中的组件以提供上下文示例。另外,尽管将图3描述为由如图1中的设备108实现,但是其可以在其它合适的组件上执行。例如,图3可以以机器可读存储介质(诸如像图5中的机器可读存储介质504)上的可执行指令的形式实现。在另一示例中,图3可以由与计算系统相关联的处理器实现以管理设备108的功能和配置。
在操作302处,当应用备用功率时,设备可以处理从与设备相关联的存储器获取的配置数据。在该操作处,设备可以被插入到交流(AC)源中,但是可以尚不应用主功率。在该实现方式中,计算系统可以被插入到壁装电源插座中并且接收AC电流,AC电流进而被应用于计算系统内的设备。主功率可以由计算系统在接通时接收。在该实现方式中,备用功率是比应用于计算设备的主功率更低幅度的电流。以此方式,设备可以在利用主功率初始化计算系统之前从备用功率进行配置。备用功率是设备可以依据其读取来自设备的闪速存储器的配置数据的一种类型的辅助功率。该配置数据用于通过对所期望的寄存器进行编程用于初始化来配置计算系统内部的硬件。因而当应用主功率并且初始化计算系统时,设备可能已经被配置并且正确地操作而没有基本输入输出系统(BIOS)或其它类型的配置接口。
在操作302的另一实现方式中,设备使用配置数据来对设备内部的寄存器进行编程。寄存器配置与设备相关联的计算系统内的硬件组件。例如,寄存器可以包括风扇的运转、热学监视、管脚配置、热学保护等。在该实现方式中,编程到寄存器中的值对应于硬件组件的运转。例如,硬件组件可以包括设备上的管脚配置,因而编程到寄存器中的值可以指示特定管脚是否可以作为输入、输入、串行端口、并行端口等运转。在操作302的另外的实现方式中,设备可以依照数据表处理配置数据。配置数据可以标识其中进行编程的特定寄存器,因而设备使用表来确定对应于其中对该寄存器进行编程的特定寄存器的值。编程到寄存器中的值限定与设备相关联的硬件组件的功能。
在操作304处,设备基于在操作302处处理的配置数据进行配置。设备在向计算系统应用主功率以用于初始化之前进行配置。在该实现方式中,设备在计算系统启动之前进行配置。在另一实现方式中,计算系统的热学系统可以通过设备内部的寄存器在向计算系统应用主功率以用于初始化之前进行配置。这在经历来自初始化的问题时减少配置热学系统的反应时间。在另外的实现方式中,在处理操作304时,方法可以进行到向计算系统应用主功率以用于初始化。
图4是将计算系统插入到交流(AC)源中以接收备用功率并且相应地配置设备的示例方法的流程图。设备处理配置数据以从设备的非易失性存储器中的数据表获取对应于配置数据的值。设备可以通过利用值对内部寄存器进行编程而配置有从数据表获取的值。配置数据可以包括特定内部寄存器的标识,因而表可以包括标识特定内部寄存器的配置数据和写入到特定内部寄存器中的对应值。此外,设备的配置发生在应用主功率以用于计算系统的初始化之前。利用对应于配置数据的值对每一个内部寄存器进行编程可以控制每一个管脚(即电气连接)和/或其它硬件组件的功能,因而向设备的多个不同配置提供灵活性。在讨论图4中可以参照图1-2B中的组件以提供上下文示例。另外,尽管将图4描述为由如图1中的设备108实现,但是其可以在其它合适的组件上执行。例如,图4可以由与计算系统相关联的处理器实现以管理设备108的功能和配置。在另一示例中,图4可以以机器可读存储介质(诸如像图5中的机器可读存储介质504)上的可执行指令的形式实现。
在操作402处,将计算系统插入到AC功率源中。AC功率源向计算系统提供电荷流。AC功率源向计算系统并且进而向设备提供电流。在一个实现方式中,操作402可以包括将来自AC功率源的AC电流调节成直流(DC)。AC功率源向计算系统提供两个不同功率轨道。这些功率轨道包括备用功率和主功率。当插入到AC源中时,AC功率源向较低供电轨道上的设备和计算系统提供备用功率。备用功率是比主功率更低幅度的功率。换言之,主功率是比备用功率更高幅度的功率。当计算系统接通和/或启动时,在较高供电轨道上将主功率递送至计算系统。在该实现方式中,备用功率是应用于设备以用于配置的最少量的功率。计算系统包括作为系统的部分的设备,因而设备可以在将计算系统插入到AC源中时接收备用功率,如在操作404处那样。进而,在将计算系统从AC源拔掉时,从设备移除备用功率。
在操作404处,当计算系统被插入到AC源中(如在操作402处)时,设备接收备用功率。备用功率,如与主功率相对的,在计算系统可以被供电(例如插入到AC功率源中)但是尚未开启时,向设备提供备用电流。在该实现方式中,备用功率是比在操作414处应用的主功率更低幅度的电流。
在操作406处,设备可以从存储器获取配置数据并且当在操作404处接收的备用功率被应用于设备时处理配置数据。在一个实现方式中,当处理配置数据时设备可以进行到操作408。操作406可以在功能上类似于如图3中的操作302。
在操作408处,设备可以从对应于在操作406处处理的配置数据的表获取值。在该操作处,设备可以包括数据表或其它类型的数据结构并且通过使用在操作406处从存储器获取的配置数据,设备可以标识对应于配置数据的值。配置数据是用于标识表内的特定值以对如在操作412处的用于硬件配置的寄存器进行编程的手段。例如,配置数据可以包括标识值在数据表或其中进行编程以用于在操作410处的设备配置的特定寄存器中的位置。从表获取值使得表能够包括用于各种设备的多个配置,因为表可以特定于设备。配置数据可以标识特定寄存器,因而通过使用该标识,表包括以其对该特定寄存器进行编程的值。编程到寄存器中的值限定对应硬件组件的功能。
在操作410处,设备可以基于在操作406处从存储器获取的配置数据配置自身。设备在应用主功率以用于如在操作414-416处的计算系统的初始化之前进行配置。在一个实现方式中,设备可以从表获取对应于配置数据的值,如在操作408处那样。在另一实现方式中,取代于利用表来标识配置硬件组件的值,配置数据可以指令设备如何配置计算系统内的硬件组件。操作410可以在功能上类似于如图3中的操作304。
在操作412处,设备可以利用在操作408处获取的值对内部寄存器进行编程。利用值对内部寄存器进行编程使得可以实现可以通过该内部寄存器配置有硬件组件的功能的硬件组件。例如,设备可以包括至少一个内部寄存器以配置包括从设备到其它各种组件的电导体的电气连接(即管脚)的功能。在该示例中,编程到内部寄存器中的值指示管脚是否作为输入、输出、输入/输出等运转。以此方式,在操作408处获取的值可以指示硬件组件的功能。在另一实现方式中,计算系统的热学系统可以通过将值写入到对应于热学系统的寄存器来进行配置。在该实现方式中,热学系统可以在应用主功率以初始化计算系统(如在操作414-416处)之前进行配置。在计算系统的初始化之前配置热学系统减少当计算系统的初始化时来自所检测到的问题的反应时间。
在操作414处,计算系统可以接通并且向主处理单元(例如中央处理单元)应用主功率以用于计算系统的初始化,如在操作416处那样。主功率使得与计算系统的主处理单元通信的操作系统能够管理计算系统的总体运转。主处理单元,还称为中央处理单元(CPU),是施行系统的基本算术、逻辑和输入/输出操作的计算系统内的硬件组件。在该实现方式中,设备可以包括管理计算系统内的各种硬件组件的辅助处理单元,而CPU管理计算系统的总体运转。在另一实现方式中,当主功率关断,但是计算系统和/或设备保持插入到AC源中时,保持如在操作404处的备用功率。
在操作416处,一旦应用主功率,如在操作404处那样,方法进行到初始化计算系统。在该实现方式中,计算系统的中央处理单元可以初始化以开始上电。此外,在该实现方式中,在操作410处配置的设备,不同于中央处理单元,是可以管理计算系统中的硬件组件之一的功能的基于固件的设备。固件是机器可读指令并且照此在设备内存储在非易失性存储器中以提供用于设备的控制程序。
图5是具有处理器502以执行机器可读存储介质504内的指令506-522的示例计算设备500的框图。具体地,具有处理器502的计算设备500向设备应用备用功率,处理配置数据,并且基于配置数据配置设备。设备在向设备应用主功率和/或初始化与设备相关联的计算系统之前进行配置。尽管计算设备500包括处理器502和机器可读存储介质504,但是其还可以包括将适合于本领域技术人员的其它组件。例如,计算设备500可以包括如图1中的功率电路104和/或存储器110。计算设备500是具有能够执行指令506-522的处理器502的电子设备,并且照此,计算设备500的实施例包括移动设备、客户端设备、个人计算机、台式计算机、膝上型计算机、平板计算机、视频游戏控制台或能够执行指令506-522的其它类型的电子设备。指令506-522可以实现为方法、功能、操作和实现为存储在存储介质504上的机器可读指令的其它过程,存储介质504可以是非暂时性的,诸如硬件存储设备(例如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM、电可擦除ROM、硬盘驱动器和闪速存储器)。
处理器502可以提取、解码和执行指令506-522以在计算系统的初始化之前应用备用功率、处理配置数据并且基于配置数据配置设备。在一个实现方式中,当执行指令506-512时,处理器502可以执行指令520和/或522。在另一实现方式中,当执行指令506-510时,处理器502可以执行指令514-518并且进行到指令520和/或522。处理器502执行指令506-510以:向计算系统内的设备应用备用功率;处理从设备的存储器获取的配置数据;以及基于配置数据配置设备。设备的配置发生在向计算系统应用主功率以用于初始化计算系统之前。处理器502可以执行指令512以利用从表获取的值对设备内部的寄存器进行编程。在对指令512的替换中,处理器502可以执行指令514-518以配置与设备相关联的管脚,指令514-518包括:从数据结构获取值;利用从数据结构获取的值对设备内部的寄存器进行编程;以及基于编程到寄存器中的值配置与设备相关联的管脚。处理器502可以进行到执行指令520-522以:向计算设备应用主功率,主功率还可以应用于设备;并且从主功率的应用初始化计算系统。处理器502的实现方式可以包括集成电路、微芯片、处理器、芯片组、电子电路、微处理器、半导体、微控制器、中央处理单元(CPU)、图形处理单元(GPU)、半导体或能够执行指令506-522的其它类型的可编程设备。
机器可读存储介质504包括用于供处理器502提取、结合和执行的指令506-522。在另一实施例中,机器可读存储介质504可以是电子、磁性、光学、存储器、存储设备、闪存驱动器或包含或存储可执行指令的其它物理设备。因此,机器可读存储介质504可以包括例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、存储器高速缓存、网络存储设备、压缩盘只读存储器(CDROM)等。照此,机器可读存储介质504可以包括应用和/或固件,其可以独立地和/或与处理器502结合地用于提取、解码和/或执行机器可读存储介质504的指令。应用和/或固件可以存储在机器可读存储介质504上和/或存储在计算设备500的另一位置上。
总结来说,本文所公开的实现方式减少与初始化计算系统相关联的等待时间。此外,本文所公开的实现方式使得能够实现用于各种计算系统之中的多个配置的设备。

Claims (12)

1.一种计算系统,包括:
用以向设备传输备用功率的功率电路;
与设备相关联以维护配置数据的存储器;以及
设备,用以:
一旦接收到备用功率则处理来自存储器的配置数据,其中处理所述配置数据包括用对应于配置数据的值对设备内部的寄存器进行编程;并且
基于配置数据配置自身,
其中设备在计算系统的初始化之前进行配置;
其中,所述值指示与寄存器相关联的硬件组件的功能;
其中,所述设备依照数据表处理配置数据,并且使用数据表来确定对应于其中对该寄存器进行编程的特定寄存器的值。
2.权利要求1的计算系统,其中为了初始化计算系统,功率电路还向设备传输主功率。
3.权利要求1的计算系统,还包括:
用以通过配置数据配置热学电路的寄存器,其中热学电路在计算系统的初始化之前进行配置。
4.权利要求1的计算系统,还包括:
用以基于利用对应于配置数据的值编程的设备内部的寄存器而操作的硬件组件。
5.一种编码有由计算系统的处理器可执行的指令的非暂时性机器可读存储介质,存储介质包括指令以:
向计算系统内的设备应用备用功率;
一旦接收到备用功率则处理设备的配置数据,其中处理所述配置数据包括用对应于配置数据的值对设备内部的寄存器进行编程;以及
基于配置数据配置设备,
其中设备在计算系统的初始化之前进行配置;
其中,所述值指示与寄存器相关联的硬件组件的功能;
其中,所述设备依照数据表处理配置数据,并且使用数据表来确定对应于其中对该寄存器进行编程的特定寄存器的值。
6.权利要求5的非暂时性机器可读存储介质,其中寄存器被编程为配置以下中的至少一个:管脚、热学管理和冷却风扇。
7.权利要求5的非暂时性机器可读存储介质,还包括指令以:
向计算系统应用主功率;以及
初始化计算系统。
8.权利要求5的非暂时性机器可读存储介质,其中为了基于配置数据配置设备,介质还包括指令以:
从数据结构获取值;
利用值对设备内部的寄存器进行编程;以及
基于编程在寄存器中的值配置设备上的管脚。
9.一种配置计算系统内的设备的方法,所述方法包括:
当向设备应用备用功率时处理设备的配置数据,其中处理所述配置数据包括用对应于配置数据的值对设备内部的寄存器进行编程;以及
基于配置数据配置设备,其中设备在计算系统的初始化之前进行配置;
其中,所述值指示与寄存器相关联的硬件组件的功能;
其中,所述设备依照数据表处理配置数据,并且使用数据表来确定对应于其中对该寄存器进行编程的特定寄存器的值。
10.权利要求9的方法,还包括:
向主处理单元应用主功率以用于计算系统的初始化。
11.权利要求9的方法,其中处理配置数据还包括:
从表获取对应于配置数据的值;以及
利用值对设备内部的寄存器进行编程,其中所述值指示与寄存器相关联的硬件的功能。
12.权利要求9的方法,还包括:
将计算系统插入到交流(AC)功率源以向设备应用备用功率。
CN201380081206.5A 2013-09-26 2013-09-26 系统初始化之前的设备配置 Active CN105745638B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/061960 WO2015047277A1 (en) 2013-09-26 2013-09-26 Device configuration prior to initialization of a system

Publications (2)

Publication Number Publication Date
CN105745638A CN105745638A (zh) 2016-07-06
CN105745638B true CN105745638B (zh) 2019-06-14

Family

ID=52744183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380081206.5A Active CN105745638B (zh) 2013-09-26 2013-09-26 系统初始化之前的设备配置

Country Status (6)

Country Link
US (1) US10175993B2 (zh)
EP (1) EP3049957A4 (zh)
JP (1) JP2016535328A (zh)
KR (1) KR101846753B1 (zh)
CN (1) CN105745638B (zh)
WO (1) WO2015047277A1 (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102388366A (zh) * 2011-09-22 2012-03-21 华为技术有限公司 实现不同处理器兼容的方法及装置
CN102681864A (zh) * 2011-03-16 2012-09-19 鸿富锦精密工业(深圳)有限公司 计算机

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3049663B2 (ja) 1991-02-20 2000-06-05 キヤノン株式会社 記録装置及び記録方法
US5581284A (en) 1994-11-25 1996-12-03 Xerox Corporation Method of extending the life of a printbar of a color ink jet printer
US6219742B1 (en) * 1998-04-29 2001-04-17 Compaq Computer Corporation Method and apparatus for artificially generating general purpose events in an ACPI environment
KR100350676B1 (ko) 2000-10-20 2002-08-28 삼성전자 주식회사 소형 컴퓨터 시스템 인터페이스 백플레인 보드
KR100471056B1 (ko) 2000-11-18 2005-03-07 삼성전자주식회사 컴퓨터시스템 및 컴퓨터시스템의 대기모드제어방법
US20030233534A1 (en) * 2002-06-12 2003-12-18 Adrian Bernhard Enhanced computer start-up methods
US7213142B2 (en) 2003-04-22 2007-05-01 Intel Corporation System and method to initialize registers with an EEPROM stored boot sequence
US20050025164A1 (en) * 2003-07-16 2005-02-03 Telefonaktiebolaget L M Ericsson (Publ) Seamless hand-off of mobile node to a wireless local area network (WLAN)
JP2005149225A (ja) * 2003-11-17 2005-06-09 Sony Corp コンピュータシステム及びその起動方法
US7519802B2 (en) * 2004-05-05 2009-04-14 Hewlett-Packard Development Company, L.P. System and method for configuring a computer system
US20050289332A1 (en) 2004-06-23 2005-12-29 Rothman Michael A Platform boot speed
JP4311287B2 (ja) 2004-06-25 2009-08-12 ソニー株式会社 ブートシステム及びブート方法及びこのブート方法を用いたデータ処理装置
US8120816B2 (en) 2005-06-30 2012-02-21 Xerox Corporation Automated image quality diagnostics system
US9146600B2 (en) * 2006-10-11 2015-09-29 Texas Instruments Incorporated Array and peripheral power control decoded from circuitry and registers
US20100066779A1 (en) 2006-11-28 2010-03-18 Hanan Gothait Method and system for nozzle compensation in non-contact material deposition
US8886955B2 (en) 2007-03-28 2014-11-11 Nuvoton Technology Corporation Systems and methods for BIOS processing
US8251477B2 (en) 2007-04-30 2012-08-28 Hewlett-Packard Development Company, L.P. Multipass printing method
US9230195B2 (en) 2008-12-17 2016-01-05 Hewlett-Packard Development Company, L.P. Print head array
KR20100083383A (ko) 2009-01-13 2010-07-22 삼성전자주식회사 잉크젯 화상형성장치 및 그 인쇄방법
JP5493951B2 (ja) * 2009-04-17 2014-05-14 株式会社リコー 情報処理装置、正当性検証方法及びプログラム
KR101582919B1 (ko) 2009-05-27 2016-01-07 삼성전자 주식회사 전자장치 및 그 부팅방법
US8065562B2 (en) * 2009-06-26 2011-11-22 Seagate Technology Llc Systems, methods and devices for backup power control in data storage devices
US8340120B2 (en) 2009-09-04 2012-12-25 Brocade Communications Systems, Inc. User selectable multiple protocol network interface device
JP5649395B2 (ja) 2009-10-08 2015-01-07 富士フイルム株式会社 インクジェット記録装置及び方法並びに異常ノズル検知方法
US10682922B2 (en) * 2010-10-27 2020-06-16 The Aes Corporation Methods and apparatus for managing renewable energy services for fixed and mobile assets
KR20130021862A (ko) 2011-08-24 2013-03-06 삼성전자주식회사 사용 컨텍스트를 반영한 전자기기의 부팅 방법 및 장치
EP2771784A4 (en) 2011-10-28 2015-06-24 Intel Corp CHANGE BETWEEN OPERATIONAL CONTEXTS
US9471121B2 (en) * 2011-11-14 2016-10-18 Texas Instruments Incorporated Microprocessor based power management system architecture
US9417672B2 (en) * 2012-03-30 2016-08-16 Lenovo (Singapore) Pte. Ltd. Separate customizable thermal control table
US9004636B2 (en) 2012-04-20 2015-04-14 Hewlett-Packard Development Company, L.P. Fluid drops provided in print mode and maintenance mode in normal consumption state and low consumption state
US9213397B2 (en) * 2012-09-21 2015-12-15 Atmel Corporation Changing power modes of a microcontroller system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681864A (zh) * 2011-03-16 2012-09-19 鸿富锦精密工业(深圳)有限公司 计算机
CN102388366A (zh) * 2011-09-22 2012-03-21 华为技术有限公司 实现不同处理器兼容的方法及装置

Also Published As

Publication number Publication date
EP3049957A4 (en) 2017-05-31
JP2016535328A (ja) 2016-11-10
WO2015047277A1 (en) 2015-04-02
US20160216976A1 (en) 2016-07-28
CN105745638A (zh) 2016-07-06
KR101846753B1 (ko) 2018-04-06
US10175993B2 (en) 2019-01-08
KR20160046903A (ko) 2016-04-29
EP3049957A1 (en) 2016-08-03

Similar Documents

Publication Publication Date Title
CN102662898B (zh) 一种usb设备主从兼容方法、设备和系统
TWI492044B (zh) 通用序列匯流排裝置的偵測系統及其方法
CN104007801A (zh) 用于向电子设备提供功率的方法和装置
US7343498B2 (en) ExpressCard power switch device with enhanced communications paths and security functions
WO2017118441A1 (zh) 一种接口管脚配置的方法及装置
US10802560B2 (en) Multi-power input port power control
CN107528829B (zh) Bmc芯片、服务器端及其远程监控管理方法
CN110023920A (zh) 主机检测usb集线器
US7093115B2 (en) Method and apparatus for detecting an interruption in memory initialization
CN102971686A (zh) 分阶段的与非上电复位
US9965010B2 (en) Systems and methods for management of an information handling system having no alternating current power source
TWI677250B (zh) 網路系統及認證方法
CN107943260A (zh) 半导体设备、控制半导体设备的方法和半导体系统
CN106685018A (zh) 一种反向充电方法、装置及终端
US8806660B2 (en) System and method for secure licensing for an information handling system
CN105745638B (zh) 系统初始化之前的设备配置
CN106774769B (zh) 一种终端工作模式的切换方法及装置、手持终端
CN205827377U (zh) 基于atx电源的可信平台控制模块
CN103853638A (zh) 一种刷新固件的方法及电子设备
US9965020B2 (en) Systems and methods for power supply derating
US11243590B2 (en) Systems and methods for minimizing system hardware throttling due to power supply unit environmental effective capacity
TWI587150B (zh) 具有多個連接介面的可攜式電子裝置
JP4143591B2 (ja) ウェイク・オン・ラン用のシステムおよび方法
CN108027796B (zh) 独立控制串行端口引脚电压的装置、计算设备及其方法
CN203299823U (zh) 基于usb的进程保护卡

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