专利名称:可配置的特征选择机制的利记博彩app
技术领域:
本发明涉及设备上的编程和选择特征。
背景技术:
库存预测、库存管理和存货保管单元(SKU)管理成本对于大型硬件技术公司来说是很大的负担。硬件公司满足客户对制造的每件硬件的个别特征和特征组合的要求的能力受限于该公司可以支持的硬件SKU数量上的制造限制。例如,芯片组通常具有许多可能的特征组合,且每种组合目前需要各自不同的硬件SKU。客户必须针对该芯片组的唯一硬件SKU的每一个维护多个板。这也迫使客户要针对芯片组的每个不同SKU维护唯一的主板线路件和管理库存。附加的硬件SKU带来相关的财务负担,并促成库存管理风险和复杂性。硬件公司目前无法支持单个物理硬件SKU上的多个备选可配置特征。因此,具有可以支持多个备选可配置特征的单个物理硬件SKU将是有益的。这允许硬件公司捕获具有因成本或库存复杂性限制无法使用现有SKU方法支持的那些特征和组合的值。
通过示例说明本发明,并且附图中的图不限制本发明,其中相似的引用号表示相似部件,其中图1是计算机系统的一个实施例的框图。
图2是特征选择机制的实施例的电路图。
图3是特征选择机制的另一个实施例的电路图。
图4是一个实施例中的特征选择机制的结果的示例。
图5是用于启用设备上的特征的过程的一个实施例的流程图。
图6是用于最初配置设备以允许特征启用的过程的一个实施例的流程图。
图7是用于利用特征选择寄存器和特征权限指示符来启用设备上的特征的过程的一个实施例的流程图。
图8是用于确定设备特征计数是否超过最大允许特征计数的过程的一个实施例的流程图。
具体实施例方式
公开有效可配置的特征选择机制的实施例。在下文描述中,提出许多特定的细节。但是,要理解,这些实施例可以不依据这些特定细节来实施。在其他实例中,不在细节上论述公知的部件、规范和协议,以免使本发明变得含糊。
图1是计算机系统的一个实施例的框图。
计算机系统可以包括处理器100、存储器控制器集线器(MCH)102和I/O控制器集线器(ICH)108。MCH 102和ICH 108可以包括芯片组。处理器100可以经主机总线耦合到MCH 102。MCH 102可以耦合到系统存储器104。在不同实施例中,系统存储器可以是同步动态随机存取存储器(SDRAM)、双倍数据速率SDRAM(DDR-SDRAM)、Rambus RAM(RDRAM)或许多其他格式的主系统存储器的其中之一。MCH 102还可以耦合到图形模块106。在一个实施例中,图形模块可以是加速图形端口(AGP)图形卡。ICH 108可以耦合到I/O总线110、硬盘驱动器112、键盘控制器114和鼠标控制器116。在不同实施例中,ICH 108还可以耦合到任何数量的I/O装置、总线和/或控制器,例如独立磁盘的冗余阵列(RAID)控制器、外围组件接口(PCI)总线或通用串行总线(USB)。在另一个实施例中,ICH 108还可以具有多个内部特征,如内部高定义音频能力和在移动平台上用于节省电池使用寿命的电源管理特征。
在一个实施例中,ICH 108可以具有可编程特征权限指示符(FPD)118,用于确定系统初始化期间是否允许特征被启用。在一个实施例中,FPD可以是位于ICH 108内的寄存器中的1位值。在一个实施例中,寄存器中的1位FPD值仅可编程一次,之后被永久性地硬连线到编程的值。在该实施例中,可以在编程时通过将熔丝耦合到寄存器位线(具有相关的位值)并在最初编程期间允许熔丝根据期望的位值保持闭合或断开熔丝来硬连线该值。
在一个实施例中,如果与FPD 118相关联的位值永久性地编程为取消选定(即启用特征的权限被禁止),则与该FPD 118相关联的特征被永久性地禁用。另外在该实施例中,如果与FPD 118相关联的位值永久性地编程为选定(即授予启用该特征的权限),则与该FPD118相关联的特征会在后续系统初始化期间被启用。在一个实施例中,如果FPD 118选择该特征,则该特征会在断电事件之后引导系统时被启用。在另一个实施例中,如果选择该特征,则该特征仅在禁用保存实时时钟功能的电池备用之后初始化时才会被启用。在不同的实施例中,ICH 108可以具有特征启用寄存器(FER)(featureenable register)120,特征启用寄存器(FER)120在系统引导期间被基本输入/输出系统(BIOS)、软件或其他编程机制编程为启用每个特征。在一个实施例中,硬件带可以永久性地以一个值对FER 120编程。硬件带是装置内针脚上传送的位信号,它基于初始化期间(即引导期间)某个时间的位信号的逻辑值设置硬件中的某些位。
在一个实施例中,将每个特征与FER 120内的1位相关联。在另一个实施例中,将某些特征与FER 120内的多位相关联,以允许每个特征多个级别的功能性。在一个实施例中,有多个特征与ICH 108相关联。在该实施例中,每个FPD 118值存储在FPD 118寄存器内,FER 120具有每个FPD 118值的对应位(和相关联的值)。然后特征选择机制将FPD 118值与FER 120值比较,以确定选择哪些特征并之后在系统中启用。因此,如果选择特定特征的FPD 118值(即允许被启用),则可以在系统初始化期间修改该相同特征的对应FER 120值。因此,在一个实施例中,如果FPD 118值和对应的FER 120值都是逻辑1位值,则启用该特征。ICH 108内的FPD 118和FER 120逻辑电路将称为软件特征选择器(SFS),因为它能够在使用BIOS、软件或其他编程机制在系统初始化期间启用和禁用每个特征。
图2是特征选择机制的实施例的电路图。最初,将原功能(即特征)禁用值(输入202)输入到逻辑“或”门212以与SFS输出(输出210)执行“或”运算。因此,如果功能禁用值(输入202)是逻辑1,则自动禁用该功能,因为逻辑“或”门212将输出1。
一旦完成了初始FPD编程(上文描述的),则将与特征相关联的特定FPD值(输入204)输入到SFS 200。将FPD值(输入204)输入到逻辑“与非”门208以与相应的FER值(输入206)执行“与非”运算。可以在系统初始化期间修改FER值(输入206),以便启用或禁用该特征。将SFS输出(输出210)输入到逻辑“或”门212。最后,从逻辑“或”门212输出特征选择机制输出值214。因此,在该实施例中,仅在FPD值(输入204)和对应的FER值(输入206)都是逻辑1且功能禁用值(输入202)是逻辑0的情况下,才启用该特征。表1中显示特征选择机制输出值214的结果。
表1.图2实施例的特征选择机制结果图3是特征选择机制的另一个实施例的电路图。在该实施例中,输入到SFS 300中的FDP值(输入304)确定启用SFS 300还是禁用SFS 300。最初,将原功能(即特征)禁用值(输入302)输入到逻辑“或”门314以与SFS输出(输出312)执行“或”运算。因此,如果功能禁用值(输入302)是逻辑1,则自动禁用该功能,因为逻辑“或”门314将输出1。
一旦完成了初始FPD编程(上文描述的),则将与特征相关联的特定FPD值(输入304)输入到SFS 300。将FPD值(输入304)输入到逻辑“与”门310以与对应的FER值(输入306)(由反相器308反相)执行“与”运算。可以在系统初始化期间修改FER值(输入306),以启用或禁用该特征。将SFS输出(输出312)输入到逻辑“或”门314。最后,从逻辑“或”门314输出特征选择机制输出值316。如上文所描述,在该实施例中,SFS 300有效地由FPD值(输入304)来启用和禁用。因此,如果作为逻辑0输入FPD值(输入304),则SFS 300被禁用,功能禁用值(输入302)然后控制启用还是禁用相关的特征。表2中显示特征选择机制输出值316的结果。
表2.图3实施例的特征选择机制结果返回到图1,在一个实施例中,ICH 108可以具有可编程特征计数指示符(FCD)字段122。在该实施例中,可以将FCD 122设置为等于ICH 108可以同时启用的特征的最大数量的数值。在一个实施例中,FCD 122可以由位于ICH 108内的寄存器中的数值表示。在一个实施例中,该寄存器中的数值只能编程一次,之后永久性地硬连线到编程的值。在一个实施例中,可以在编程时通过将熔丝耦合到每个寄存器位线(各具有相关的位值)并在该寄存器的最初编程期间允许熔丝根据期望的位值保持闭合或断开熔丝来硬连线该值。在一个实施例中,FCD 122值可以是可表示0到7的特征计数的3位值。在其他实施例中,FPD 122值将等于启用FCD值对与ICH 108相关联的所有特征计数所需的位的数量。
在一个实施例中,可以利用FCD 122值来限制ICH 108上选定的特征的数量。因此,在该实施例中,系统初始化期间,将FCD 122值与选定的特征的总数(即处于逻辑1的FPD值的数量)比较,如果选定的特征的总数大于FCD 122值,则禁用所有特征。在另一个实施例中,系统初始化期间,将FCD 122值与被启用的特征的总数(即处于逻辑1的FER 120位的数量)比较,如果被启用的特征的总数大于FCD 122值,则禁用所有特征。在该实施例中,最初可以将系统编程为允许所有特征(即最初将每个FPD值编程为逻辑1来选定所有特征),然后限制每次后续系统初始化启用的特征的数量。例如,如果ICH 108具有三个允许的特征(RAID、SCSI和USB),而FCD 122值被硬连线到2的数值,则在系统初始化时,可能这三个特征中的两个被选定(即RAID和SCSI、RAID和USB或者SCSI和USB),而非全部三个被选定。因此,在该实施例中,可以在系统初始化期间允许定制编程,但是仍允许在超过允许的特征计数的情况下禁用所有特征。
在另一个实施例中,系统初始化期间,将FCD 122值与被启用的特征的总数(即处于逻辑1的FER 120位的数量)比较,如果被启用的特征的总数大于FCD 122值,将禁用一定数量的特征,以使FER 120位的总数小于或等于FCD 122值。在一个实施例中,对ICH108中的该组特征设定优先级,并按优先级顺序禁用它们。
在一个实施例中,将特征与多于一个FER 120位值相关联。在该实施例中,可以对ICH 108上的不同特征以区别方式赋予值。例如,RAID特征可以在值上是SCSI特征的两倍。因此,SCSI特征可能具有一个相关联的FER 120位,而RAID特征可以具有两个与之相关联的分离的FER 120位。在该实施例中,与每个特征相关联的FER120位的数量给予该特征某个特征信用值。因此,在该实施例中,在系统初始化期间,将与所有被启用的特征相关联的信用总数相加,并将该值与FCD 122值比较。如果信用总数大于FCD 122值,则禁用所有特征。在另一个实施例中,如果信用总数大于FCD 122值,则禁用一个或多个特征。
图4是一个实施例中的特征选择机制的结果示例。存储FPD位值的FPD寄存器400可以永久性地编程为选定可以随后由FER 402启用的某些特征。被启用的这些特征已经“被选定”(即FPD位的逻辑1值)和“被启用”(即FER 120位的逻辑1值)。因此,在该示例中,被启用的特征是PCI、USB和串行高级技术连接(SATA),它们由结果箭头404中的逻辑1表示。此外,FCD 406由3位值表示。在该示例中,3位值是二进制1-0-1或十进制的5。因此,对于两个FCD实施例(上文所描述),这些特征都保持启用,因为FPD寄存器400和FER 402都不具有大于5的逻辑1位的数量。
图5是用于启用设备上的特征的过程的一个实施例的流程图。该过程由处理逻辑来执行,处理逻辑可以包括硬件(电路、专用逻辑等)、软件(如在通用计算机系统或专用机器上运行的软件)或二者的组合。参考图5,过程开始于处理逻辑确定是否允许设备上的特征被启用或禁用(处理框500)。接下来,如果处理逻辑确定不允许启用或禁用该特征,则处理逻辑不允许(即禁止)启用或禁用该设备特征(处理框506)。否则,如果处理逻辑确定允许该特征被启用或禁用,则处理逻辑确定设备上被启用的特征的总数是否小于该设备上允许的特征的最大数量(处理框502)。如果处理逻辑确定该设备上被启用的特征的总数大于该设备上允许的特征的最大数量,则处理逻辑不允许启用或禁用该设备特征(处理框506)。否则,如果处理逻辑确定该设备上被启用的特征的总数小于该设备上允许的特征的最大数量,则处理逻辑允许启用或禁用该设备特征(处理框504)。
图6是用于最初将设备编程为允许特征启用的过程的一个实施例的流程图。该过程由处理逻辑来执行,处理逻辑可以包括硬件(电路、专用逻辑等)、软件(如运行在通用计算机系统或专用机器上的软件)或二者的组合。参考图6,该过程开始于处理逻辑对设备的FPD编程(处理框600)。在一个实施例中,每个FPD与一个设备特征相关联。如果FPD值是逻辑1,则处理逻辑允许相关联的设备被启用。否则,如果FPD值是逻辑0,则处理逻辑禁止启用相关联的设备。在一个实施例中,FPD值只能编程一次,之后永久地硬连线到编程的值。
该过程继续,处理逻辑对设备的FCD编程(处理框602)。在一个实施例中,可以将FCD设置为等于该设备可以同时启用的特征的最大数量的数值。在一个实施例中,该寄存器中的数值只能编程一次,之后永久地硬连线到编程的值。
图7是用于利用特征启用寄存器(FER)和特征权限指示符(FPD)启用设备上的特征的过程的一个实施例的流程图。该过程由处理逻辑来执行,处理逻辑可以包括硬件(电路、专用逻辑等)、软件(如运行在通用计算机系统或专用机器上的软件)或二者的组合。参考图7,该过程开始于处理逻辑确定FER是否请求启用相关的设备特征(处理框700)。在一个实施例中,处理逻辑确定FER中与相关设备特征相关联的位位置上的值是逻辑1还是逻辑0。如果该值是逻辑0,则没有启用该特征的请求,过程完成。否则,如果该值是逻辑1,则处理逻辑确定FPD是否允许启用设备特征(处理框702)。在一个实施例中,处理逻辑确定与相关设备特征相关联的FPD的值是逻辑1还是逻辑0。如果该值是逻辑1,则处理逻辑允许启用该设备特征(处理框704)。否则,如果该值是逻辑0,则处理逻辑不启用该设备特征(处理框706)。
图8是用于确定设备特征计数是否超过最大允许的特征计数的过程的一个实施例的流程图。该过程由处理逻辑来执行,处理逻辑可以包括硬件(电路、专用逻辑等)、软件(如运行在通用计算机系统或专用机器上的软件)或二者的组合。参考图8,该过程开始于处理逻辑确定设备上被启用的特征的总数(处理框800)。接下来,该过程继续,处理逻辑确定FCD的值(处理框802)。
处理逻辑将被启用的特征的总数与FCD值比较(处理框804)。如果被启用的特征的总数不超过FCD值,则处理逻辑允许这些特征保持被启用(处理框806)。否则,如果被启用的特征的总数超过FCD值,则处理逻辑禁用所有这些特征(处理框808)。
上文所引述的许多实施例利用ICH作为所讨论的设备的示例。尽管如此,但是上面实施例中引述的设备还可以是具有可修改特征的任何类型的设备,例如MCH、处理器或任何其他类型的集成电路装置。此外,在某些实施例中,FPD、FSR和FCD值不存储在具有可修改特征的设备上。在某些实施例中,FPD、FSR和FCD值不存储在相关设备所在的系统内的第二设备或非易失性存储器中。
由此,公开有效可编程的特征选择机制的实施例。这些实施例是参考本文的特定示范实施例来描述的。但是,对于利用本公开文献的技术人员来说,显然在不背离本文所描述的这些实施例的精神和范围的前提下可以对这些实施例进行多种修改和更改。因此,本说明书和附图应视为说明性意义的而非限定性意义的。
权利要求
1.一种方法,包括确定是否允许启用设备上的特征;确定所述设备上被启用的特征的总数是否小于或等于所述设备上允许的特征的最大数量;以及在允许启用所述设备特征且所述设备上被启用的特征的总数小于或等于所述设备上允许的特征的最大数量的情况下,允许启用所述设备特征。
2.如权利要求1所述的方法,还包括利用永久性特征指示符值对所述设备编程,以允许特征权限的后续确定。
3.如权利要求2所述的方法,还包括在所述永久性特征指示符值允许启用所述设备特征的情况下,允许启用所述设备特征。
4.如权利要求2所述的方法,其特征在于,利用永久性特征指示符值对所述设备编程包括在所述设备上的寄存器中存储二进制值,其中所述二进制值指示是否允许启用所述设备。
5.如权利要求1所述的方法,还包括将永久性允许的特征的最大数的值编程到所述设备的寄存器中。
6.如权利要求1所述的方法,还包括将每个设备特征与一个或多个信用值相关联;将所有被启用的设备特征的相关联的信用值相加;以及在所有被启用的设备特征的信用值的总和大于允许的特征的最大数量的情况下,禁用一个或多个设备特征。
7.如权利要求6所述的方法,其特征在于,禁用一个或多个设备特征还包括禁用所有设备特征。
8.如权利要求1所述的方法,其特征在于,所述设备还包括I/O控制器集线器。
9.如权利要求1所述的方法,其特征在于,所述设备还包括存储器控制器集线器。
10.如权利要求1所述的方法,其特征在于,所述设备还包括中央处理单元。
11.一种方法,包括指定设备上允许的特征的最大数量;以及在所述设备上被启用的特征的总数超过所述设备上允许的特征的最大数量的情况下,禁用一个或多个设备特征。
12.如权利要求11所述的方法,还包括在所述设备上被启用的特征的总数超过所述设备上允许的特征的最大数量的情况下,禁用所有设备特征。
13.如权利要求11所述的方法,还包括将指示允许的特征的最大数量的信息存储在所述设备上的寄存器中。
14.如权利要求11所述的方法,其特征在于,所述设备还包括I/O控制器集线器。
15.如权利要求11所述的方法,其特征在于,所述设备还包括存储器控制器集线器。
16.如权利要求11所述的方法,其特征在于,所述设备还包括中央处理单元。
17.一种方法,包括对设备上的一个或多个特征权限寄存器中的值编程,以指定是否允许启用所述设备上的一个或多个特征,其中将每个特征权限寄存器值与个别设备特征相关联;对所述设备上的特征计数寄存器中的值编程,以指定所述设备上允许的特征的最大数量;在对应的特征权限寄存器值允许启用所述特征的情况下,允许在设备初始化时启用对应的每个设备特征;在设备初始化时对被启用的设备特征的总数计数;以及在所述设备上被启用的特征的总数超过所述设备上允许的特征的最大数量的计数的情况下,禁用所有设备特征。
18.如权利要求17所述的方法,其特征在于,设备初始化还包括所述设备的开机顺序。
19.如权利要求17所述的方法,其特征在于,所述设备还包括I/O控制器集线器。
20.如权利要求17所述的方法,其特征在于,所述设备还包括存储器控制器集线器。
21.如权利要求17所述的方法,其特征在于,所述设备还包括中央处理单元。
22.一种设备,包括确定是否允许启用设备上的特征的电路;确定所述设备上被启用的特征的总数是否小于或等于所述设备上允许的特征的最大数量的电路;以及在允许启用所述设备特征且所述设备上被启用的特征的总数小于或等于所述设备上允许的特征的最大数量的情况下允许启用所述设备特征的电路。
23.如权利要求22所述的设备,还可用来在所述设备上的寄存器中存储二进制值,其中所述二进制值指示是否允许启用所述设备的操作。
24.如权利要求22所述的设备,还可用来指定所述设备上允许的特征的最大数量;以及在寄存器中存储指示所述设备上允许的特征的最大数量的信息。
25.如权利要求24所述的设备,还包括在所述设备上被启用的特征的总数超过所述设备上允许的特征的最大数量的情况下禁用所有设备特征的电路。
26.如权利要求22所述的设备,其特征在于,所述设备还包括I/O控制器集线器。
27.如权利要求22所述的设备,其特征在于,所述设备还包括存储器控制器集线器。
28.如权利要求22所述的设备,其特征在于,所述设备还包括中央处理单元。
29.一种系统,包括总线;耦合到所述总线的处理器;以及耦合到所述总线的芯片组,所述芯片组包括确定是否允许启用设备上的特征的电路;确定所述设备上被启用的特征的总数是否小于或等于所述设备上允许的特征的最大数量的电路;以及在允许启用所述设备特征且所述设备上被启用的特征的总数小于或等于所述设备上允许的特征的最大数量的情况下允许启用所述设备特征的电路。
30.如权利要求29所述的系统,其特征在于,所述系统还包括在所述设备上的寄存器中存储二进制值的电路,其中所述二进制值指示是否允许启用所述设备特征的操作。
31.如权利要求29所述的系统,其特征在于,所述系统还包括将指示允许的特征的最大数量的信息存储在所述设备上的寄存器中的电路。
全文摘要
公开一种方法、设备和系统。在一个实施例中,该方法包括确定设备上的特征是否允许被启用,确定所述设备上被启用的特征的总数是否小于或等于所述设备上允许的特征的最大数量,以及如果设备特征允许被启用且设备上被启用的特征的总数小于或等于设备上允许的特征的最大数量,则允许所述设备特征的启用。
文档编号G06F1/00GK1977228SQ200580021287
公开日2007年6月6日 申请日期2005年6月28日 优先权日2004年6月30日
发明者G·M·赫斯, R·W·斯特隆, J·T·布朗, M·N·德尔 申请人:英特尔公司