JP2008502057A5 - - Google Patents

Download PDF

Info

Publication number
JP2008502057A5
JP2008502057A5 JP2007515707A JP2007515707A JP2008502057A5 JP 2008502057 A5 JP2008502057 A5 JP 2008502057A5 JP 2007515707 A JP2007515707 A JP 2007515707A JP 2007515707 A JP2007515707 A JP 2007515707A JP 2008502057 A5 JP2008502057 A5 JP 2008502057A5
Authority
JP
Japan
Prior art keywords
function
enabled
functions
value
register
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.)
Granted
Application number
JP2007515707A
Other languages
English (en)
Other versions
JP2008502057A (ja
JP4806403B2 (ja
Filing date
Publication date
Priority claimed from US10/883,518 external-priority patent/US7636795B2/en
Application filed filed Critical
Publication of JP2008502057A publication Critical patent/JP2008502057A/ja
Publication of JP2008502057A5 publication Critical patent/JP2008502057A5/ja
Application granted granted Critical
Publication of JP4806403B2 publication Critical patent/JP4806403B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

コンフィグラブルな機能選択機構
本発明は、デバイスの機能をプログラミングすることおよび選択することに関する。
在庫予測、在庫管理およびストック・キーピング・ユニット(SKU)の管理は、ハードウェア技術関連の大企業にとって金銭的に大きな負担である。ハードウェア製造企業が顧客の需要に基づき所望の機能および機能の組み合わせを備える製品、つまりハードウェアを提供できるか否かには、企業が製造可能なハードウェアのSKUの個数が限られているので、限度がある。例を挙げて説明すると、チップセットの機能は通常さまざまに組み合わせることが可能で、現時点では組み合わせ毎にハードウェアのSKUを別々にする必要がある。チップセットのハードウェアSKUが別々になっているので、各SKUに対応できるよう顧客は複数のボードを保持する必要がある。さらに、専門化したマザーボードのラインのアイテムを保持し、且つチップセットの識別可能なSKU毎に在庫を管理しなければならない。ハードウェアSKUの種類が増えると、それに応じて金銭面での負担が増加する。また、在庫管理にリスクが生じるとともに複雑になってしまう。ハードウェア関連企業では現在のところ、ある1つの物理的なハードウェアSKUに関して、何通りにも選択可能且つコンフィグラブルな機能を実現することができない。このため、何通りにも選択可能且つコンフィグラブルな機能を実現できる物理的なハードウェアSKUを提供することができれば、大きな効果があると考えられる。このような構成が可能となればハードウェア関連企業は、現在のSKU方法ではコスト面または在庫管理の複雑さのため実現不可能であったが、何通りにも選択可能且つコンフィグラブルな機能およびその組み合わせに割り当てられた値を取得できる。
本発明を例に基づいて説明する。本発明は添付の図面によって限定されるものではない。添付図面では、同様の構成要素は同様の参照符号を用いて示している。以下に図面を簡単に説明する。
一実施形態に係るコンピュータシステムを示すブロック図である。
一実施形態に係る機能選択機構を示す回路図である。
別の実施形態に係る機能選択機構を示す回路図である。
一実施形態に係る機能選択機構の出力結果の例を示す。
一実施形態に係る、デバイス上で機能をイネーブルするためのプロセスを示すフローチャートである。
一実施形態に係る、機能のイネーブルを可能にするべくデバイスを最初にプログラミングするためのプロセスを示すフローチャートである。
一実施形態に係る、機能選択レジスタおよび機能許可指示子に基づきデバイスの機能をイネーブルするためのプロセスを示すフローチャートである。
一実施形態に係る、デバイス機能カウンタの値が最大許容機能数を超えているか判定するためのプロセスを示すフローチャートである。
コンフィグラブルな機能選択機構の実施形態を開示する。以下の説明においては、具体的且つ詳細な記載が多くある。しかし、以下に開示する具体的且つ詳細な記載に基づかなくとも実施例を実現できるのは明らかである。また、公知の素子、仕様およびプロトコルについては、本発明の説明があいまいになるのを避けるべく、詳細な説明を省略している。
図1は、一実施形態に係るコンピュータシステムを示すブロック図である。該コンピュータシステムは、プロセッサ100、メモリコントローラハブ(MCH)102およびI/Oコントローラハブ(ICH)108を備えるとしてもよい。MCH102およびICH108はチップセットを有するとしてもよい。プロセッサ100はホストバスを介してMCH102に接続されるとしてもよい。MCH102はシステムメモリ104に接続されるとしてもよい。ほかの実施形態においては、システムメモリはSDRAM(Synchronous Dynamic Random Access Memory)、DDR−SDRAM(Double Data Rate SDRAM)、RDRAM(RAMBUS DRAM)と初めとするメインシステムメモリのフォーマットであってもよい。MCH102はさらに、グラフィクスモジュール106に接続されるとしてもよい。一実施形態に係るグラフィクスモジュールは、AGP(Accelerated Graphics Port)グラフィクスカードであってもよい。ICH108は、I/Oバス110、ハードドライブ112、キーボードコントローラ114およびマウスコントローラ116に接続されるとしてもよい。別の実施形態によると、ICH108はさらに、1以上のI/Oデバイス、バスおよび/またはコントローラ(例えば、RAID(Redundant Array of Independent Disks)コントローラ)、PCI(周辺機器インターフェース)バス、もしくはUSB(Universal Serial Bus)などに接続されるとしてもよい。別の実施形態によると、ICH108はさらに複数の機能を内部に持つとしてもよい。例を挙げると、内部高解像度音声機能およびバッテリー寿命を延ばすために携帯可能プラットフォームで利用される電力管理機能などがある。
一実施形態に係るICH108は、システム初期化中においてある機能のイネーブルが許可されているかどうか判定する上で用いられる、プログラム可能な機能許可指示子(FPD)118を有するとしてもよい。一実施形態によると、FPDはICH108内のレジスタに格納される1ビットの値であってもよい。一実施形態によると、レジスタに格納される1ビットのFPDの値は一度に限ってプログラム可能で、その後はプログラミングされた値に永久に固定される。本実施形態では、この値はプログラミングされると(対応するビットの値を用いて)レジスタビットラインにヒューズを接続することによって固定されるとしてもよい。この時、ヒューズは閉じたままとしてもよいし、最初のプログラミング中にビットの値によってはヒューズを開けるとしてもよい。
一実施形態によると、FPD118に対応付けられたビットの値が「非選択」に永久にプログラミングされている場合(つまり、機能のイネーブルを許可することが禁止された場合)、FPD118に対応付けられた機能は永久にディセーブルとなる。一方、この実施形態において、FPD118に対応付けられたビット値が「選択」に永久にプログラミングされている場合(つまり機能をイネーブルする許可が与えられている場合)、FPD118に対応付けられた機能は、その後実施されるシステム初期化においてイネーブルされるとしてもよい。一実施形態によると、ある機能に対応付けられたFPD118が「選択」を示す場合、電源オフイベント後にシステムが起動する時にこの機能がイネーブルされるとしてもよい。別の実施形態によると、この機能が「選択」されている場合、この機能はリアルタイムでクロックを機能させているバッテリーバックアップがディセーブルされた後に初期化が行われた場合に限りイネーブルされるとしてもよい。別の実施形態では、ICH108は機能イネーブルレジスタ(FER)120を有するとしてもよい。FER120は、各機能をイネーブルするべくシステム起動中にBIOS(基本入出力システム)およびソフトウェアを初めとするプログラミング機構によってプログラミングされる。一実施形態によると、FER120はハードウェアストラップによって、ある値に永久にプログラミングされるとしてもよい。ハードウェアストラップはビット信号であり、初期化中(つまり起動中)のある時点において該ビット信号の論理値に基づきハードウェアのあるビットを設定するデバイス内のピンを介して送信される。
一実施形態によると、各機能はFER120内で1ビットと対応付けられている。別の実施形態によると、1つの機能について複数のレベルの機能性を与えるべく、FER120内で複数のビットに対応付けられる機能があってもよい。一実施形態によると、ICH108に対応付けられた機能が複数ある。本実施形態によると、FPD118の値はそれぞれFPD118のレジスタに格納され、FER120はFPD118の値それぞれに対して対応するビット(および対応する値)を持つ。機能選択機構はFPD118の値とFER120の値を比較し、「選択」され且つ後にシステム内でイネーブルされる機能はどれかを判定する。このため、ある機能に対応するFPD118の値が選択されている(つまりイネーブルが許可されている)場合、この機能に対応するFER120の値が、システム初期化中に該機能をイネーブルすべく変更されるとしてもよい。このため一実施形態によると、この機能がイネーブルされるのは、FPD118の値と対応するFER120のビットの値が両方とも1という論理値である場合となる。ICH108内のFPD118およびFER120用の論理回路はソフトウェア機能セレクタ(SFS)と呼ばれる。これは、この論理回路が、BIOSやソフトウェアなどのプログラミング機構を用いてシステム初期化中に機能をイネーブルおよびディセーブルすることができるためである。
図2は、一実施形態に係る機能選択機構を示す回路図である。まず、原機能(つまり、機能)ディセーブル値(入力202)が論理ORゲート212に入力され、SFS出力(出力210)との間で論理和(OR)をとる。このため、機能ディセーブル値(入力202)が論理値1であれば、論理ORゲート212は1を出力するので、該機能は自動的にディセーブルされる。
最初のFPDプログラミング(上述の記載を参照のこと)が完了すると、機能に対応付けられたあるFPDの値(入力204)がSFS200に入力される。このFPDの値(入力204)は論理NANDゲート208に入力され、対応するFERの値(入力206)との間で否定積(NAND)をとる。このFERの値(入力206)は、該機能をイネーブルもしくはディセーブルするべくシステム初期化中に変更されるとしてもよい。SFS出力(出力210)は論理ORゲート212に入力される。最後に、機能選択機構の出力値214は論理ORゲート212から出力される。このように、本実施形態によると、該機能がイネーブルされるのは、FPDの値(入力204)および対応するFERの値(入力206)がともに論理値1であって、機能ディセーブル値(入力202)が論理値0の場合に限られる。機能選択機構の出力値214の例を表1に示す。
Figure 2008502057
図3は、別の実施形態に係る機能選択機構を示す回路図である。この実施形態によると、SFS300に入力されるFPDの値(入力304)によって、SFS300がイネーブルもしくはディセーブルされるかどうか決まる。まず、原機能(つまり、機能)ディセーブル値(入力302)が論理ORゲート314に入力され、SFS出力(出力312)との間で論理和(OR)をとる。このため、機能ディセーブル値(入力302)が論理値1であれば、論理ORゲート314は論理値1を出力するので、該機能は自動的にディセーブルされる。
最初のFPDプログラミング(上述の説明を参照のこと)が完了すると、機能に対応付けられたFPDの値(入力304)がSFS300に入力される。FPDの値(入力304)が論理ANDゲート310に入力され、インバータ308によって反転された対応するFERの値(入力306)との間で論理積(AND)をとる。このFERの値(入力306)は、該機能をイネーブルもしくはディセーブルするべくシステム初期化中に変更されるとしてもよい。SFSの出力(出力312)は論理ORゲート314に入力される。最後に、機能選択機構の出力値316が論理ORゲート314から出力される。上述したように、本実施形態では、SFS300がFPDの値(入力304)によってイネーブルもしくはディセーブルされる。このように、FPDの値(入力304)が論理値0として入力されるとSFS300はディセーブルされ、該機能がイネーブルされるかディセーブルされるかは機能ディセーブル値(入力302)によって制御される。機能選択機構の出力値316の例を表2に示す。
Figure 2008502057
図1に戻って、一実施形態によると、ICH108はプログラム可能な機能カウンタ指定子(FCD)フィールド122を有するとしてもよい。この実施形態によると、FCD122は、ICH108が同時にイネーブルできる機能の最大数に等しい数値に設定されるとしてもよい。一実施形態によると、FCD122は、ICH108内のレジスタにある数値によって表されるとしてもよい。一実施形態によると、このレジスタに格納された数値は一度に限ってプログラム可能で、その後はプログラミングされた値に永久に固定される。一実施形態では、この値はプログラミングされると(対応するビットの値を用いて)各レジスタビットラインにヒューズを接続することによって固定されるとしてもよい。この時、ヒューズは閉じたままとしてもよいし、レジスタの最初のプログラミング中にビット値によってはヒューズを開けるとしてもよい。一実施形態によると、FCD122の値は3ビットの値で、0から7までの機能カウントを示すとしてもよい。別の実施形態によると、FCD122の値はICH108に対応付けられた機能すべてを計数するために必要なビット数を持つ。
一実施形態によると、FCD122の値を用いてICH108上の選択される機能の数を限定するとしてもよい。このためこの実施形態では、システム初期化中にFCD122の値と選択された機能の総数(つまり論理値が1に設定されたFPDの数)を比較し、選択された機能の総数がFCD122の値より大きければ、すべての機能をディセーブルする。別の実施形態によると、システム初期化中にFCD122の値とイネーブルされた機能の総数(つまり、論理値が1に設定されたFER120のビットの数)を比較し、イネーブルされた機能の総数がFCD122の値より大きければ、すべての機能をディセーブルする。この実施形態によると、システムは最初すべての機能を許可するようにプログラミングされ(つまり、すべてのFPDの値を論理値1に最初にプログラミングすることによってすべての機能を「選択」する)、後でシステム初期化を実行するたびにイネーブルされる機能の数を限定するとしてもよい。例えば、ICH108において許可された機能が3つあり(RAID、SCSIおよびUSB)、FCD122の値が2に固定されている場合、システム初期化においてはこの3つの機能のうち2つ(つまり、RAIDとSCSI、RAIDとUSBもしくはSCSIとUSB)を選択し、3つすべてが選択されないとしてもよい。このため、この実施形態によるとシステム初期化においてカスタムプログラミングを実行することができるが、許可された機能の数を超えていればすべての機能をディセーブルすることもできる。
別の実施形態によると、システム初期化中にFCD122の値はイネーブルされた機能の総数(つまり、論理値が1であるFER120のビットの数)と比較され、イネーブルされた機能の総数がFCD122の値より大きければ、FER120のビットの総数がFCD122の値以下になるようにいくつかの機能をディセーブルする。一実施形態によると、ICH108の一連の機能には優先順位が付けられ、優先順位に従ってディセーブルされる。
一実施形態によると、1つの機能はFER120のビットのうち2つ以上に対応付けられるとしてもよい。この実施形態によると、ICH108上の機能に割り当てられる値の付け方は異なるとしてもよい。例えば、RAIDの機能はSCSIの機能に比べ、2倍の値が割り当てられるとしてもよい。このため、SCSIの機能に対応付けられたFER120のビットの数は1個である一方、RAIDの機能に対応付けられたFER120のビットの数は2個であるとしてもよい。この実施形態によると、各機能に対応付けられたFER120のビットの数に応じて、その機能機能クレジット値が決まる。このようにしてこの実施形態によると、システム初期化中にすべてのイネーブルされた機能に対応付けられたクレジットの総数が加算され、加算結果とFCD122の値を比較する。クレジットの総数がFCD122の値より大きい場合は、すべての機能をディセーブルする。別の実施形態によると、クレジットの総数がFCD122の値より大きい場合には、1以上の機能をディセーブルする。
図4は、一実施形態に係る、機能選択機構の出力結果を例示する。FPDビットの値を格納するFPDレジスタ400は、後にFER402によってイネーブルされる可能性がある機能を選択するべく、不変の値にプログラミングされるとしてもよい。イネーブルされる機能は、「選択」され(つまり、FPDビットが論理値1を示す)且つ「イネーブル」されている(つまり、FERビットが論理値1を示す)。このためこの例によると、イネーブルされる機能は、結果を示す列404で論理値1と対応付けられている、PCI、USB、SATA(Serial Advance Technology Attachment)である。また、FCD406は3ビットの値で示されている。本例ではこの3ビットの値は2進法で1−0−1となっており、10進法では5となる。このような構成とすると、FPDレジスタ400もFER402でも論理値1を示すビットの数が5を超えていないので、FCDに関連するどちらの実施形態の場合も(上述の記載を参照のこと)、上述のイネーブルされた機能のイネーブル状態を維持する。
図5は、一実施形態に係る、デバイス上の機能をイネーブルするためのプロセスを示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステムまたは専用マシンで実行されるもの)もしくは両者の組み合わせを備える処理ロジックによって実行される。図5に示すように、このプロセスは処理ロジックがデバイス上の機能のイネーブルまたはディセーブルが許可されているかどうかを判定することから始まる(処理ブロック500)。続いて、該機能のイネーブル/ディセーブルが許可されていないと判定した場合、処理ロジックは該デバイス機能のイネーブル/ディセーブルを許可しない(つまり、禁止する)(処理ブロック506)。一方、該機能のイネーブル/ディセーブルが許可されていると判定した場合、処理ロジックはデバイス上でイネーブルされた機能の総数がデバイス上での最大許容機能数未満であるかどうか判定する(処理ブロック502)。デバイス上でイネーブルされた機能の総数がデバイス上での最大許容機能数より大きいと判定した場合、処理ロジックは該デバイス機能のイネーブル/ディセーブルを許可しない(処理ブロック506)。一方、デバイス上でイネーブルされた機能の総数がデバイス上での最大許容機能数未満と判定した場合、処理ロジックは該デバイス機能のイネーブル/ディセーブルを許可する(処理ブロック504)。
図6は、一実施形態に係る、機能のイネーブルを許可すべくデバイスをプログラミングするためのプロセスを示すフローチャートである。このプロセスは、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステムまたは専用マシンで実行されるもの)もしくは両者の組み合わせを備える処理ロジックによって実行される。図6に示すように、このプロセスは処理ロジックがデバイスのFPDをプログラミングすることから始まる(処理ブロック600)。一実施形態によると、各FPDは1つのデバイス機能と対応付けられている。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の値を、該デバイスを備えるシステム中の第2デバイスもしくは不揮発性ストレージに格納する。
以上では、本発明の実施形態に係るプログラム可能な機能選択機構を開示している。上述の実施形態は具体的な例に基づいて説明されている。しかし、本明細書で開示した実施形態の目的および範囲から離れることなく上述の実施形態をさまざまに変更できることは明らかである。従って、本明細書および添付の図面は本発明を説明するためのものであって、限定するものではないと解釈されるべきである。

Claims (32)

  1. 方法であって、
    デバイスの機能のイネーブルが許可されているかどうかを表す2進値を格納する前記デバイスの機能許可レジスタをチェックして、前記デバイスの機能のイネーブルが許可されているか判定する段階と、
    前記デバイス上でイネーブルされた機能の総数が前記デバイスで同時にイネーブルできる機能の最大数である最大許容機能数以下であるか判定する段階と、
    前記デバイスの各機能をクレジット値と対応付ける段階と、
    イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値を加算する段階と、
    前記デバイスの前記機能のイネーブルが許可されており、前記デバイス上でイネーブルされた機能の総数が前記デバイスの前記最大許容機能数以下であり、かつ、前記イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値の加算値が前記最大許容機能数以下である場合に、前記デバイスの前記イネーブルされた前記機能のイネーブル状態維持する段階と
    を含み、
    前記デバイスの機能のうち少なくともいずれかの機能は、他の機能に対応付けられた前記クレジット値とは異なるクレジット値が対応づけられ、
    前記デバイスの最大許容機能数は、前記デバイスの機能カウント指定子レジスタにプログラミングされた値であり、
    前記機能許可レジスタおよび前記機能カウント指定子レジスタは、1度に限ってプログラミング可能であり、プログラミングされた後はそれぞれの値にすべく永久的に配線接続される
    方法。
  2. 前記機能許可レジスタの値を前記デバイスにプログラミングする段階
    をさらに含む請求項1に記載の方法。
  3. 前記機能許可レジスタの値が前記デバイスの前記機能のイネーブルを許可する場合に、前記デバイスの前記機能のイネーブルを可能にする段階
    をさらに含む請求項2に記載の方法。
  4. 前記機能許可レジスタの値を前記デバイスにプログラミングする段階は、前記機能許可レジスタに、前記デバイスのイネーブルが許可されているかどうかを表す2進値を格納する段階を含む
    請求項2または3に記載の方法。
  5. 前記加算値が前記最大許容機能数よりも大きい場合に、1以上のデバイス機能をディセーブルする段階
    をさらに含む請求項1から4のいずれか一項に記載の方法。
  6. 前記1以上のデバイス機能をディセーブルする段階は、すべてのデバイス機能をディセーブルする段階を含む
    請求項5に記載の方法。
  7. 前記デバイスはI/Oコントローラハブをさらに備える
    請求項1から6のいずれか一項に記載の方法。
  8. 前記デバイスはメモリコントローラハブをさらに備える
    請求項1から7のいずれか一項に記載の方法。
  9. 前記デバイスは中央演算処理装置をさらに備える
    請求項1から8のいずれか一項に記載の方法。
  10. 方法であって
    デバイスの機能カウント指定子レジスタに、前記デバイスで同時にイネーブルできる機能の最大数である最大許容機能数を指定する段階と、
    前記デバイスの機能のイネーブルが許可されているかどうかを表す2進値を格納する前記デバイスの機能許可レジスタをチェックして、前記デバイスの機能のイネーブルが許可されているか判定する段階と、
    前記デバイスの各機能をクレジット値と対応付ける段階と、
    イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値を加算する段階と、
    前記デバイス上でイネーブルされた機能の総数が前記デバイスの前記指定された最大許容機能数を超えているか、前記イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値の加算値が前記指定された最大許容機能数を超えている場合、1以上のデバイス機能をディセーブルする段階と
    を含み、
    前記デバイスの機能のうち少なくともいずれかの機能は、他の機能に対応付けられた前記クレジット値とは異なるクレジット値が対応づけられ、
    前記デバイスの最大許容機能数は、前記デバイスの機能カウント指定子レジスタにプログラミングされた値であり、
    前記機能許可レジスタおよび前記機能カウント指定子レジスタは、1度に限ってプログラミング可能であり、プログラミングされた後はそれぞれの値にすべく永久的に配線接続される
    方法。
  11. 前記デバイス上でイネーブルされた機能の総数が前記デバイスの前記指定された最大許容機能数を超えている場合、すべてのデバイス機能をディセーブルする段階
    をさらに含む請求項10に記載の方法。
  12. 前記最大許容機能数を示す情報を前記デバイスのレジスタに格納する段階
    をさらに含む請求項10または11に記載の方法。
  13. 前記デバイスはI/Oコントローラハブをさらに備える
    請求項10から12のいずれか一項に記載の方法。
  14. 前記デバイスはメモリコントローラハブをさらに備える
    請求項10から13のいずれか一項に記載の方法。
  15. 前記デバイスは中央演算処理装置をさらに備える
    請求項10から14のいずれか一項に記載の方法。
  16. 方法であって、
    デバイス上で1以上の機能のイネーブルが許可されているかどうか指定するべく、前記デバイスの機能のイネーブルが許可されているかどうかを表す2進値を格納する前記デバイスの1以上の機能許可レジスタに、各デバイス機能と対応付けられている値をプログラミングする段階と、
    前記デバイスで同時にイネーブルできる機能の最大数である最大許容機能数を指定するべく、前記デバイス上の機能カウンタレジスタに値をプログラミングする段階と、
    各デバイス機能に対応付けられた前記機能許可レジスタの値によって当該機能のイネーブルが許可されている場合に、デバイス初期化における当該機能のイネーブルを可能にする段階と、
    各デバイス機能をクレジット値と対応付ける段階と、
    イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値を加算する段階と、
    デバイス初期化によってイネーブルされたデバイス機能の総数を計数する段階と、
    前記デバイスでイネーブルされた機能の総数が前記デバイス上の前記最大許容機能数を超えているか、前記イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値の加算値が前記最大許容機能数を超えている場合、すべてのデバイス機能をディセーブルする段階と
    を含む方法。
  17. デバイス初期化は前記デバイスの起動シーケンスをさらに含む
    請求項16に記載の方法。
  18. 前記デバイスはI/Oコントローラハブをさらに備える
    請求項16または17に記載の方法。
  19. 前記デバイスはメモリコントローラハブをさらに備える
    請求項16から18のいずれか一項に記載の方法。
  20. 前記デバイスは中央演算処理装置をさらに備える
    請求項16から19のいずれか一項に記載の方法。
  21. 前記デバイスの各機能は、機能イネーブルレジスタの1以上のビットに対応付けられ、
    前記機能イネーブルレジスタの値は、前記デバイスの各機能をイネーブルまたはディセーブルするべくシステムの初期化中に変更され、
    前記デバイスの各機能に対応付けられた前記クレジット値は、各機能に対応付けられた前記機能イネーブルレジスタのビットの数によって定められる
    請求項1から20のいずれか一項に記載の方法。
  22. 装置であって、
    デバイスの機能のイネーブルが許可されているかどうかを表す2進値を格納する前記デバイスの機能許可レジスタをチェックして、デバイスの機能のイネーブルが許可されているか判定する回路と、
    前記デバイス上でイネーブルされた機能の総数が前記デバイスで同時にイネーブルできる機能の最大数である最大許容機能数以下であるか判定する回路と、
    前記デバイスの前記機能のイネーブルが許可されており、前記デバイス上でイネーブルされた機能の総数が前記最大許容機能数以下である場合に、前記デバイスの前記イネーブルされた前記機能のイネーブル状態維持する回路と
    を備え、
    前記デバイスの各機能はクレジット値と対応付けられており、
    前記デバイスの機能のうち少なくともいずれかの機能は、他の機能に対応付けられた前記クレジット値とは異なるクレジット値が対応づけられ、
    前記デバイスの最大許容機能数は、前記デバイスの機能カウント指定子レジスタにプログラミングされた値であり、
    前記機能許可レジスタおよび前記機能カウント指定子レジスタは、1度に限ってプログラミング可能であり、プログラミングされた後はそれぞれの値にすべく永久的に配線接続され、
    前記デバイスの前記イネーブルされた前記機能のイネーブル状態維持する回路は、イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値の加算値が前記最大許容機能数以下であることを更なる条件として、前記デバイスの前記イネーブルされた前記機能のイネーブル状態維持する
    装置。
  23. 前記デバイス上の前記最大許容機能数を指定して、
    前記デバイス上の前記最大許容機能数を表す情報をレジスタに格納する
    請求項22に記載の装置。
  24. 前記デバイス上でイネーブルされた機能の総数が前記デバイスの前記指定された最大許容機能数を超えている場合、すべてのデバイス機能をディセーブルする回路
    をさらに備える請求項23に記載の装置。
  25. 前記デバイスの各機能は、機能イネーブルレジスタの1以上のビットに対応付けられ、
    前記機能イネーブルレジスタの値は、前記デバイスの各機能をイネーブルまたはディセーブルするべくシステムの初期化中に変更され、
    前記デバイスの各機能に対応付けられた前記クレジット値は、各機能に対応付けられた前記機能イネーブルレジスタのビットの数によって定められる
    請求項22から24のいずれか一項に記載の装置。
  26. 前記デバイスはI/Oコントローラハブをさらに備える
    請求項22から25のいずれか一項に記載の装置。
  27. 前記デバイスはメモリコントローラハブをさらに備える
    請求項22から26のいずれか一項に記載の装置。
  28. 前記デバイスは中央演算処理装置をさらに備える
    請求項22から27のいずれか一項に記載の装置。
  29. システムであって、
    バスと、
    前記バスに接続されたプロセッサと、
    前記バスに接続されたチップセットと
    を備え、
    前記チップセットは、
    デバイスの機能のイネーブルが許可されているか判定する回路と、
    前記デバイス上でイネーブルされた機能の総数が前記デバイスで同時にイネーブルできる機能の最大数である最大許容機能数以下であるか判定する回路と、
    前記デバイスの前記機能のイネーブルが許可されていて且つ前記デバイス上でイネーブルされた機能の総数が前記デバイスの前記最大許容機能数以下である場合に、前記デバイスの前記イネーブルされた前記機能のイネーブル状態維持する回路と
    を有し、
    前記デバイスの各機能はクレジット値と対応付けられており、
    前記デバイスの前記イネーブルされた前記機能のイネーブル状態維持する回路は、イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値の加算値が前記最大許容機能数以下であることを更なる条件として、前記デバイスの前記イネーブルされた前記機能のイネーブル状態維持する
    システム。
  30. 前記デバイス上のレジスタに2進値を格納する回路をさらに備え、当該2進値は前記デバイスの前記機能のイネーブルが許可されているかどうかを表す
    をさらに備える請求項29に記載のシステム。
  31. 前記デバイス上の前記最大許容機能数を表す情報をレジスタに格納する回路
    をさらに備える請求項29または30に記載のシステム。
  32. 前記デバイスの各機能は、機能イネーブルレジスタの1以上のビットに対応付けられ、
    前記機能イネーブルレジスタの値は、前記デバイスの各機能をイネーブルまたはディセーブルするべくシステムの初期化中に変更され、
    前記デバイスの各機能に対応付けられた前記クレジット値は、各機能に対応付けられた前記機能イネーブルレジスタのビットの数によって定められる
    請求項29から31のいずれか一項に記載のシステム。
JP2007515707A 2004-06-30 2005-06-28 コンフィグラブルな機能選択機構 Expired - Fee Related JP4806403B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/883,518 US7636795B2 (en) 2004-06-30 2004-06-30 Configurable feature selection mechanism
US10/883,518 2004-06-30
PCT/US2005/023540 WO2006005006A2 (en) 2004-06-30 2005-06-28 Configurable feature selection mechanism

Publications (3)

Publication Number Publication Date
JP2008502057A JP2008502057A (ja) 2008-01-24
JP2008502057A5 true JP2008502057A5 (ja) 2011-03-10
JP4806403B2 JP4806403B2 (ja) 2011-11-02

Family

ID=34982526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007515707A Expired - Fee Related JP4806403B2 (ja) 2004-06-30 2005-06-28 コンフィグラブルな機能選択機構

Country Status (8)

Country Link
US (1) US7636795B2 (ja)
JP (1) JP4806403B2 (ja)
KR (1) KR100870291B1 (ja)
CN (1) CN1977228B (ja)
DE (1) DE112005001532B4 (ja)
GB (1) GB2429810B (ja)
TW (1) TWI299451B (ja)
WO (1) WO2006005006A2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7417782B2 (en) * 2005-02-23 2008-08-26 Pixtronix, Incorporated Methods and apparatus for spatial light modulation
US7636795B2 (en) 2004-06-30 2009-12-22 Intel Corporation Configurable feature selection mechanism
US7405852B2 (en) * 2005-02-23 2008-07-29 Pixtronix, Inc. Display apparatus and methods for manufacture thereof
US8159428B2 (en) 2005-02-23 2012-04-17 Pixtronix, Inc. Display methods and apparatus
US7675665B2 (en) 2005-02-23 2010-03-09 Pixtronix, Incorporated Methods and apparatus for actuating displays
US9082353B2 (en) 2010-01-05 2015-07-14 Pixtronix, Inc. Circuits for controlling display apparatus
US9229222B2 (en) 2005-02-23 2016-01-05 Pixtronix, Inc. Alignment methods in fluid-filled MEMS displays
US7742016B2 (en) * 2005-02-23 2010-06-22 Pixtronix, Incorporated Display methods and apparatus
US8519945B2 (en) 2006-01-06 2013-08-27 Pixtronix, Inc. Circuits for controlling display apparatus
US9261694B2 (en) * 2005-02-23 2016-02-16 Pixtronix, Inc. Display apparatus and methods for manufacture thereof
US9158106B2 (en) * 2005-02-23 2015-10-13 Pixtronix, Inc. Display methods and apparatus
US7755582B2 (en) 2005-02-23 2010-07-13 Pixtronix, Incorporated Display methods and apparatus
US7616368B2 (en) * 2005-02-23 2009-11-10 Pixtronix, Inc. Light concentrating reflective display methods and apparatus
US7999994B2 (en) 2005-02-23 2011-08-16 Pixtronix, Inc. Display apparatus and methods for manufacture thereof
US8310442B2 (en) 2005-02-23 2012-11-13 Pixtronix, Inc. Circuits for controlling display apparatus
US20070205969A1 (en) 2005-02-23 2007-09-06 Pixtronix, Incorporated Direct-view MEMS display devices and methods for generating images thereon
US7304786B2 (en) * 2005-02-23 2007-12-04 Pixtronix, Inc. Methods and apparatus for bi-stable actuation of displays
US7693596B2 (en) * 2005-12-14 2010-04-06 Dell Products L.P. System and method for configuring information handling system integrated circuits
US8526096B2 (en) 2006-02-23 2013-09-03 Pixtronix, Inc. Mechanical light modulators with stressed beams
US7876489B2 (en) * 2006-06-05 2011-01-25 Pixtronix, Inc. Display apparatus with optical cavities
TW200801897A (en) 2006-06-29 2008-01-01 Ibm Single system board with automatic feature selection based on installed configuration selection unit
JP5078332B2 (ja) * 2006-12-04 2012-11-21 キヤノン株式会社 情報処理装置、情報処理方法
US9176318B2 (en) * 2007-05-18 2015-11-03 Pixtronix, Inc. Methods for manufacturing fluid-filled MEMS displays
US8286093B2 (en) * 2008-01-09 2012-10-09 Dell Products L.P. Replacement motherboard configuration
US8248560B2 (en) 2008-04-18 2012-08-21 Pixtronix, Inc. Light guides and backlight systems incorporating prismatic structures and light redirectors
CN102112963B (zh) * 2008-08-05 2017-06-23 惠普开发有限公司 用于定制软件的方法和设备
US8169679B2 (en) 2008-10-27 2012-05-01 Pixtronix, Inc. MEMS anchors
KR101537699B1 (ko) * 2009-01-29 2015-07-20 엘지전자 주식회사 이동단말기 및 그의 디바이스 접근 제어방법
BR112012019383A2 (pt) 2010-02-02 2017-09-12 Pixtronix Inc Circuitos para controlar aparelho de exibição
EP2531881A2 (en) 2010-02-02 2012-12-12 Pixtronix Inc. Methods for manufacturing cold seal fluid-filled display apparatus
US20110205756A1 (en) * 2010-02-19 2011-08-25 Pixtronix, Inc. Light guides and backlight systems incorporating prismatic structures and light redirectors
US9134552B2 (en) 2013-03-13 2015-09-15 Pixtronix, Inc. Display apparatus with narrow gap electrostatic actuators
WO2016130114A1 (en) 2015-02-10 2016-08-18 Hewlett Packard Enterprise Development Lp Chipset reconfiguration based on device detection
EP3274851B1 (en) * 2015-03-27 2020-06-17 Intel Corporation Dynamic configuration of input/output controller access lanes
US10699033B2 (en) * 2017-06-28 2020-06-30 Advanced Micro Devices, Inc. Secure enablement of platform features without user intervention
KR20200112908A (ko) 2018-01-19 2020-10-05 쑤저우 시노벤트 파마슈티칼즈 씨오., 엘티디. 헤테로시클릭 화합물, 제조 방법 및 의약품에서의 이의 용도
CN116074150B (zh) * 2023-03-02 2023-06-09 广东浩博特科技股份有限公司 智能家居的开关控制方法、装置以及智能家居

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US566411A (en) 1896-08-25 Josef schoene
US5023907A (en) 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
US4897866A (en) 1988-10-19 1990-01-30 American Telephone And Telegraph Company, At&T Bell Laboratories Telecommunication system with subscriber controlled feature modification
US5515524A (en) 1993-03-29 1996-05-07 Trilogy Development Group Method and apparatus for configuring systems
US5666411A (en) 1994-01-13 1997-09-09 Mccarty; Johnnie C. System for computer software protection
JPH0816471A (ja) * 1994-06-30 1996-01-19 Mitsubishi Electric Corp メモリ装置及びキャッシュメモリ装置
KR100391727B1 (ko) 1994-11-09 2003-11-01 소니 일렉트로닉스 인코포레이티드 메모리시스템및메모리억세싱방법
US6014723A (en) * 1996-01-24 2000-01-11 Sun Microsystems, Inc. Processor with accelerated array access bounds checking
JPH09305414A (ja) * 1996-05-13 1997-11-28 Casio Comput Co Ltd プロセス管理方法
US6397268B1 (en) * 1996-10-01 2002-05-28 Compaq Information Technologies Group, L.P. Tracking PCI bus numbers that change during re-configuration
US5889977A (en) 1996-12-13 1999-03-30 Intel Corporation Method and apparatus for ensuring feature compatability and communicating feature settings between processors and motherboards
JP4002012B2 (ja) * 1998-01-08 2007-10-31 富士ゼロックス株式会社 複合機及びサーバ及び複合機・サーバシステム及びプログラム記録媒体
US6052739A (en) * 1998-03-26 2000-04-18 Sun Microsystems, Inc. Method and apparatus for object-oriented interrupt system
US6735770B1 (en) * 1998-04-27 2004-05-11 Sun Microsystems, Inc. Method and apparatus for high performance access to data in a message store
JP2000194651A (ja) * 1998-12-25 2000-07-14 Oki Electric Ind Co Ltd 集積回路
WO2001039140A1 (fr) 1999-11-25 2001-05-31 Fujitsu Limited Dispositif de securite et programme de securite de stockage sur support lisible par ordinateur
US6357016B1 (en) * 1999-12-09 2002-03-12 Intel Corporation Method and apparatus for disabling a clock signal within a multithreaded processor
US20020133471A1 (en) * 2001-02-23 2002-09-19 Fetneh Eskandari Configuration enablement of franking system
JP4510332B2 (ja) * 2001-06-28 2010-07-21 ヤンマー株式会社 油圧式無段変速装置及び動力伝達装置
JP2003122697A (ja) * 2001-10-11 2003-04-25 Sony Corp コミュニケーションシステム、コミュニケーション方法、コミュニケーションプログラム、並びに情報処理装置
JP2003140798A (ja) * 2001-11-02 2003-05-16 Casio Comput Co Ltd 表示制御装置およびプログラム
US20030160992A1 (en) * 2002-02-28 2003-08-28 Weaver Jeffrey Scott Enabling printing features for authorized users
AU2003221725A1 (en) * 2002-04-19 2003-11-03 Walker Digital, Llc Managing features on a gaming device
EP1414233A1 (en) * 2002-05-08 2004-04-28 Broadcom Corporation System and method for configuring device features via programmable memory
US7046997B2 (en) * 2002-12-23 2006-05-16 Intel Corporation Trial upgrade capability for wireless handheld devices
US8135795B2 (en) * 2003-04-03 2012-03-13 International Business Machines Corporation Method to provide on-demand resource access
US7894348B2 (en) * 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7222006B2 (en) * 2004-01-13 2007-05-22 General Motors Corporation Method for determination of pre-authorization engine operation time for a vehicle theft deterrent system
US7636795B2 (en) 2004-06-30 2009-12-22 Intel Corporation Configurable feature selection mechanism

Similar Documents

Publication Publication Date Title
JP4806403B2 (ja) コンフィグラブルな機能選択機構
JP2008502057A5 (ja)
CN104572517B (zh) 提供被请求数据的方法、控制器以及计算机系统
CN102567109B (zh) 中断分配方案
US8301938B2 (en) Managing memory health
US10402567B2 (en) Secure boot for multi-core processor
US8812828B2 (en) Methods and apparatuses for recovering usage of trusted platform module
US7721034B2 (en) System and method for managing system management interrupts in a multiprocessor computer system
US20140201576A1 (en) System and Method for Improving Solid State Storage System Reliability
US20070146005A1 (en) System and method for configuring information handling system integrated circuits
US10346345B2 (en) Core mapping
EP3646224B1 (en) Secure key storage for multi-core processor
CN106233258B (zh) 可变宽度纠错
GB2445303A (en) A key database for configuring integrated circuits used in information handling systems
US11138140B2 (en) Configuring first subsystem with a master processor and a second subsystem with a slave processor
US20070277016A1 (en) Methods and apparatus related to memory modules
WO2008030727A2 (en) Access control of memory space in microprocessor systems
US10296467B2 (en) Securing writes to memory modules having memory controllers
US20240201766A1 (en) System-on-Chip with DVFM Protection Circuit
EP3782066A1 (en) Nop sled defense
US9684602B2 (en) Memory access control device, cache memory and semiconductor device
US20060085204A1 (en) Method and system for testing information handling system components
US11360782B2 (en) Processors to configure subsystems while other processors are held in reset
US10768942B1 (en) Option ROM dispatch policy configuration interface
US20150127860A1 (en) Setting a pcie device id