JP2008502057A5 - - Google Patents
Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 description 18
- 230000000875 corresponding Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 230000002093 peripheral Effects 0.000 description 1
- 230000001360 synchronised Effects 0.000 description 1
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に示す。
図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に示す。
図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)
- 方法であって、
デバイスの機能のイネーブルが許可されているかどうかを表す2進値を格納する前記デバイスの機能許可レジスタをチェックして、前記デバイスの機能のイネーブルが許可されているか判定する段階と、
前記デバイス上でイネーブルされた機能の総数が、前記デバイスで同時にイネーブルできる機能の最大数である最大許容機能数以下であるか判定する段階と、
前記デバイスの各機能をクレジット値と対応付ける段階と、
イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値を加算する段階と、
前記デバイスの前記機能のイネーブルが許可されており、前記デバイス上でイネーブルされた機能の総数が前記デバイスの前記最大許容機能数以下であり、かつ、前記イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値の加算値が前記最大許容機能数以下である場合に、前記デバイスの前記イネーブルされた前記機能のイネーブル状態を維持する段階と
を含み、
前記デバイスの機能のうち少なくともいずれかの機能は、他の機能に対応付けられた前記クレジット値とは異なるクレジット値が対応づけられ、
前記デバイスの最大許容機能数は、前記デバイスの機能カウント指定子レジスタにプログラミングされた値であり、
前記機能許可レジスタおよび前記機能カウント指定子レジスタは、1度に限ってプログラミング可能であり、プログラミングされた後はそれぞれの値にすべく永久的に配線接続される
方法。 - 前記機能許可レジスタの値を前記デバイスにプログラミングする段階
をさらに含む請求項1に記載の方法。 - 前記機能許可レジスタの値が前記デバイスの前記機能のイネーブルを許可する場合に、前記デバイスの前記機能のイネーブルを可能にする段階
をさらに含む請求項2に記載の方法。 - 前記機能許可レジスタの値を前記デバイスにプログラミングする段階は、前記機能許可レジスタに、前記デバイスのイネーブルが許可されているかどうかを表す2進値を格納する段階を含む
請求項2または3に記載の方法。 - 前記加算値が前記最大許容機能数よりも大きい場合に、1以上のデバイス機能をディセーブルする段階
をさらに含む請求項1から4のいずれか一項に記載の方法。 - 前記1以上のデバイス機能をディセーブルする段階は、すべてのデバイス機能をディセーブルする段階を含む
請求項5に記載の方法。 - 前記デバイスはI/Oコントローラハブをさらに備える
請求項1から6のいずれか一項に記載の方法。 - 前記デバイスはメモリコントローラハブをさらに備える
請求項1から7のいずれか一項に記載の方法。 - 前記デバイスは中央演算処理装置をさらに備える
請求項1から8のいずれか一項に記載の方法。 - 方法であって
デバイスの機能カウント指定子レジスタに、前記デバイスで同時にイネーブルできる機能の最大数である最大許容機能数を指定する段階と、
前記デバイスの機能のイネーブルが許可されているかどうかを表す2進値を格納する前記デバイスの機能許可レジスタをチェックして、前記デバイスの機能のイネーブルが許可されているか判定する段階と、
前記デバイスの各機能をクレジット値と対応付ける段階と、
イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値を加算する段階と、
前記デバイス上でイネーブルされた機能の総数が前記デバイスの前記指定された最大許容機能数を超えているか、前記イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値の加算値が前記指定された最大許容機能数を超えている場合、1以上のデバイス機能をディセーブルする段階と
を含み、
前記デバイスの機能のうち少なくともいずれかの機能は、他の機能に対応付けられた前記クレジット値とは異なるクレジット値が対応づけられ、
前記デバイスの最大許容機能数は、前記デバイスの機能カウント指定子レジスタにプログラミングされた値であり、
前記機能許可レジスタおよび前記機能カウント指定子レジスタは、1度に限ってプログラミング可能であり、プログラミングされた後はそれぞれの値にすべく永久的に配線接続される
方法。 - 前記デバイス上でイネーブルされた機能の総数が前記デバイスの前記指定された最大許容機能数を超えている場合、すべてのデバイス機能をディセーブルする段階
をさらに含む請求項10に記載の方法。 - 前記最大許容機能数を示す情報を前記デバイスのレジスタに格納する段階
をさらに含む請求項10または11に記載の方法。 - 前記デバイスはI/Oコントローラハブをさらに備える
請求項10から12のいずれか一項に記載の方法。 - 前記デバイスはメモリコントローラハブをさらに備える
請求項10から13のいずれか一項に記載の方法。 - 前記デバイスは中央演算処理装置をさらに備える
請求項10から14のいずれか一項に記載の方法。 - 方法であって、
デバイス上で1以上の機能のイネーブルが許可されているかどうか指定するべく、前記デバイスの機能のイネーブルが許可されているかどうかを表す2進値を格納する前記デバイスの1以上の機能許可レジスタに、各デバイス機能と対応付けられている値をプログラミングする段階と、
前記デバイスで同時にイネーブルできる機能の最大数である最大許容機能数を指定するべく、前記デバイス上の機能カウンタレジスタに値をプログラミングする段階と、
各デバイス機能に対応付けられた前記機能許可レジスタの値によって当該機能のイネーブルが許可されている場合に、デバイス初期化における当該機能のイネーブルを可能にする段階と、
各デバイス機能をクレジット値と対応付ける段階と、
イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値を加算する段階と、
デバイス初期化によってイネーブルされたデバイス機能の総数を計数する段階と、
前記デバイスでイネーブルされた機能の総数が前記デバイス上の前記最大許容機能数を超えているか、前記イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値の加算値が前記最大許容機能数を超えている場合、すべてのデバイス機能をディセーブルする段階と
を含む方法。 - デバイス初期化は前記デバイスの起動シーケンスをさらに含む
請求項16に記載の方法。 - 前記デバイスはI/Oコントローラハブをさらに備える
請求項16または17に記載の方法。 - 前記デバイスはメモリコントローラハブをさらに備える
請求項16から18のいずれか一項に記載の方法。 - 前記デバイスは中央演算処理装置をさらに備える
請求項16から19のいずれか一項に記載の方法。 - 前記デバイスの各機能は、機能イネーブルレジスタの1以上のビットに対応付けられ、
前記機能イネーブルレジスタの値は、前記デバイスの各機能をイネーブルまたはディセーブルするべくシステムの初期化中に変更され、
前記デバイスの各機能に対応付けられた前記クレジット値は、各機能に対応付けられた前記機能イネーブルレジスタのビットの数によって定められる
請求項1から20のいずれか一項に記載の方法。 - 装置であって、
デバイスの機能のイネーブルが許可されているかどうかを表す2進値を格納する前記デバイスの機能許可レジスタをチェックして、デバイスの機能のイネーブルが許可されているか判定する回路と、
前記デバイス上でイネーブルされた機能の総数が前記デバイスで同時にイネーブルできる機能の最大数である最大許容機能数以下であるか判定する回路と、
前記デバイスの前記機能のイネーブルが許可されており、前記デバイス上でイネーブルされた機能の総数が前記最大許容機能数以下である場合に、前記デバイスの前記イネーブルされた前記機能のイネーブル状態を維持する回路と
を備え、
前記デバイスの各機能はクレジット値と対応付けられており、
前記デバイスの機能のうち少なくともいずれかの機能は、他の機能に対応付けられた前記クレジット値とは異なるクレジット値が対応づけられ、
前記デバイスの最大許容機能数は、前記デバイスの機能カウント指定子レジスタにプログラミングされた値であり、
前記機能許可レジスタおよび前記機能カウント指定子レジスタは、1度に限ってプログラミング可能であり、プログラミングされた後はそれぞれの値にすべく永久的に配線接続され、
前記デバイスの前記イネーブルされた前記機能のイネーブル状態を維持する回路は、イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値の加算値が前記最大許容機能数以下であることを更なる条件として、前記デバイスの前記イネーブルされた前記機能のイネーブル状態を維持する
装置。 - 前記デバイス上の前記最大許容機能数を指定して、
前記デバイス上の前記最大許容機能数を表す情報をレジスタに格納する
請求項22に記載の装置。 - 前記デバイス上でイネーブルされた機能の総数が前記デバイスの前記指定された最大許容機能数を超えている場合、すべてのデバイス機能をディセーブルする回路
をさらに備える請求項23に記載の装置。 - 前記デバイスの各機能は、機能イネーブルレジスタの1以上のビットに対応付けられ、
前記機能イネーブルレジスタの値は、前記デバイスの各機能をイネーブルまたはディセーブルするべくシステムの初期化中に変更され、
前記デバイスの各機能に対応付けられた前記クレジット値は、各機能に対応付けられた前記機能イネーブルレジスタのビットの数によって定められる
請求項22から24のいずれか一項に記載の装置。 - 前記デバイスはI/Oコントローラハブをさらに備える
請求項22から25のいずれか一項に記載の装置。 - 前記デバイスはメモリコントローラハブをさらに備える
請求項22から26のいずれか一項に記載の装置。 - 前記デバイスは中央演算処理装置をさらに備える
請求項22から27のいずれか一項に記載の装置。 - システムであって、
バスと、
前記バスに接続されたプロセッサと、
前記バスに接続されたチップセットと
を備え、
前記チップセットは、
デバイスの機能のイネーブルが許可されているか判定する回路と、
前記デバイス上でイネーブルされた機能の総数が、前記デバイスで同時にイネーブルできる機能の最大数である最大許容機能数以下であるか判定する回路と、
前記デバイスの前記機能のイネーブルが許可されていて且つ前記デバイス上でイネーブルされた機能の総数が前記デバイスの前記最大許容機能数以下である場合に、前記デバイスの前記イネーブルされた前記機能のイネーブル状態を維持する回路と
を有し、
前記デバイスの各機能はクレジット値と対応付けられており、
前記デバイスの前記イネーブルされた前記機能のイネーブル状態を維持する回路は、イネーブルされた全ての機能にそれぞれ対応付けられた前記クレジット値の加算値が前記最大許容機能数以下であることを更なる条件として、前記デバイスの前記イネーブルされた前記機能のイネーブル状態を維持する
システム。 - 前記デバイス上のレジスタに2進値を格納する回路をさらに備え、当該2進値は前記デバイスの前記機能のイネーブルが許可されているかどうかを表す
をさらに備える請求項29に記載のシステム。 - 前記デバイス上の前記最大許容機能数を表す情報をレジスタに格納する回路
をさらに備える請求項29または30に記載のシステム。 - 前記デバイスの各機能は、機能イネーブルレジスタの1以上のビットに対応付けられ、
前記機能イネーブルレジスタの値は、前記デバイスの各機能をイネーブルまたはディセーブルするべくシステムの初期化中に変更され、
前記デバイスの各機能に対応付けられた前記クレジット値は、各機能に対応付けられた前記機能イネーブルレジスタのビットの数によって定められる
請求項29から31のいずれか一項に記載のシステム。
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)
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)
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 |
-
2004
- 2004-06-30 US US10/883,518 patent/US7636795B2/en not_active Expired - Fee Related
-
2005
- 2005-06-28 GB GB0621455A patent/GB2429810B/en not_active Expired - Fee Related
- 2005-06-28 KR KR1020067027820A patent/KR100870291B1/ko not_active IP Right Cessation
- 2005-06-28 WO PCT/US2005/023540 patent/WO2006005006A2/en active Application Filing
- 2005-06-28 CN CN2005800212875A patent/CN1977228B/zh not_active Expired - Fee Related
- 2005-06-28 JP JP2007515707A patent/JP4806403B2/ja not_active Expired - Fee Related
- 2005-06-28 DE DE112005001532T patent/DE112005001532B4/de not_active Expired - Fee Related
- 2005-06-29 TW TW094121836A patent/TWI299451B/zh not_active IP Right Cessation
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 |