カスタム集積回路IC内において実装されるモデルまたはコードのための最適数値フォーマット表現を自動的に決定する方法であって、a.前記モデルまたはコード内のダイナミックレンジ対スタティックレンジの比を決定し、かつ前記比に基づいて浮動小数点または固定小数点数値表現を選択し、b.あらかじめ決定済みのビット精度算術計算に関連付けされるハードウエア面積コストおよびパワーコストを含むコスト関数に基づいて最適数値表現フォーマットを決定し、c.前記最適数値表現フォーマットに対してカスタマイズされたプロセッサアーキテクチャを自動的に生成し、d.前記生成されたプロセッサアーキテクチャを、半導体製造のために前記カスタム集積回路のコンピュータ可読記述に合成する、方法。最適化コストとして前記数値表現のためのメモリストレージ要件を使用する請求項1に記載の方法。最適化コストとして前記数値表現のためのリアルタイムパフォーマンスを決定する請求項1に記載の方法。前記数値表現フォーマット内において必要とされるビット数を決定する請求項1に記載の方法。前記ビット数は、任意の数を含む請求項4に記載の方法。前記選択された数値表現フォーマットが入力信号値をノイズフロアより下にするか否かを決定する請求項1に記載の方法。コスト関数を使用して前記最適数値表現フォーマットを評価し、前記コスト関数の評価が望ましいコストを超える場合には、システムのコスト要件を満たすべく変数軸に沿って処理が進行する請求項1に記載の方法。望ましいコストを達成するべく前記モデルまたはコードにスケーリング操作を挿入する請求項1に記載の方法。カスタム集積回路IC内において実装されるモデルまたはコードのための最適数値フォーマット表現を自動的に決定するシステムであって、a.前記モデルまたはコード内のダイナミックレンジ対スタティックレンジの比を決定し、かつ前記比に基づいて浮動小数点または固定小数点数値表現を選択し、b.あらかじめ決定済みのビット精度算術計算に関連付けされるハードウエア面積およびパワーコストを含むコスト関数に基づいて前記最適数値表現フォーマットを決定し、c.前記最適数値表現フォーマットに対してカスタマイズされたプロセッサアーキテクチャを自動的に生成し、d.前記生成されたプロセッサアーキテクチャを、半導体製造のために前記カスタム集積回路のコンピュータ可読記述に合成する、ためのコンピュータ可読コードを備えるシステム。1つの最適化コストとして前記数値表現のためのメモリストレージ要件を使用するコードを備える請求項9に記載のシステム。1つの最適化コストとして前記数値表現のためのリアルタイムパフォーマンスを決定するコードを備える請求項9に記載のシステム。前記数値表現フォーマット内において必要とされるビット数を決定するコードを備える請求項9に記載のシステム。前記ビット数は、任意の数を含む、請求項12に記載のシステム。前記選択された数値表現フォーマットが必要とされる信号をノイズフロアより下にするか否かを決定するコードを備える請求項9に記載のシステム。コスト関数を使用して前記最適数値表現フォーマットを評価し、前記コスト関数の評価が望ましいコストを超える場合には、システムのコスト要件を満たすべく変数軸に沿って処理が進行するコードを備える請求項9に記載のシステム。望ましいコストを達成するべく前記モデルまたはコード内にスケーリング操作を挿入するコードを備える請求項9に記載のシステム。1つの態様においては、コンピュータ可読コードまたはモデルによって記述されるカスタム集積回路ICを自動的に生成するシステムおよび方法が開示され、少なくともこのICは、浮動小数点パラメータ、パフォーマンス制約、および入力信号のためのスタティックレンジならびにダイナミックレンジを有する。これは、ダイナミックレンジ対スタティックレンジの比を決定し、当該比があらかじめ決定済みの値を超過する場合には浮動小数点数値表現を選択し、それ以外であれば固定小数点数値表現を選択し、パフォーマンス制約に基づいて数値表現フォーマットを選択し、選択された数値表現フォーマットに対して固有のカスタマイズがなされたハードウエアを含むプロセッサアーキテクチャを自動的に生成し、生成されたプロセッサアーキテクチャを、半導体製造のためにカスタム集積回路のコンピュータ可読記述に合成する、ことによって行なわれる。上記の態様の実装には、次に示す内容のうちの1つまたは複数を含めることができる。方法は、生成されたプロセッサアーキテクチャを伴うカスタムIC上においてコンピュータ可読コードを実行することを含む。数値表現フォーマットは、さらに、それぞれの数値表現における数値表現のメモリストレージ要件、ハードウエア面積およびパワーコスト、リアルタイムパフォーマンス、またはパフォーマンスの低下の決定を包含する1つまたは複数のICパフォーマンス要件に基づいて選択することが可能である。数値表現フォーマットに必要とされるビット数が決定されるが、そのビット数は、8、16、24、32、64、128、または2Nビットといった一般的に使用されているビット数ではなく、奇数のビット数を有することが可能である。プロセスはまた、選択された数値表現フォーマットがノイズフロアより下であるか否かのチェックも含む。好ましい実施態様の利点には、次に示す内容のうちの1つまたは複数を含めることができる。システムは、すべてのコストが考慮に入れられ、かつシステム設計者が評価するべき最良の数値表現およびビット幅の候補を獲得するように評価プロセスを自動化する。方法は、与えられたHW実装の面積、タイミング、およびパワーコストを迅速かつ自動化された態様で評価することができる。この方法は、コスト計算エンジンとして使用される。プロセスは、設計‐検証‐最適化方法を使用して、与えられた応用のための最良の数値フォーマット表現を見つけ出す。方法は、最適態様でアルゴリズムに基づいてDSPを自動的に合成することを可能にする。これは、システムに、数値フォーマットおよびALUの幅を非標準とすることが可能になるという新しい柔軟度を与える。システム要件に適合させてそれを選択することが可能である。しかしながらシステム設計者が、別のものではなくこの特定の表現を選ぶことに関連付けされるハードウエア面積、遅延、およびパワーコストを意識する必要はない。方法は、与えられたシステムのための最適数値フォーマット表現に到達すること、または少なくとも最適システムの設計を可能にするためにシステム設計者のための選択肢のセットを絞り込むことができる。プロセスは、ハードウエア面積、遅延、およびパワーが、アルゴリズム評価段階において可能な限り正確にモデリングされることを可能にする。固定小数点および浮動小数点表現は、全体論的な観点から考察される。数値の精度変更プロセスが自動化される。システムは、システムのパフォーマンスを評価すること、およびノイズフロアにおける増加を測定することが可能である。システムは、実行ユニット単独ではなく全体論的な観点からリアルタイムパフォーマンス制約を考察し、したがって完全なカスタムICの面積、パワー、およびパフォーマンス特性が有意に強化される。システムの好ましい実施態様のこのほかの利点には、次に示す内容のうちの1つまたは複数を含めることができる。このシステムは、チップ設計の問題を軽減し、それを単純なプロセスにする。これらの実施態様は、プロダクト開発プロセスの焦点を、ハードウエア実装プロセスからプロダクト仕様およびコンピュータ可読コードまたはアルゴリズム設計に戻すようにシフトさせる。特定のハードウエアを選択することに束縛される代わりに、コンピュータ可読コードまたはアルゴリズムが、それの適用のために特に最適化されたプロセッサ上において実装されることが可能となる。好ましい実施態様は、最適化されたプロセッサを自動的に、すべての関連付けされたソフトウエアツールおよびファームウエアアプリケーションとともに生成する。このプロセスは、これまで数年の問題として対処されていた事項を、数日の問題として対処することを可能とする。このシステムは、ハードウエアチップソリューションが設計される方法におけるパラダイムを完全にシフトするものである。ここで述べている自動システムは、システムへのプライマリ入力が、ローレベルのプリミティブではなく、コンピュータ可読コード、モデル、またはアルゴリズム仕様であることから、チップ設計の知識をまったく伴うことなく、アルゴリズム設計者自身が直接ハードウエアチップを作ることが可能となるように、リスクを取り除き、チップ設計を自動的なプロセスにする。図2Aは、自動的な数値表現フォーマット選択を伴うカスタムICを自動的に生成するシステムの動作の一例を示したフローチャートである。このシステムは、入力としてのアルゴリズム的なプロセスまたはコードに基づき、高度に自動化されたツールを使用してカスタム集積回路の自動的な設計および生成を行ない、それには人間の関与が実質的にまったく必要とされない。図2Aに戻るが、プロセスは、CまたはMATLABマトラボモデル等のハイレベル言語において明細に指定されたアルゴリズムを受け取り、分析する10。1つの実施態様においては、最初のバージョンのプロダクトが、浮動小数点数値表現を使用して開発されることを仮定する。これは任意タイプの浮動小数点表現とすることが可能であるが、例示の実施態様は、32ビットIEEEの浮動小数点表現を使用することが可能である。プロセスは、次に挙げる事項のうちの1つまたは複数がプロダクトの開発者またはシステムアーキテクチャ開発者によって識別されることを必要とする。最適化を必要とする浮動小数点フォーマットにおいて表現されるパラメータ。システムの実動Cコードまたはモデル。システムのリアルタイムパフォーマンス制約。入力信号のスタティックレンジ。システムの時定数を通じた同じ信号のダイナミックレンジ。丸めおよび量子化に起因するノイズフロアにおける受け入れ可能な最大値の増加。プロセスは、ダイナミックレンジ対スタティックレンジの比を決定する12。この比が1に近くなければ、浮動小数点数値表現が好ましい。この比が概略で1であれば、固定小数点表現が好ましい14。次にプロセスは、ヒューリスティックを適用して実際の数値表現フォーマットを決定する16。選択された数値表現フォーマットにおける精度のビット数が決定される18。プロセスは、選択された数値表現フォーマット固定または浮動小数点フォーマットおよび選択されたビット幅を変数に適用し、選択された数値表現フォーマットおよびビット数を処理するカスタム算術論理ユニットALUを用いて最良プロセッサアーキテクチャを反復的に決定する20。プロセッサアーキテクチャのハードウエアを伴うカスタムICが作成される22。プロセスはまた、プロセッサアーキテクチャに対して最適化されたカスタムIC上においてアルゴリズムを走らせるファームウエアを自動的に生成する24。その後、カスタムIC上においてファームウエアが実行され、手作業で作り上げられるカスタムチップ設計プロセスとは対照的に、人間の関与を最小限にしてまたはまったく伴わずにアルゴリズムからカスタムハードウエアへの変換が完了する。その結果は、新しい柔軟度を伴った、すなわち、数値フォーマットおよびALU幅を非標準とすることが可能なカスタムチップソリューションである。数値フォーマットおよびALUは、システム要件に適合させるべく選択することが可能である。しかしながらシステム設計者は、別のものではなくこの特定の表現を選ぶことに関連付けされるハードウエア面積、遅延、およびパワーコストを意識していない。図2Aのシステムは、チップ設計の課題を軽減し、それを単純なプロセスにする。このシステムは、チップ設計の知識をまったく伴うことなく、アルゴリズム設計者自身が直接ハードウエアチップを作ることが可能となるように、リスクを取り除き、チップ設計を自動的なプロセスにする。システムへのプライマリ入力は、CまたはMATLABマトラボ等のよりハイレベルの言語で記述されたコンピュータ可読コードまたはアルゴリズム仕様となる。システムは、実行パフォーマンスを最適化して小数点選択およびビット精度から生じるノイズを最小限にする最良小数点数値表現を伴う最良のハードウエアインストラクションセットの最適選択を行なうことが可能である。最良数値表現フォーマットおよびビット精度の選択は、IC上のパフォーマンス制約のセットを前提として最良アーキテクチャを示し、かつ有意のパフォーマンス利点を提供する詳細なシミュレーションを通じてなされる。これとは対照的に、伝統的なアプローチは、設計者が任意の固定小数点アーキテクチャを使用することを強いる。数値表現フォーマットおよびビット精度がアプリケーションコード/アルゴリズムのために選択されると、人間の関与をまったく伴うことなく、システムによってカスタム集積回路が自動的に生成され、その結果、プロダクト開発時間およびコストが削減される。このカスタムICは、自動的に生成されたソフトウエア開発キットSDKおよび自動的に生成されたファームウエアを使用し、コード/アルゴリズムを効率的に走らせることが可能である。これらの実施態様は、プロダクト開発プロセスの焦点を、ハードウエア実装プロセスからプロダクト仕様およびコンピュータ可読コードまたはアルゴリズム設計に戻すようにシフトさせる。特定のハードウエアを選択することに束縛される代わりに、コンピュータ可読コードまたはアルゴリズムが、それの適用のために特に最適化されたプロセッサ上において実装されることが可能となる。好ましい実施態様は、最適化されたプロセッサを自動的に、すべての関連付けされたソフトウエアツールおよびファームウエアアプリケーションとともに生成する。このプロセスは、これまで数年の問題として対処されていた事項を、数日の問題として対処することを可能とする。図2Aのプロセスの使用は、ソフトウエアプログラマブルDSPの開発に適用され、システム内のすべての段階にわたってもっとも良好に働く単一の数値フォーマットを決定することができる。モデルまたはコードが固定ハードウエアをターゲットとする場合には、システム内の多様な段階に対してもっとも良好に働く数値フォーマットに自立的に到達する。次に、カスタムハードウエアを生成する図2Aの例示的な応用について説明する。図3は、アンテナ図示せずから無線信号を受信し、アナログフロントエンドAFE92に提供される通信システムの受信機を示している。無線信号は、アナログデジタルコンバータADC93によって取り込まれ、メモリ94からのコードを実行するデジタル信号プロセッサDSP95に提供される。DSP95は、カスタム設計ALU96を使用し、図2Aのプロセスに従って算術演算を実行する。DSP95はまた、ユーザインターフェースUI98からコマンドも受信する。上記のシステムにおいては、ADC93が常に、AFE92から受信されるもっとも弱い信号でさえ、サンプル中に数ビットの情報を有するように選択される。ADC93の標本サイズは、システムが動作することが期待できる入力SNRおよびサンプルに対してなされる信号処理において期待される利得によって決定づけられる。上記の使用の場合においては、すべての信号処理がDSP95によって行なわれる。信号処理段階の間に使用される数値フォーマットが良好に選択されることは、システムから期待される利益を実現するために不可避である。従来においては、システム設計者が、DSP内においてALU幅を選択する柔軟性を有していない。システム設計者は、与えられたものまたは、利用できるものを受け入れ、かつ浮動小数点モデルからDSP95によってサポートされている数値表現にシステムを移植しなければならない。しかしながら図2Aのプロセスを使用すれば、システムが、システム設計者のために最良の数値表現をおよびALU96内のビット幅を自動的に選択して特定の問題を解決することができる。プロセスは、ダイナミックレンジ対スタティックレンジの比を計算する。それが大きければ、適切な表現が浮動小数点となることがありがちである。この例においては、アンテナから受信される情報は、いくつかのサンプルのスパン内の信号のスタティックレンジ全体にわたって変化することは起こりそうもない。その種の場合においては、固定小数点表現が、情報が失われないことを確保するために有意のスケーリングアルゴリズムの実装を必要とすることになる。しかしながら適切に選択された浮動小数点数値フォーマットを用いればかつ、ADCの標本サイズに基づいてビット幅が選択されれば、スケーリングが排除されるか、またはスケーリングの複雑性が有意に低減されることになる。それに加えて、殆どの通信受信機応用においてはわずかな有効ビットだけが処理のために必要であることから多様な段階を通じて必要とされるビット数がはるかに少なくなり得る。オーバーフローを防止するために固定小数点表現に伴って必要とされる追加のビットは、浮動小数点表現に起因して制限される。信号のスタティックレンジと信号のダイナミックレンジが同一の場合画像処理において一般的には、固定小数点表現がより良好に働くことがありがちとなる。固定小数点ハードウエアは、面積においてより小さく、同じビット数について消費するパワーがより少ない。信号のダイナミックレンジが大きい場合には、処理精度に妥協することなく必要とされるビット数を浮動小数点表現により低減可能となることは起こりそうもない。図2Bは、自動的な数値表現決定プロセスをより詳細に示している。図2Bにおいて、入力パラメータが受信される60。決定プロセスが続いて実行される62。浮動小数点または固定小数点フォーマットの自動選択の後、プロセスは、望ましいビット幅を決定する64。ノイズフロアが評価され66、ノイズ制約が満たされていない場合には、プロセスが64にループバックし、必要に応じてビット幅を増加する。66から、プロセスは、システムが満たさなければならない制約または評価基準に照らして最終的な数値表現を評価する68。最適化コスト関数が使用され、所定のシステムのための好ましい数値フォーマットに関する決定に到達する。このコスト関数は、次に挙げる事項からなる。浮動小数点表現の使用に起因して節約されると推定されるメモリストレージ。2つの潜在的実装候補についてのハードウエア面積およびパワーコストの評価。それぞれの場合におけるリアルタイムパフォーマンス条件の評価。それぞれのフォーマットに起因して推定されるパフォーマンスにおける悪化。これらのパラメータをコスト関数に対する入力として最適化アルゴリズムが、このシステムのために浮動小数点表現が必要であるか否かについての決定に進む。それが否であれば、アルゴリズムは、固定小数点表現を推奨する。選択されるフォーマットに関する決定がなされた後は、そのフォーマットにおいて必要とされる正確なビット数の識別が次のステップとなる。図2Cは、自動的な精度決定プロセスをより詳細に示している。最初にプロセスは、入力変数、ビット幅、および望ましい信号対雑音比SNRを識別する72。次にプロセスは、行なわれることになる算術演算を決定する74。プロセスは、必要とされる精度を決定する76。次にプロセスは、必要とされる精度に関連付けされるコスト関数を評価する78。コスト関数があらかじめ決定済みのスレッショルドより低い場合にはプロセスが終了する。それに代わり、コストが高い場合には、プロセスが1つのシステム変数を変更してループバックし、精度決定プロセスを継続する74。1つの実施態様においては、精度推定アルゴリズムが、次に挙げる事項を行なうコードを含む。1すべてのシステムクリティカルな入力およびそれらのビット幅の識別。これは、アルゴリズムへの入力の1つである。2入力SNRの識別。これもまた、システムへの入力とならなければならない。3システムモデル記述の静的パースを使用するこれらの変数に対するすべての算術演算のセットの識別。4SNRにおける低下を最小限にする算術演算のセットの適応に必要となる精度の推定。5コスト関数の評価。6コストがスレッショルドより高い場合における、多様な軸のうちの1つのコストを減少させる軸に沿った進行。コスト関数の結果は、進行するときに沿う軸を示す。1つの例においては、有効ビットの数を減らすスケーリング段階の挿入、より広い内部精度を維持しつつ、より小さい入力および出力精度を維持する算術演算の併合、SNRの低下の受け入れ、より小さい精度演算を並列に実行してより高い精度結果を達成するシステムの周波数の増加、システム内のいくつかの段階の精度を下げてそのほかを増加するが全体的なコストを下げることをとりわけ含む。16、24、または32ビット表現に制限している標準DSPとは異なり、このシステムは、すべての表現フォーマットを評価する。手前のステップで得られた決定は、必要とされるビット数の概略の推定を伴う。それがこの操作でさらに微調整される。この操作を実行するために、次に示すようなコスト関数を再び使用することができる。1つの実装においては、コスト関数が次に挙げる事項のための方法を含む。与えられたビット精度の算術計算の実装に関連付けされるハードウエア面積およびパワーコストの評価。与えられたビット精度の算術計算のためのリアルタイムパフォーマンス制約の評価。これは、与えられたビット精度の算術計算の実装に伴うハードウエア遅延をアルゴリズムが推定することが可能であることから計算することができる。この数値フォーマットに起因するシステムのSNRにおける悪化の推定。システムのパフォーマンスを決定するクリティカルなシステム変数および配列に対して実行される算術演算の数。最適化アルゴリズムによって定義済みのコスト関数が使用されて可能性のある数値フォーマット表現の候補が評価され、最適表現に到達する。アルゴリズムは、システムモデル内に定義された精度を伴って開始し、任意の与えられた変数に対して実行される多数の算術演算に関係する情報を使用してその変数のための数値フォーマットの候補に到達する。その後、コストが評価され、そのコストが受け入れ可能であれば、選択されたフォーマットが保存される。それ以外の場合には最良可能軸推定されたコストから推論されるに沿って進行することによって新しいフォーマットに到達し、プロセスが反復される。次の段落ではこのアルゴリズムを詳細に説明する。最適化されたビット精度近似が自動的にコード内の変数を表わすために使用されて、多様な使用事例シナリオを通じたシステムのパフォーマンスが推定される。結果が要件と比較され、さらに表現が最適化される。選択された最終表現が推定されたビット精度から激しく変化する場合には、利用可能な追加情報に基づいてその操作が再考され、最適化プロセスが再び実行される。上で述べたすべてのステップは、自動化され、実際的な人間の関与を必要としない。しかしながら、段階の開始時および終了時の入力および制約は、アルゴリズムの機能に精通している訓練されたユーザによって提供される必要がある。図4は、カスタムICを自動的に生成するシステムの一例を示している。図4のシステムは、選択された目標とするアプリケーションに対するプログラマブルハードウエアソリューションにおいて、インストラクションセット圧縮および可変幅エンコーディングを使用する最適インストラクションセットを伴うアーキテクチャを自動的に生成することをサポートする。目標とするアプリケーションの仕様は、一般に、C、MATLABマトラボ、SystemCシステムC、フォートラン、エイダ等の高レベル言語またはそのほかのいずれかの言語によるコンピュータ可読コードとして表現されたアルゴリズムを通じてなされる。仕様は、目標とするアプリケーションの記述を含み、またそれには、望ましいコスト、面積、電力、速度、パフォーマンス、およびそのほかのハードウエアソリューションの属性といった1つまたは複数の制約も含まれる。図4においては、ICカスタマがプロダクト仕様102を生成する。通常は、所望のプロダクトのすべての主要機能を取り込んだ初期プロダクト仕様が存在する。そのプロダクトから、アルゴリズムの専門家が、そのプロダクトに必要とされるコンピュータ可読コードまたはアルゴリズムを識別する。それらのアルゴリズムのうちのいくつかは、サードパーティから、または標準開発委員会からのIPとして利用可能となることがある。それらのうちのいくつかは、製品開発の一部として開発されなければならない。この態様においては、さらにプロダクト仕様102が、とりわけCプログラム等のプログラムまたはMATLABマトラボモデル等の数学モデルとして表現することが可能なコンピュータ可読コードまたはアルゴリズム104で詳述される。プロダクト仕様102は、また、とりわけコスト、面積、電力、プロセスタイプ、ライブラリ、およびメモリタイプ等の要件106も含んでいる。コンピュータ可読コードまたはアルゴリズム104および要件106は、自動化されたICジェネレータ111に提供される。コードまたはアルゴリズム104およびチップ設計に課せられた制約だけに基づいて、ICジェネレータ111は、人間の掛かり合いを殆ど、またはまったく伴うことなく、GDSファイル113、ICを走らせるファームウエア115、ソフトウエア開発キットSDK116、および/またはテストスート118を含む出力を自動的に生成する。GDSファイル113およびファームウエア115は、カスタムチップ121の製造に使用される。このシステムは、チップ設計の問題を緩和し、それを単純なプロセスにする。このシステムは、プロダクト開発プロセスの焦点を、ハードウエア実装プロセスからプロダクト仕様およびアルゴリズム設計に戻すようにシフトさせる。特定のハードウエアを選択することに束縛される代わり、アルゴリズムが、その適用のために特に最適化されたプロセッサ上において実装されることが常に可能となる。システムは、この最適化されたプロセッサを自動的に、すべての関連付けされたソフトウエアツールおよびファームウエアアプリケーションとともに生成する。この全体的なプロセスは、現在数年の問題として対処されていた事項を、数日の問題として対処することを可能とする。要約して言えば、このシステムは、プロダクト開発のデジタルチップ設計部分をブラックボックスにする。1つの実施態様においては、このシステムプロダクトが、次に示すものを入力として取ることが可能である。C/MATLABマトラボで定義されたコンピュータ可読コードまたはアルゴリズム、必要とされる周辺機器、面積目標、電力目標、マージン目標将来的なファームウエア更新のためにどの程度のオーバーヘッドを組み込むべきか、またどの程度複雑性が増加するか、プロセスの選択肢、標準セルライブラリの選択肢、テスト可能性スキャン。システムの出力は、関連付けされるファームウエアすべてを伴ったデジタルハードマクロとすることができる。このデジタルハードマクロのために最適化されたソフトウエア開発キットSDKもまた自動的に生成されて、ファームウエアに対する将来的なアップグレードがプロセッサの交換を強いることなく実装されるようにすることが可能である。このシステムは、任意の選択された目標とするアプリケーションに対して完全かつ最適なハードウエアソリューションを自動的に生成する。共通の目標とするアプリケーションは埋め込みアプリケーション空間内にあるが、それらは、必ずしもそれに限定されない。次に、例として、自動化されたチップ設計システムをサポートするコンピュータについて考察する。コンピュータは、好ましくは、プロセッサ、ランダムアクセスメモリRAM、プログラムメモリ好ましくは、フラッシュROM等の書き込み可能な読み出し専用メモリROM、および入力/出力I/OコントローラをCPUバスによって結合された形で含んでいる。このコンピュータは、ハードディスクおよびCPUバスに結合されるハードドライブコントローラをオプションとして含むことができる。ハードディスクは、本発明等のアプリケーションプログラムおよびデータを記憶するために使用することができる。それに代えて、アプリケーションプログラムをRAMまたはROM内に記憶させることができる。I/Oコントローラは、I/Oバスを経由してI/Oインターフェースに結合される。I/Oインターフェースは、シリアルリンク、ローカルエリアネットワーク、無線リンク、およびパラレルリンク等の通信リンクを介してアナログまたはデジタル形式でデータの受信および送信を行なう。オプションとして、表示器、キーボード、およびポインティングデバイスマウスがI/Oバスに接続されることもある。それに代えて、I/Oインターフェース、表示器、キーボード、およびポインティングデバイスのために別々の接続別々のバスが使用されることもある。プログラマブル処理システムは、あらかじめプログラムすること、または別のソースたとえば、フロッピー登録商標ディスク、CD-ROM、または別のコンピュータからプログラムをダウンロードすることによってそれをプログラムすることおよび再プログラムすることができる。各コンピュータプログラムは、目に見える形として、コンピュータによってストレージ媒体またはデバイスが読み出されたときに、ここで説明している手順を実行するべくそのコンピュータの構成および動作のコントロールを行なうために、汎用または専用プログラマブルコンピュータによって読み出されることが可能なマシン可読ストレージ媒体またはデバイスたとえば、プログラムメモリまたは磁気ディスク内に記憶される。また本発明のシステムは、コンピュータプログラムを用いて構成されるコンピュータ可読ストレージ媒体内において具体化されると考えてもよく、それにおいてストレージ媒体は、ここで述べている機能を実行するべく特定の、あらかじめ定義済みの態様でコンピュータを動作させるように構成される。以上、ここでは、特許法に従うため、および当業者に、新しい原理の適用および必要とされる専用の構成要素の組み立ておよび使用に必要となる情報を提供するために、相当に詳細に本発明を説明してきた。しかしながら、本発明が明確に異なる装置およびデバイスによって実行可能であること、および装置の詳細および動作手順の両方に対する多様な修正が本発明自体の範囲からの逸脱なしに達成可能であることは理解されるものとする。