硬件资源的系统内重新配置的制作方法

文档序号:6567534阅读:411来源:国知局
专利名称:硬件资源的系统内重新配置的制作方法
技术领域
本发明的实施例涉及在计算机系统等中使用的硬件组件,并且更具 体地说,涉及此类组件的可升级性。
背景技术
包括个人计算机(PC)、服务器、个人数字助理(PDA)及蜂窝电话等 许多基于处理器的系统混合有硬件和软件组件。通常,系统包括处理大 部分处理操作的通常称为中央处理器(CPU)的微处理器,以及有关的组 件,例如包括存储器和其它存储介质、芯片集和其它处理装置、输入/ 输出(I/0)装置等等。
终端用户一般使用此类系统进行各种处理、娱乐、通信和其它活动。 用户会常常升级系统的软件组件,包括操作系统(OS)、诸如防病毒程序 等应用程序等等。此外,用户可通过下载或以其它方式安装控制硬件的 新软件(例如,驱动程序或软件补丁),添加诸如附加内存等新组件,加 入诸如高级图形卡等新装置,或者用新组件替换诸如微处理器或石更盘驱 动器等较旧组件,从而升级系统的硬件。然而,对于以前配置的系统内 的硬件组件,无销售点后升级可用。
诸如微处理器、芯片集等硬件组件的硬件特征常常早于大部分用户 采用那些特征好多年。例如,在软件采用硬件特征和/或实现此类特征 的软件成熟以前的很长时间,那些特征便在硬件组件中经常可用和存 在。换而言之,在许多情况下,新硬件技术的引入快于软件可采用该技 术。在此类硬件特征无软件支持和用户需求的情况下,包括这些新硬件 特征的硬件组件常常由于未使用的板上技术而得不到重视。
因此,存在提高系统内硬件特征可升级性的需要。


图1是根据本发明一个实施例执行硬件升级的系统框图。
图2是根据本发明一个实施例的方法流程图。
图3是根据本发明一个实施例动态熔丝编程电路第一部分的框图。
图4是图3的动态熔丝编程电路第二部分的框图。
图5是根据本发明一个实施例的系统框图。
具体实施例方式
现在参照图1,示出升级系统的一个或多个硬件特征的系统框图。 如图1所示,该系统包括与目标系统100通信的远程服务器10。例如, 远程服务器10可以为诸如PC的制造商或经销商或其它供应商等原始 设备制造商(OEM)的Web服务器。或者,远程服务器10可以与硬件组 件的独立供应商相关联。在又一些实施例中,远程服务器10可与独立 的服务提供商相关联,如某些硬件组件的授权经销商。虽然在本文中描 述为远程服务器,但要理解,在其它实施例中,根据本发明的实施例, 不同类型的系统可用于实现升级。
远程服务器10可通过各种方式与目'标系统100通信,例如包括经 因特网或其它基于网络的互连。在一些实施例中,远程服务器10可包 括与目标系统100通信的安全接口 20。安全接口 20可使用加密^t术与 目标系统100安全地通信,如用于基于Web的安全金融或其它交易的 加密技术。
在各种实施例中,目标系统100可以为PC、服务器计算机、PDA、 蜂窝电话等等。目标系统100可包括各种硬件和软件组件。在各种实施 例中,目标系统100可包括支持的配置表110,该配置表包括多个机器 状态寄存器(MSR)以指示不同硬件特征的状态。在一个实施例中,支持 的配置表110可以在目标系统100的微处理器内,并且可用于指示微处 理器本身的不同硬件特征。在一些实施例中,支持的配置表110内的至 少一些信息可包括在处理器的其它部分。例如,其它状态寄存器可包括
标识处理器特殊能力的信息,以便适当的软件、微代码等等可利用该能 力。然而,在此类状态寄存器中的信息对远程服务器不可见。
在其它实施例中,支持的配置表110可位于目标系统的其它部分中,
例如,芯片集组件、永久存储器或其它位置中。才艮据本发明一个实施例,
目标系统100还可包括处理升级活动的可重新配置逻辑块120。
在操作期间,远程服务器10可启动硬件组件的系统内重新配置的 请求。例如,远程服务器10可发送请求到目标系统100,以确定系统100 的用户是否要升级微处理器的硬件特征。远程服务器10可以各种方式 与目标系统100通信。例如,在一些实施例中,远程服务器IO可发送
出广播通信到多个系统,如到给定模型和/或配置的所有已知目标系统
的广播传输。例如,可向包括特定处理器和/或特定软件映像的OEM的 所有模型X发送广播分组。
在一些实施例中,这些广播分组可透明地发送到目标系统100,使 得系统用户不知道分组的接收。在这些实施例中,除访问支持的配置表 110的信息外,广播分组还可包括标识分组发送方的信息。具体而言, 广播分组可包括由目标系统100的处理器执行的指令,以访问支持的配 置表110,来确定给定硬件特征的升级状态。例如,广播分组可包括远 程服务器10对有关硬件特征B的信息的请求。因此,目标系统100可 访问支持的配置表110,以确定启用特征B的升级是否与目标系统100 兼容。如果兼容,则目标系统100可将此类信息传递到远程服务器10。 在一些实施例中,此通信可对目标系统100的用户也是透明的。
如果远程服务器10由此确认目标系统100能够相对于特征B进行 升级,则远程服务器IO可向目标系统100发送通信以确定目标系统100 的用户(或负责的信息技术(IT)管理员)是否想要相对于特征B升级其系 统。在一些实施例中,消息可以为弹出式或其它动态消息。在这些实施 例中,为了接收此类动态消息,可允许目标系统100进行动态升级。虽 然告知升级可用性的消息形式可以采用许多形式,但在一些实施例中,
可显示弹出式显示消息,如常规软件/OS升级的消息。例如,消息可如
下报告特征B的可用性"是否要为您的Intel Pentium 4系统启用特 征B "、"点击此处以演示此特征的优点,启用在您的系统上已经可用 的一系列使用模型"。然后给出演示,描述特征的优点以及费用。随后, 可显示诸如"升级您现有PC的时间少于X分钟,费用为SY"的消息。才艮 据用户响应,进行回到远程服务器10的通信。这样,服务提供商可在 此销售点后时间收取该值的费用,并因而实现全部售出的机会。
硬件特征可以为执行给定功能的任一所需硬件电路。例如并且无限 制,在一些实施例中,要升级的硬件特征可包括处理器速度、安全特征 等等。要升级的其它硬件特征可包括超线程或其它多线程^技术、虚拟化 技术、64位指令计算、高级技术等等。
在一些实施例中,远程服务器IO可使用安全接口 20向目标系统1Q0 发送请求。目标系统100又可检验以确定系统是否可升级,以及哪些特 征可用于升级。如上所述,在一些实施例中,可检查支持的配置表110 的不同寄存器,以确定系统的升级状态。
如图l所示,支持的配置表110可包括多个机器状态寄存器(MSR)。 在一些实施例中,每个MSR可包括多个比特,其中每个比特与不同特 征相关联,但其它控制方案也有可能。
第一MSR 112可称为产品特征状态寄存器。产品特征MSR 112可 由硬件组件制造商(例如,处理器制造商)设置,以指示给定硬件组件是 否包括对应于给定特征的电路。在图l所示的实施例中,产品特征MSR 112包括多个比特。比特A、 B和C如图所示设置,指示所制造的处理 器包括用于硬件特征A、 B和C的电路。当然,在其它实施例中,不 同的配置是可能的,并且可存在不止所示数量的特征。
仍参照图1,支持的配置表110包括第二 MSR 114,该MSR可称 为系统特征MSR。系统特征MSR 114可报告什么系统支持OEM,或 者其它供应商已可用于所配置的系统。也就是说, 一些特征可能要求系 统级支持,如附加的硬件或软件(例如,OS特征、驱动程序、诸如可信 平台模块(TPM)或带外(OOB)可管理引擎等附加的硬件)。因此,系统特
征MSR 114可提供所配置的目标系统100是否能够无缝升级的信息。 在各种实施例中,系统特征MSR 114因此可由OEM或其它系统供应 商例如在系统制造期间编写,以为不同硬件特征指示目标系统的可升级 性。因此,第二MSR114可用于为给定硬件特征提供系统的确证/生效。 如果给定特征在第二 MSR 114中设置,则鉴于给定系统的各种硬件和 软件,目标系统100可以可靠地与给定特征的升级互操作以支持它。
因此,在各种实施例中,系统可在销售点由OEM、原始装置制造 商(ODM)和/或综合商确证为对某些类特征可升级。此类可升级性可基 于以下假设提供在销售点,对应于系统的核心模型可以多种方式使用, 例如,包括各种硬件和软件组件以及此类组件级。 一些用户可能希望购 买所有特征都启用的系统,即顶级系统。然而,其它用户可能希望购买 硬件中所有特征一部分可用的系统,而生态系统和使用模型成熟,且是 主流用户的倾向选择。因此,基于特定的系统配置,供应商可在销售点 相应地设置系统特征MSR 114。
升级MSR 116又可指示能够在系统内启用的目标组件特征。在一 些实施例中,MSR 116可以为销售点后升级MSR。就是说,升级MSR 116 可指示在MSR 112与114之间的逻辑"与"操作。因此,如图1所示, 特征B在升级MSR116中设置,指示关于特征B的销售点后升级。
因此,如果目标系统100能够被升级,并且用户希望升级,则目标 系统100和远程服务器10可使目标系统升级。在一些实施例中,如果 用户已更改OEM提供的映像,则在允许任何硬件升级前,可重新安装 原始映像以确认可无缝地启用硬件特征。换而言之,在远程服务器10 能够升级目标系统100前,第一目标系统100可重新安装其原始映像。
为实现硬件升级,目标系统100可向远程服务器10发送加密密钥, 以及希望启用和/或升级硬件特征B的指示。在各种实施例中,要升级 的系统组件(例如,CPU或芯片集组件)可提供对目标系统100特定的唯 一加密密钥。在一些实施例中,唯一加密密钥可以为产品序列号或另一 唯一标识符,其提供为唯一地标识每个制造的组件。通过提供唯一标识
符,可加强与反盗版和其它安全机制的一致性。
基于从目标系统100获得的信息,远程服务器10可加密微代码指 令,以启用要在目标系统100中升级的(例如)特征B。在图1的实施例 中,远程服务器10内的代码加密逻辑块30可用于获得微代码以促使升 级,并根据从目标系统100接收的加密密钥加密微代码。随后,远程服 务器10可经代码和验证通信逻辑块40发送加密的指令。在各种实施例 中,发送的信息可包括启用硬件特征的加密微代码指令,以及测试目标 组件以确认成功升级的附加指令。
仍参照图1,加密的指令可由目标系统100的可重新配置逻辑块120 使用。可重新配置逻辑块120可包括实现特征升级的各种组件。具体而 言,如图1所示,可重新配置逻辑块120可包括将远程服务器10发送 的微代码解密的代码解密逻辑122。在各种实施例中,代码解密逻辑122 可使用对应于目标系统IOO发送的加密密钥的解密密钥。在解密微代码 后,系统内启用逻辑124可启用特征B。在各种实施例中,如下面将进 一步描述的,熔丝可编程性逻辑可用于启用该特征。
在完成特征启用后,系统内生效逻辑126可确认硬件特征实际上已 成功启用。如果已成功启用,则系统内生效逻辑126可在支持的配置表 110内的特征启用MSR 118内设置对应的特征比特,以指示启用状态。 例如,图1示出特征启用MSR 118在对应于特征B的比特中包括逻辑 "0"。在提供用于特征B的成功升级后,对应于特征B的比特可设为逻 辑'T,状态。在设置特征启用MSR 118后,目标系统100可发送确i人消 息到远程服务器10的确认和记帐逻辑块(确认块)50。在各种实施例中, 确认消息还可确认硬件特征工作在目标系统100上。因此,返回服务器 10的生效消息可包括确认-哽件特征在目标系统100上成功实现的签名。 因此用户以后不能声称硬件特征未成功升级以企图避免支付升级费用。
在收到确认消息后,远程力良务器10可向与目标系统100相关联的 帐户收取成功升级的费用。此外,确认块50可将状态消息发送到中央 数据库60以指示对目标系统100的升级。在一些实施例中,中央凝二据 库60可以为与例如微处理器制造商等组件制造商相关联的数据库。这 样,制造商可为保修和其它目的而跟踪特定处理器的实际配置。例如, 如果用户已启用给定硬件特征,则处理器制造商可为将来升级、提供用 于适合与给定硬件特征升级一起使用的附件的软件或其它組件,而将该 系统作为目标。另外,处理器制造商可使用有关特定用户实现的升级或 全面升级选择的信息,以提取营销信息供开发将来产品和升级使用。
对目标系统100的升级虽然在图1中显示为用远程服务器10实现, 但在其它实施例中可以其它方式发生。例如,才艮据本发明一个实施例, 用户可购买包含实现升级的指令的盘或其它存储介质。
现在参照图2,图中所示是根据本发明一个实施例的方法流程图。 如图2所示,方法200可用于升级目标系统的^/f牛特征。方法200可乂人 与目标系统通信开始(框205)。例如,OEM、经销商等的远程服务器可 与目标系统通信。在各种实施例中,通信可对系统的用户是透明的。具 体而言,远程服务器可请求有关目标系统配置的信息,以便可作出有关 系统是否能够升级的确定。
相应地,可确定是否确证目标系统可升级(菱形框210)。在各种实 施例中,在远程服务器请求时,支持的配置表可传递回远程服务器。再 者,远程服务器与目标系统之间的此通信可对终端用户是透明的。基于 从目标系统接收的信息,远程服务器可确定是否确证目标系统可升级。 如果不确证,则方法200可终止。
如果确定确证目标系统可升级,则接下来可确定用户是否希望升级 系统(菱形框215)。虽然可能存在确定是否希望升级系统的各种方式, 但在许多实施例中,可从远程服务器向目标系统发送消息。该消息例如 可经弹出式或其它消息框显示在目标系统上,以指示升级可用性。如果 用户不希望升级,则方法200可终止。
如果用户希望升级,则目标系统可将加密密钥发送到远程服务器(框 220)。在各种实施例中,加密密钥可以为唯一代码,其标识目标系统和 /或系统的特定硬件组件,例如,处理器或芯片集。
使用加密密钥,远程服务器可生成允许升级的加密指令。更具体地 说,远程服务器可生成孩i代码指令,此外可加密该指令以防止对指令未 经授权的访问。微代码指令可由目标系统用于适当地对一个或多个硬件 组件进行编程,以便为才喿作启用特征。远程系统也可生成传输到目标系 统的生效指令,以确认升级成功,且目标系统可执行实现所需特征的代
码。因此,远程服务器可将加密的升级指令发送到目标系统(框225)。
通过使用对应于加密指令的解密密钥,目标系统可将升级指令解密 并相应地对目标系统进行编程(框230)。具体而言,解密的微代码指令 可用于安全地允许升级发生,而较少关心违反安全性。也就是说,微代 码指令可被解密并直接发送到处理器核,在处理器核中微代码指令可在 内部执行以启动编程。由于在这些实施例中发送的指令可在微代码中, 因此,用户提取指令或提供指令到未经授权方的能力可大大降低。
在一些实施例中,微代码指令可由处理器执行以启动要升级特征的 编程。例如,在一些实施例中,微代码指令可在处理器或其它硬件组件 内启动动态熔丝编程逻辑,以熔烧一个或多个熔丝,来启用到以前不可 用的电路的路径。在这些实施例中,动态熔丝编程逻辑可使源电压提供 到熔丝组等等,以使选定的熔丝熔烧(即,启用)。成功熔烧后,随后可 形成到执行该特征的电路的路径。
在对組件编程以启用特征后,接下来可确定升级是否成功(菱形框 235)。在各种实施例中,由远程服务器发送的代码可用于验证已启用特 征的操作。例如,在一些实施例中,生效代码可与微代码指令一起发送。 在编程完成后,目标系统可执行生效代码。生效代码可练习新启用的电 ^各,以验证它可为其预期目的4喿作,并且更具体地-沈,验i正它可在目标 系统的特定配置中操作。
如果确定升级不成功(菱形框235),则控制可传递到框240,在该框 可执行错误处理程序。在各种实施例中,错误处理代码可在目标系统上 实现以处理错误。在一些实施例中,错误处理程序可从远程源下载。在 执行错误处理代码后,随后可确定是否重试升级过程(菱形框245)。例
如,如果错误处理例程纠正了该错误,则可重新尝试升级过程。或者,
可以确定目前不实现升级,此时方法200可终止。如果要重试升级,贝'J 控制返回到框230。
如果在菱形框235确定升级成功,则可向远程服务器报告该升级(框 250)。具体而言,来自支持的配置表的信息可发送到远程服务器以指示 升级成功完成。除了来自支持的配置表的信息外,标识目标系统的信息 可包括在内,以便远程服务器可采取适当的措施。
具体而言,远程服务器可向与目标系统相关联的帐户收取升级的费 用(框260)。例如,企业的IT部门可保持与实现远程服务器的OEM的 帐户。在其它实施例中,支付升级的不同措施是可能的。例如,在一些 实施例中,各个终端用户可提供信用卡信息,以授权对该终端用户希望 的升级的费用进行记帐。
除了对升级进行记帐外,远程服务器可存储有关升级的信息,例如 包括有关目标系统标识、所实现的升级的信息以及有关目标系统的附加 信息,诸如平台、构件、映像等等。此外,如图2所示,远程服务器可 将升级信息传递到中央数据库(框270)。
现在参照图3,图中所示的是根椐本发明一个实施例的一部分动态 熔丝编程逻辑的框图。如图所示,电路300a可包括各种寄存器、逻辑 门和控制器以控制熔丝的熔烧,来启用不同的硬件特征。如图3所示, 电路300a被耦合以接收数据熔烧熔丝。数据可在从远程服务器接收的 微代码指令控制下发送到电路300a。如图3所示,可在多个锁存器310a、 b、 c接收输入数据。在各种实施例中,1比特锁存器可用于接收可升级 的每个特征的数据。虽然在图3中为便于图示而显示为包括三个此类锁 存器,但要理解,本发明的范围并不限于此。锁存器310被耦合以便由 例如处理器时钟信号(CPU时钟)等输入时钟信号加时钟。输入时钟信号 也可用于为被耦合以便接收控制信号的控制锁存器315加时钟。具体而 言,控制信号(即,准备升级)可从已执行的微代码指令接收。
为了控制选定熔丝的熔烧,可存在熔丝熔烧控制器325。在各种实
施例中,控制器325可以为可编程逻辑以便启动熔丝熔烧序列。在图3 的实施例中,控制器325被耦合以便接收复位信号(即,CPU复位)和控 制信号(即,起动熔烧序列),以从锁存器315启动熔丝熔烧序列。此外, 控制器325被耦合以便接收输入时钟信号。最后,如图3所示,控制器 325被耦合以便接收电压状态信号(VCC是好的)。电压状态信号可由比 较器320输出,该比较器例如比较处理器电源电压(CPU VCC)和参考电 压。在图3所示的实施例中,参考电压(即,稳定VREF)可大约等于电 源电压的三分之二。
在启动控制信号(即,起动熔烧序列)后,并假设复位信号已被接收 且电压状态信号有效,控制器325可使选定的熔丝熔烧。更具体地说, 控制器325可首先设置启动电荷控制信号(即,起动电荷泵)。然后,在 随后的时钟周期(例如,CPU时钟的1微秒(ms)周期)上,控制器325可 为选定特征的多个冗余熔丝中的每个熔丝设置一个信号。如图3所示, 发送的信号可在多个线路上发出(即,熔烧熔丝[3:0])。在熔烧序列完成 时,可生成熔烧序列结束控制信号(即,熔烧序列完成)。随后,控制器 325可将所有其输出设为0。
现在转到图4,图中所示是根据本发明一个实施例的动态熔丝编程 逻辑的第二部分。如图4所示,电路300b可以为与电路300a相同的逻 辑的一部分。
如图4所示,电路300b包括电荷泵330,其在激活时生成熔丝熔烧 电压。电荷泵330被耦合以便接收电源电压(CPU VCC)和从"与"门328 输出的启用信号(泵电压)。如图4所示,〗'与"门328被耦合以便接收电 荷控制信号和反相的熔烧序列结束控制信号,即,经反相器327。因此, 在"与"门328的输出是逻辑'T,并且电源电压存在时,电荷泵330可生 成电荷泵电压信号(电荷泵输出),以向第一熔丝组340和第二熔丝组345 提供熔丝熔烧电压。虽然在图4的实施例中显示为从处理器电源电压 (即,CPUVCC)接收源电压,但在其它实施例中,可4吏用辅助电压电源。 此外,可使用专用的平台源电压,而不是使用经电荷泵330的泵送电压。
或者,在其它实施例中,可使用额定电源电压(例如,CPUVCC)。
虽然在图4中显示为只包括两个熔丝组,^f旦要理解,本发明的范围 并不限于此,且在给定实施例中可存在任意所需数量的熔丝组。在各种 实施例中,每个熔丝组可以为一组冗余熔丝(例如,四个冗余熔丝),每 个熔丝具有独立的熔烧控制。此外,在各种实施例中,可存在用于每个 要启用或升级的潜在特征的熔丝组。然而,要理解其它配置是可能的。
要熔烧给定熔丝组中的选定熔丝,对应于该组内选定熔丝的线路上 的输入信号可以在逻辑高电平。具体而言,如图4所示,逻辑门335和 337(即,"与"门)分别耦合到熔丝组340和345的数据输入端。"与"门335 和337被耦合,以便从锁存器310接收特征熔烧选择信号(特征熔烧寄 存器[X])和从控制器325接收熔丝熔烧信号。在逻辑高电平从"与,,门335 和337之一输出并且电荷泵电压信号存在时,适当的熔丝将被熔烧。这 样,可在指令(例如,微代码指令)控制下,设置对应于给定硬件特征的 多个冗余熔丝。
仍参照图3和图4,电^各300a和300b也可用于-验-〖正熔丝熔烧序列 被正确执行。因此,熔丝验证控制器360可存在(电路300a中)。如图3 所示,控制器360可被耦合以便接收各种输入,包括输入时钟信号、电 压状态信号和复位信号。此外,控制器360可被耦合以便从控制器325 接收熔烧序列结束信号。在各种实施例中,控制器360可为空闲,所有 其输出都设为0,直到它接收到有效的高熔烧序列结束信号,指示熔烧 序列完成为止。
此时,在一个实施例中,控制器360可执行以下功能。首先,控制 器360可将熔丝感测信号(熔丝感测)设为逻辑高。随后,它可将熔丝负 载信号(熔丝负载)设为有效的高值。当熔丝感测信号有效时,熔丝组340 和345将生成输出以指示每组内各个熔丝的熔烧状态。这些输出信号随 后又经"或"门348和349进行逻辑"或",其输出耦合到相应的锁存器350 和352。当这些锁存器由熔丝负载信号启用时,锁存器将输出熔丝输出 信号(熔丝输出[x])。
如图4所示,熔丝输出信号经反相器354反相,由此形成所有熔丝 信号(所有熔丝=0)和未反相的任意熔丝信号(任意熔丝=1)。参照图3,"与,, 门356(即,"与"门)被耦合以便接收任意熔丝信号,以及由熔丝控制器 360生成的验证序列结束信号(验证序列完成)。在这两个信号均设为逻 辑高时,"与"门356生成提供到锁存器374a、 b、 c相应之一的高输出, 每个对应于一个相应的硬件特征。在锁存器374之一生成特征有效比特 (特征有效比特)时,这指示对应的硬件特征已将其熔丝成功编程。
与此相反,如果所有熔丝信号在逻辑高电平,并且来自控制器360 的验证序列结束信号也是逻辑高,则"与"门368可生成输出高信号,以 提供一个值到锁存器370a、 b、 c相应之一,其中每个也对应于一个给 定特征。如果这些锁存器370之一输出逻辑高信号,则它指示在尝试对 给定硬件特征编程时发生了熔丝熔烧错误。最后,"或"门364可^皮耦合 以便接收电源故障信号。具体而言,两个此类电源故障信号可提供到"或" 门364的输入端,即来自熔丝熔烧控制器325的"熔烧前VCC故障" 信号和来自熔丝验证控制器360的"完成前VCC故障"信号。如果这 些信号中任一个设为高,指示电源电压故障,则"或"门364将输出逻辑 高信号。这又会设置锁存器372以指示电源故障错误。
在各种实施例中,特征有效比特(例如,经锁存器374a、 b、 c之一) 可用于设置支持的配置表110的特征启用MSR 118。例如,如果用于 特征B的熔丝组成功编程,则可设置特征启用MSR 118内用于特征B 的对应比特。目标系统100又可发送消息到远程服务器10,指示选定 特征的成功编程。
因此,在各种实施例中,硬件特征可在制造时在硬件组件中实现, 并且用户在销售点后可选择利用 一个或多个硬件特征。才艮据本发明的各 种实施例,可提供在目标系统中启用特征并使其功能生效的安全/可靠 方式。此类升级可向OEM、 IT客户和终端用户提供增值。此外,硬件 制造商、OEM和其它方可通过提供已在硬件内实现但在销售点不启用 的特征的以后升级而生成附加收益。此外,终端用户在升级硬件特征时
可更迅速地加速其到更高终端平台的升级计划,从而减小PC更换周期。
此外,用户可避免在销售点支付最高金额购买系统,但仍具有在以 后升级所提供的硬件特征的灵活性和能力。例如,当某些应用/使用模 型变得越来越成熟时,用户可选择随后升级一个或多个硬件组件以提供 用于将来的硬件特征。
实施例可以计算机程序方式实现。因此,这些实施例可存储在其上 存储有指令的存储介质上,这些指令可用于对系统编程以执行实施例。 存储介质可包括但不限于任一类型的盘(k括软盘、光盘、压缩盘只读
存储器(CD-ROM)、可重写压缩盘(CD-RW)和磁光盘)、半导体器件(如 只读存储器(ROM)、随机存取存储器(RAM)如动态RAM(DRAM)、可 擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器 (EEPROM))、闪存、^磁卡或光卡、或者适于存储电子指令的任意类型的 介质。类似地,实施例可实现为由诸如计算机处理器或自定义设计的状 态机等可编程控制器件执行的软件模块。
实施例可在不同的系统中实现。例如, 一些实施例可在多处理器系 统中实现(例如,诸如通用系统接口(CSI)系统等点对点总线系统)。现在 参照图5,图中所示的是根据本发明一个实施例的多处理器系统框图。 如图5所示,多处理器系统400是点对点总线系统,且包括经点对点互 连450耦合的第一处理器470和第二处理器480。如图5所示,每个处 理器470和480可以为多核处理器,包括第一和第二处理器核(即,处 理器核474a和b以及处理器核484a和b)。第一处理器470还包括存储 器控制器中心(MCH) 472和点对点(P-P)接口 476与478。类似地,第二 处理器480包括MCH482和P-P接口 486与488。如图5所示,MCH472 和482将处理器耦合到相应存储器,即存储器432和存储器434,这些 存储器可以是在本地连接到相应处理器的主存储器的 一部分。
如图5所示,根据本发明一个实施例,处理器470可包括表473。 更具体地说,表473可以是支持的配置表,其包括多个MSR以标识硬 件特征及其升级状态。此外,根据本发明一个实施例,处理器470可包
括可重新配置逻辑475。可重新配置逻辑475可用于从远程服务器接收 指令,并根据指令启用系统内一个或多个硬件特征。还是如图5所示, 根据本发明一个实施例,处理器480可同样包括表483和可重新配置逻 辑485
第一处理器470和第二处理器480可分别经P-P接口 452和454耦 合到芯片集490。如图5所示,芯片集490包括P-P接口 494和498。 此外,芯片集490包括接口 492以便将芯片集490与高性能图形引擎438 耦合。在一个实施例中,高级图形端口(AGP)总线439可用于将图形引 擎438耦合到芯片集490。 AGP总线439可符合由加利福尼亚州圣塔克 拉拉的Intel公司在1998年5月4日发表的"水遽激歩端口凝口魂志, 。或者,点对点互连439可耦合这些组件。
芯片集490又可经接口 496耦合到第一总线416。在一个实施例中, 第一总线416可以是由1995年6月发表的"尸C7^举^4'魂志, ^本,2.7 y^"所定义的外围组件互连(PCI)总线,或者是诸如PCI Express 总线或另 一第三代I/O互连总线等总线,但本发明的范围并不限于此。
如图5所示,各种输入/输出(I/0)装置414可与总线桥418 —起耦 合到第一总线416,总线桥418将第一总线416耦合到第二总线420。 在一个实施例中,第二总线420可以为低引线数(LPC)总线。在一个实 施例中,各种装置可耦合到第二总线420,例如包括键盘/鼠标422、通 信装置426和可包括代码430的数据存储单元428。通信装置426可包 括网络接口卡、无线接口等等,以使系统400能够与远程系统通信以接 收升级指令。此外,音频1/0 424可耦合到第二总线420。
虽然已相对有限数量的实施例描述了本发明,但本领域的技术人员 将理解由此产生的多种修改和变化。所附权利要求书旨在涵盖落在本发 明真正精神和范围内的所有此类修改和变化。
权利要求
1.一种方法,包括确定系统是否与所述系统的硬件资源的升级兼容;在所述系统兼容时从远程系统接收指令以升级所述硬件资源;以及基于所述指令对所述硬件资源进行编程。
2. 如权利要求l所述的方法,还包括在确定所述系统兼容后,将所述系统的加密密钥发送到所述远程系 统;以及从所述远程系统接收加密的指令,其中所述指令包括微代码。
3. 如权利要求2所述的方法,其中对所述硬件资源进行编程包括 经根据微代码指令执行的动态熔融,对所述硬件资源进行永久性编程。
4. 如权利要求3所述的方法,其中所述动态熔融包括启用到对应于 所述升级的所述硬件资源的电路的路径。
5. 如权利要求l所述的方法,其中确定所述系统是否兼容包括对 所述系统的配置表作对应于所述升级的所述硬件资源的特征的启用状态 方面的分析。
6. 如权利要求5所述的方法,其中所述配置表在销售点设置,以确 证所述系统相对于所述特征可升级,其中所述确证是^S正所述系统包括 可与所述特征兼容的映像。
7. —种设备,包括集成电路,具有特征表以存储与要在包括所述集成电路的系统的销 售点之后启用的 一个或多个硬件特征的状态有关的信息。
8. 如权利要求7所述的设备,其中所述特征表包括第一状态寄存 器,以存储有关所述硬件特征的系统支持状态的信息,第一状态寄存器 由所述系统的供应商设置,以确证由所述供应商所配置的所述系统是否 能够支持所述硬件特征。
9. 如权利要求8所述的设备,其中所述特征表包括第二状态寄存器,以存储有关所述硬件特征的特征启用状态的信息,第二状态寄存器 由所述集成电路的制造商设置,以指示^所述集成电路中存在对应于所 述石更件特征的电i 各。
10. 如权利要求9所述的设备,其中所述特征表包括第三状态寄存器,以存储有关所述硬件特征的升级状态的信息,第三状态寄存器的至 少一部分要在成功启用所述硬件特征之一时设置。
11. 如权利要求7所述的设备,还包括动态熔丝编程逻辑,以对所 述集成电路进行编程,来根据从远程源接收的微代码启用至少一个所述 硬件特征。
12. 如权利要求11所述的设备,其中所述动态熔丝编程逻辑包括 熔丝熔烧控制器,熔烧至少一个熔丝以基于所述微代码启用至少一个所 述硬件特征;以及熔丝验证控制器,验证所述熔烧。
13. 如权利要求12所述的设备,其中所述集成电路包括处理器,并 且还包括执行至少一个所述硬件特征的所述处理器的块,所述块经所述 至少一个熔丝耦合到处理器核。
14. 如权利要求11所述的设备,其中所述集成电路包括所述硬件特 征,所述硬件特征除非由所述动态熔丝编程逻辑编程否则不启用。
15. 由权利要求7所述的设备,其中所述特征表包括用于在所述集 成电路的寄存器中可用的状态信息的集中式存储器,所述特征表对外部 系统可见。
16. —种包括机器可读存储介质的制品,所述机器可读存储介质含 有指令,所述指令在由机器执行时使所述机器能够执行包括如下步骤的 方法通过分析目标系统的特征表,确定所述目标系统有资格升级所述目 标系统的硬件组件;以及准备和发送升级指令到所述目标系统,所述升级指令使所述目标系 统对所述硬件组件进行编程,以启用所述升级。
17. 如权利要求16所述的制品,其中所述方法还包括提供生效指令到所述目标系统,所述生效指令确认所述目标系统的所述升级成功。
18. 如权利要求16所述的制品,其中所述方法还包括 在确认所述升级成功后,向与所述目标系统相关联的帐户收取所述升级的费用;以及在可由所述硬件组件的制造商访问的中央数据库中,记录有关所述 目标系统和所述升级的信息。
19. 如权利要求16所述的制品,其中所述方法还包括根据从所述 目标系统接收的加密密钥,以加密方式准备和发送所述升级指令。
20. —种系统,包括处理器,包含在所述系统的销售点不启用的硬件特征;编程器,耦合到所述硬件特征以在销售点后启用所述硬件特征;及接口 ,将所述系统连接到远程系统。
21. 如权利要求20所述的系统,其中所述处理器包括特征表,以存 储有关所述硬件特征的状态的信息。
22. 如权利要求21所述的系统,其中所述特征表包括第一状态寄存 器,以存储有关所述硬件特征的系统状态的信息,第一状态寄存器由所 述系统的供应商设置,以确证由所述供应商所配置的所述系统是否能够 支持所述硬件特征。
23. 如权利要求20所述的系统,其中所述编程器包括动态熔丝编程 逻辑,以根据从所述远程系统接收的指令启用所述硬件特4i。
24. 如权利要求23所述的系统,其中所述动态熔丝编程逻辑包括控 制器,以熔烧至少一个熔丝来将所述硬件特征耦合到处理器核。
25. 如权利要求20所述的系统,其中所述硬件特征包括安全特征。
全文摘要
在一个实施例中,本发明包括一种方法,用于确定系统是否与系统硬件资源的升级兼容,在系统兼容时从远程服务器接收指令以升级硬件资源,并基于该指令对硬件资源进行编程。在一个此类实施例中,硬件资源可经可编程熔丝编程以启用硬件资源的电路。描述和要求了其它实施例的权利。
文档编号G06F9/44GK101180608SQ200680017842
公开日2008年5月14日 申请日期2006年5月23日 优先权日2005年5月23日
发明者J·杜格拉斯, S·沙希扎德, W·柯比 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1