(57)【特許請求の範囲】
【請求項１】
ネットワーク接続された装置を遠隔的に構築する方法であって、上記ネットワーク接続装置がネットワークによってサーバに接続されており、上記サーバがプログラムコードセグメントを含んだ記憶装置に接続されており、各プログラムコードセグメントは対応する一群の上記ネットワーク接続装置の動作を可能化するのに適切である、上記ネットワーク接続装置を遠隔的に構築する方法は、
上記サーバで上記ネットワーク接続装置のうちの未識別のネットワーク接続装置から第１のデータパケットを受ける動作（ａｃｔ）であって、上記第１のデータパケットは装置形式識別子と不規則識別子とを含み、上記装置形式識別子は上記ネットワーク接続装置のうちの上記未識別のネットワーク接続装置の群に対応し、上記不規則識別子は上記ネットワーク接続装置のうちの上記未識別のネットワーク接続装置によって発生される上記動作と、
第１のデータパケットを受ける上記動作に応答し、上記サーバから第２のデータパケットを送る動作であって、上記第２のデータパケットは上記不規則識別子とプログラムコードセグメントと特異なネットワークアドレスとを含み、上記プログラムコードセグメントは上記ネットワーク接続装置のうちの上記未識別のネットワーク接続装置の上記群に対応し、上記特異なネットワークアドレスは上記ネットワーク接続装置のうちの上記未識別のネットワーク接続装置に上記サーバによって割り当てられた、上記動作と、
上記ネットワーク接続装置のうちの上記未識別のネットワーク接続装置において、上記第２のデータパケットを該第２のデータパケットに含まれた上記不規則識別子に基づいて処理する動作と、
上記ネットワーク接続装置のうちの上記非識別のネットワーク接続装置において、第２のデータパケットを送る上記動作の間に上記サーバによって割り当てられた上記特異なネットワークアドレスをネットワークアドレスとして割り当てる動作と、
を具備することを特徴とする方法。
【請求項２】
請求項１記載の方法において、第１のデータパケットを受ける上記動作は、該動作に先立って、
上記サーバから上記ネットワーク接続装置に初期データパケットを送信する動作と、
上記ネットワーク接続装置のそれぞれで上記初期データパケットを受け入れる動作と、
上記初期データパケットを受け入れる上記動作に応答して、上記ネットワーク接続装置のうちの未識別のネットワーク接続装置から上記第１のデータパケットを送る動作であって、上記第１のデータパケットは装置形式識別子と不規則識別子を含み、上記装置形式識別子は上記ネットワーク接続装置のうちの上記未識別のネットワーク接続装置の群に対応し、上記不規則識別子は上記ネットワーク接続装置のうちの上記未識別のネットワーク接続装置によって発生される上記動作と、
を具備することを特徴とする方法。
【請求項３】
請求項２記載の方法において、初期データパケットを送信する上記動作で上記サーバから送信される上記初期データパケットは上記ネットワーク接続装置のうちの上記未識別のネットワーク接続装置が上記不規則識別子を発生することができるようにする一時プログラムコードを更に含むようにされたことを特徴とする方法。
【請求項４】
請求項２記載の方法において、初期データパケットを送信する上記動作で上記サーバから送信される上記初期データパケットは上記ネットワーク接続装置のうちの上記未識別のネットワーク接続装置が上記初期データパケットを受け入れる上記動作で上記第２のデータパケットを検出することができるようにする一時プログラムコードを更に含むようにされたことを特徴とする方法。
【請求項５】
請求項１記載の方法において、初期データパケットを送信する上記動作で上記サーバから送信される上記初期データパケットは上記ネットワーク接続装置のうちの上記未識別のネットワーク接続装置が、上記割り当てる動作において上記特異なネットワークアドレスを割り当てることができるようにする一時プログラムコードを更に含むようにされたことを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は集積および集積回路に命令を実行させる方法に関する。
【０００２】
【従来の技術】
埋め込みシステム（ｅｍｂｅｄｄｅｄ  ｓｙｓｔｅｍｓ）で使用される制御ユニット、例えばコンピュータネットワークで種々の機能を制御するネットワーク周辺装置は、ＣＰＵ（中央処理ユニット）とキャッシュメモリのようなＣＰＵと共に働く他の必須のユニットとを形成している集積回路（ＩＣ）を有する処理回路を備えている。この処理回路は、多数のポートを介して集積回路に接続されかつそれと通信する外部メモリユニットのような多数の外部ユニットをも往々備えている。
【０００３】
種々の形式の処理回路設計が特定の設計の集積回路に種々の外部ユニットを装備しかつこのようにして形成された処理ユニットに異なったソフトウェアをロードすることによって達成可能である。これによって１つのＩＣ設計が広い範囲のアプリケーションのために使用され得るようになる。
【０００４】
往々製造プロセスに関連して、最初に処理回路にその機能のために必須のソフトウェアをロードする時に、１つあるいはそれ以上のメモリユニットを備えかつ始動プログラムがロードされ、処理回路の機能のための追加のソフトウェアプログラムを受けるメモリ空間を設けている外部メモリ手段を集積回路に具備させることが必要である。
【０００５】
従って、処理回路は初期ソフトウェアローディングのために必要な外部ユニットを永久的に装備するか、あるいはこのような外部ユニットが製造プロセスのソフトウェアローディング段階の間に集積回路に一時的に接続される。
【０００６】
処理回路のコストは、この回路がその引続く使用のために好ましくないかあるいは不必要であるユニットを装備しなければならないことから、望ましくない態様で増加する。
【０００７】
初期ソフトウェアローディングのための外部ユニットがローディング段階でのみ集積回路に接続される場合には、製造のこの段階は不利に時間がかかるものとなってしまう。
【０００８】
その開発時のソフトウェア試験バージョンの試験はメモリユニットの交換、消去および再ローディングを往々含んでおり、これはそのような試験を時間のかかるものとする。
【０００９】
【発明が解決しようとする課題】
本発明は処理回路への必要なソフトウェアのローディングを簡略化することを目的とする。
【００１０】
他の目的は広い形態のアプリケーションで使用され得る集積回路を提供することである。
【００１１】
本発明の更に他の目的は処理回路の製造プロセスに関連するコストを制限することである。
【００１２】
【課題を解決するための手段】
本発明により、これらの目的および後の記載から明かとなるであろう他の目的は請求項１および９に従って集積回路および集積回路に命令を実行させる方法によって達成される。
【００１３】
本発明の第１の特徴によれば、この集積回路は作業モードと開始モードとの間で回路を切り替える切り替え手段を具備し、開始モードで回路は本質的に回路上のＣＰＵに外部信号から受けた命令を実行させるようになっている。
【００１４】
製造プロセスにおいて、このような集積回路は所望の処理回路設計の作成のための好適な外部ユニットを装備することができる。処理回路の初期ソフトウェアローディングのための特別な外部ユニットの要件を考慮する必要はない。更に、処理回路がローディング段階の間に補助装置を装備しなくともロードされ得るためソフトウェアローディング段階を迅速に行なうことができる。
【００１５】
例えば、最終製品の試験に関連してオプションの段階でソフトウェアローディングを行なうことができるため、ここで製造プロセスを簡略化することができる。
【００１６】
また、本発明による集積回路はその将来の寿命の間のどの時間でも初期ローディングと同じ簡単な態様で新規で異なったソフトウェアを再ロードすることが可能である。
【００１７】
他の長所は新たなソフトウェアの開発の間に簡単なソフトウェアの試験を可能とすることである。
【００１８】
このような集積回路の更に他の長所は、それが開始段階においてそれ自体に追加のソフトウェアをロードしなくとも外部システムの切り替えといった制限された命令を行なうように作られ得ることである。
【００１９】
本発明の文脈において、集積回路（ＩＣ）とは導体およびそれと共に集積化された要素を有する一片すなわちチップ内の電子回路を意味する。
【００２０】
本発明の好適実施例によれば、ＩＣは信号を受けＣＰＵに命令を実行させるようにプログラムされている。これはハードウェアそれ自体によってＩＣに形成された論理要素によって達成され得る（ハードコード化命令）。しかしながら、回路のメモリ手段は、好ましくは、上記信号を受け外部命令を実行するためにその内部命令を記憶している第１のメモリユニットを具備している。この第１のメモリユニットは、好ましくは、上記内部命令を記憶しているＲＯＭを備えている。それにより、上記プログラミングがコンパクトで低コストに達成される。
【００２１】
本発明の他の好適実施例において、ＩＣのメモリ手段はＣＰＵによって実行されるような外部命令を記憶している第２のメモリユニットを備えている。この第２のメモリユニットおよび上述した第１のメモリユニットは１つの同一のユニットに統合され得る。しかしながら、本発明によれば、第２のメモリユニットがキャッシュメモリユニットから構成されることがこのましい。好ましくはキャッシュメモリユニットはいずれにしてもＣＰＵのために備えられており、回路のその後の寿命の間に使用されるようにされているため、キャッシュメモリユニットの使用によって補助メモリユニットが避けられる。キャッシュメモリユニットは好ましくはランダムアクセスメモリ（ＲＡＭ）からなり、このＲＡＭが外部命令の記憶の記憶のために使用され得るようなモードに切り替えられるようにされる。
【００２２】
本発明の他の好適実施例によれば、このＩＣは上記ポートの少なくとも１つに接続されたインターフェース制御手段を備えており、このインターフェース制御手段は開始モードにおいて上記信号を認識しかつ受けるようにされている。それによって、このＩＣは例えばネットワークで信号を能動的に傍受するように作られ得る。
【００２３】
本発明の第２の特徴によれば、ＩＣが開始モードにされて外部開始命令からなる外部開始信号を受けるようにされているような方法を含んでいる。次いで、このＩＣは上記外部信号を受け、統合されているＣＰＵを上記命令の実行を行なうために使用する。この第２の特徴に従った方法をもってすれば、第１の特徴に従った集積回路の場合と同一の長所が達成される。
【００２４】
集積回路を開始モードにもたらす時に、好適実施例による方法は集積回路のインターフェース制御手段が外部信号を受けるようにする動作を含んでいる。それによって集積回路は、好ましくは、例えばそれに接続されたネットワークで上記外部信号を他の信号の中で認識することが可能化となる。好適な態様で、これは集積回路に所定の開始アドレスを与えることによって達成され得る。このアドレスは開始モードに対して一時的で特異（ｕｎｉｑｕｅ）であり、外部信号の受信のためインターフェース手段によって認識される。
【００２５】
その後、好適実施例による方法は集積回路に外部信号を送る動作を含んおり、それによってその信号は好ましくは所定の開始アドレスにアドレス指定され、かつ好ましくは所定のサイズを有している。
【００２６】
この方法の他の好適実施例によれば、外部命令は、受けられるとそれが実行される前に、集積回路の一部を形成する、好ましくはキャッシュメモリユニットである、メモリ手段に記憶される。それによって、ＩＣを開始モードにもたらすステップは、好ましくは、キャッシュメモリユニットが外部命令を記憶するＲＡＭとして働くようにする動作を含んでいる。
【００２７】
本発明の他の特徴によれば、第１の小さな始動プログラムがＩＣに永久的に記憶されており、開始モードにおいてＩＣが第２の幾分大きな始動プログラムを受けるようにするために起動される。その後、この第２のプログラムはＩＣおよびそれに接続された外部ユニットの実際のローディングを開始させる。
【００２８】
【発明の実施の形態】
図１から図４は構成化サーバ（ｃｏｎｆｉｇｕａｔｉｏｎ  ｓｅｒｖｅｒ）および構築される必要がある複数のネットワーク取付周辺装置間の種々の相のインタラクションを示す。図示の実施例において、ネットワーク取付周辺装置は特異な（一意の）ネットワークアドレスでも基本運用ケイパビリティ（能力）ででも製造されていない。それらをネットワークに取り付ける時でも、それらは、ネットワークおよび運用の両方の意味において構築されていない。これは、忽論周辺装置がネットワークを通じて特異なネットワークアドレスおよび装置依存の運用ケーパビリテイで構築（ｃｏｎｆｉｇｕｒｅ）され得るという条件で製造コストを大きく減少し、周辺装置のそれぞれのプロセッサのような要素が単一のチップから作られることができるようにする。
【００２９】
図１はネットワーク１００を通じて互いに接続されたサーバ１０２、ワークステーション１１２、複数の周辺装置１２０Ａ−Ｂ、１２２および１２４を示す。記憶装置１０４はファイル１０６に複数のアプリケーション、オペレーションシステム、一時コード（ｔｒａｎｓｉｔ  ｃｏｄｅ）および記憶コードを含んでおり、かつサーバを構成化サーバとして機能させるように構成化（ｃｏｎｆｉｇｕｒｅ）するプログラムコード１０８を含んでいる。周辺装置１２０Ａ−Ｂ、１２２および１２４のそれぞれは本発明の実施例において２つの識別子（ＩＤ）を含んでおり、その１つは装置自身のためのもので、他は装置の一部である構築可能な多モードチップのためのものである。これらＩＤは各装置にとって特異ではないが、その代り、装置の形式、例えばプリンタ／カメラの別とモデル番号とを識別する。同じＩＤを持った多くの周辺装置があってもよい。装置１２０Ａ−Ｂの周辺装置ＩＤはそれぞれＩＤ１３０Ａ−Ｂである。プリンタ１２２の周辺装置ＩＤはプリンタＩＤ１３２である。カードリーダ１２４のＩＤはカードリーダＩＤ１３４である。周辺装置のそれぞれは、この点ではそれらの全てがプリンタ、カードリーダあるいはカメラとして機能する能力が無いので図１においては点線で示されている。それらの全てはプリンタ、カードリーダあるいはカメラのいずれかとして機能するために必要な処理ケーパビリティあるいはオペレーティングシステムコード（ＯＳ）を欠いている。
【００３０】
周辺装置のそれぞれはＩＤを持った取付多モードチップ（ａｔｔａｃｈｅｄ  ｍｕｌｔｉ−ｍｏｄｅ  ｃｈｉｐ）を含んでいる。チップＩＤは装置ＩＤの場合と同様に特異ではないが、その代りチップ形式および／またはモデル番号を識別する。同じＩＤを持った多くのチップがあってもよい。多モードチップ１４０Ａおよび関連したＩＤ１４２Ａは周辺装置１２０Ａの一部である。他モードチップ１４０ＢおよびそのＩＤ１４２Ｂは周辺装置１２０Ｂの一部である。他モードチップ１４０ＣおよびそのＩＤ１４２Ｃは周辺装置１２２の一部である。他モードチップ１４０Ｄおよびその関連ＩＤ１４２Ｄは周辺装置１２４の一部である。
【００３１】
動作にあって、サーバ１０２は記憶装置１０４に含まれているプログラムコード１０８の結果としてプロセッサ１０２Ａを始動させる。これらプロセスはグループＩＤ（図６参照）を有するパケット１１０を組み立て、これをネットワーク１００を通じて送る。多モードチップ１４０Ａ〜Ｄのそれぞれはそれぞれの周辺装置１２０Ａ−Ｂ、１２２および１２４のためのカーネルＢＩＯＳ１４４Ａ〜Ｄプロセス（図１参照）を実現する。チップ１４０Ａ〜Ｄの初期構成の一部であるこれらの最小のブートコードプロセスはこれらのチップによりそれら自体のグループＩＤに対応するグループＩＤを持つパケットをネットワーク１００から許容されるようにする。従って、それぞれの多モードチップは単一のグループＩＤを持ったパケットを受け、その処理を許容するようになる。別態様として、１つのグループＩＤをプリンタに接続されたチップのためのものとし、他をカメラ等に接続されたチップのためのものとすることができる。この実施例においてさえ、１つのカメラの他モードチップは他のものと同一のグループＩＤを持つことがある。本発明のある別態様の実施例において、初期パケット１１０は全ての周辺装置がこのパケットを受け入れるべきことを表すアドレスでネットワークを通じて報知されることができる。
【００３２】
次の相の動作が図２に示されている。図２において、多モードチップ１４０Ａ〜Ｄのそれぞれは宛先アドレスにグループＩＤを持っている初期パケット１１０を受けている。このパケットにおいて、初期パケットでサーバによって送られた一時コードにより多モードチップ１４０Ａ〜Ｄは一時的プロセス１６０Ａ〜Ｄを開始させるようにする。チップはそれらの識別子およびそれらが取り付けられている周辺装置の識別子を取り出す。それに応じて他モードチップは応答パケット１５０Ａ〜Ｄをサーバ１０２に送る。本発明の一実施例において、これらパケットはグループアドレスであるソースアドレスと、サーバが１つのパケットを他から区別することができるようにチップ１４０Ａ〜Ｄのそれぞれによって発生される特異な識別子を含んだペイロードを含んでもよい。この識別子は以前の周辺装置において必要とされるような特異な宛先アドレスではない。それに代って、特異なネットワークＩＤネットワークで工場において多モードチップ１４０Ａ〜Ｄのそれぞれを構築するのではなく、特異なネットワークＩＤが次のプロセスで割り当てられる。本発明のある実施例において、チップのそれぞれは乱数を発生し、それをサーバに送られる応答パケットのペイロード部分に格納する。これに加えて、多モードチップのそれぞれによって送られる応答パケットはチップＩＤと装置ＩＤとを含んでもよい。
【００３３】
アプリケーションコードもオペレーティングシステムも特異なネットワークＩＤさえも持たない多モードチップと周辺装置を製造することによって、多数の利益が実現される。最初に、ネットワークＩＤを後に記載するプロセスで動的に割り当てることができる。第２に、ＯＳおよび／またはアプリケーションコードの最新のバージョンがネットワークでの実際の構築時に装置にダウンロード可能である。第３に、ネットワークインタラクションと外部装置のための基本処理ユニットとして機能するケイパビリティの両者を備えることが可能なチップで周辺装置を実現することによって周辺装置の価格を減少することができる。サーバ１０２が多モードチップ１４０Ａ〜Ｄのそれぞれからパケット（１つまたは複数）１５０Ａ〜Ｄを受けると、それはファイル１０６のルックアッププロセス１０２Ｂを始める。
【００３４】
図３には、ダウンロード相の動作の次の相が示されている。図２で上述したように、サーバが１つあるいはそれ以上の外部装置からパケットを受けた後に、サーバはプロセス１０２Ｃを構築する。プロセス１０２Ｃは、ファイル１０６において多モードチップのための適切なＯＳあるいはアプリケーションコードと各多モードチップを埋め込んでいる周辺装置のためのアプリケーションコードを見つけ出すために入来パケットのチップおよび装置識別子を利用する。次いで、サーバは宛先アドレスとして同じグループＩＤを用いてパケット１７０Ａ〜Ｄを送る。本発明の別態様の実施例において、サーバは宛先アドレスとして報知アドレス（ｂｒｏａｄｃａｓｔ  ａｄｄｒｅｓｓ）を含むことができる。
【００３５】
どちらの実施例においても、それぞれのパケットのペイロードは入来パケットで受けた乱数シーケンス並びに対応する装置のためのブートおよびアプリケーションコードを含んでいる。本発明のある実施例において、それぞれのパケットは対応するチップおよび装置識別子をも含んでもよい。
【００３６】
それぞれの周辺装置のそれぞれの多モードチップ１４０Ａ〜Ｄは全てのグループパケットを採取するが、特定の多モードチップによって発生されたと乱数一致する乱数を含んだパケットからのＯＳおよび／またはアプリケーションコードのみを使用する。この態様で、周辺装置のそれぞれはそれらがこの段階で特異なネットワークアドレスを欠いているとしてもそれ自体の特異なパケットのみを処理する。更に、サーバからの各特異なパケットのペイロードは周辺装置によるその後の使用のためサーバによって割り当てられた特異なネットワークアドレスを含んでいる。
【００３７】
図４は最終運用相を示している。この時点で、各多モードチップは特異なネットワークアドレスを持つ。多モードチップはそれぞれの周辺装置の要素のための一体の処理ユニットとしてその役割を付加的に機能し始めている。カードリーダ１２４、構成化プロセス１７４がここでカード１１４を読み取ることができる。プリンタ１２２、構成化プロセス１７２はネットワーク１００を通じてプリントジョブを受け取ることができる。カメラ１２０Ａ−Ｂ、構成化プロセス１７６−Ｂは画像を撮影しそれらをネットワークを通じて送ることができる。この後者の機能は図３でサーバ１０２からダウンロードした装置特定ＯＳおよび／またはアプリケーションコードによって達成される。
【００３８】
図５は多モードチップ１４０Ａおよび周辺装置１２０Ａ（図１から図４参照）のハードウェアブロック図である。多モードチップ１４０Ａは中央処理ユニット（ＣＰＵ）２００、ローカルメモリ２０２、キャッシュ２０４、直接メモリアクセス（ＤＭＡ）コントローラ２０６、メモリコントローラ２０８、アドレスおよびデータバッファ２１０Ａ−Ｂおよびオプションのスイッチ２１２を含んでいる。キャッシュはキャッシュコントローラ２４８およびキャッシュメモリ２５０を含んでいる。この場合にウェブカメラ１２０Ａである周辺装置はメインメモリ２２０、電荷結合装置（ＣＣＤ）コントローラ２２２、ＣＣＤおよびレンズ組立体２２４、装置ＩＤ１３０、揮発性メモリ２２６並びにチップをネットワークに接続する外部ポート２３０を含んでいる。
【００３９】
多モードチップ１４０Ａはそれぞれ２１４−２１６で示されたローカルデータおよびアドレスバスと制御バス２１８とを含んでいる。ローカルバス２１４はＣＰＵ２００をローカルメモリ２０２、キャッシュ２０４、ＤＭＡコントローラ２０６およびデータバッファ２１０Ｂに結合する。ローカルアドレスバス２１６はＣＰＵをローカルメモリ、キャッシュおよびメモリコントローラ２０８に結合する。制御バスはＣＰＵとローカルメモリ２０２、キャッシュ２０４およびＤＭＡコントローラ２０６とを結合する。ＤＭＡコントローラおよびメモリコントローラの両者はアドレスバッファ２１０Ａに結合される。オプションのスイッチ２１２はＣＰＵ２００にスイッチ可能な入力を与える。外部ポート２３０はＣＰＵをＬＡＮ（図１〜４参照）に結合する。本発明のこの実施例において、ネットワークインターフェース機能はチップ１４０Ａによって、またはＣＰＵ２００あるいは個別のオンチップ媒体アクセスコントローラ（ＭＡＣ）およびパケットプロセッサのいずれかによって行なわれる。本発明の別態様の実施例においては、外部ポート２３０はチップを外部ネットワークインターフェース（図示せず）を介してＬＡＮに結合する。周辺装置およびチップはアドレス、データおよび制御信号ラインを含むインターフェースポート２５８を介して互いに結合する。
【００４０】
周辺装置内で、システムバス２２８はメインメモリ２２０、周辺装置ＩＤ１３０、揮発性メモリ２２６およびＣＣＤコントローラ２２２を連結する。ＣＣＤコントローラはＣＣＤおよびレンズ結合組立体２２４に結合される。多モードチップおよび周辺装置間で、それぞれアドレスおよびデータバッファ２１０Ａ−Ｂからのアドレスおよびデータ接続は２つの装置を結合する。ＣＣＤコントローラ２２２をＤＭＡコントローラ２０６に連結する制御バス２１８によって付加的な結合が与えられる。多モードチップ１４０Ａ内に多モードチップ識別子１４２Ａが存在する。チップＩＤは、本発明のある実施例においては、このチップのＣＰＵの一部である読出し専用レジスタとして編成される。他の実施例にあっては、チップＩＤはローカルメモリ２０２に記憶されていてもよい。このチップ識別子は装置識別子１３０と共に多モードチップおよび装置の製造および／またはモデル番号をサーバ１０２に対して識別するために使用される。換言すれば、この識別子は共通の製造および／またはモデル番号を有する装置のグループを除き装置にとっては特異である必要はない。
【００４１】
多モードチップおよび周辺装置の初期化には３つの相がある。これら相はそれぞれ図１から図４に示されたパケット１１０、１５０Ａ〜Ｄおよび１７０Ａ〜Ｄに対応する。本発明は特異なネットワークアドレスもオペレーティングシステムも無しで初めの構成からネットワークを通じて遠隔的に構成化されることができる組合せ装置を提供する。最初の相の動作においては、ローカルメモリはグループ識別子２４２とカーネルＢＩＯＳ１４４Ａのみしか含んでいない。カーネルＢＩＯＳ１４４Ａはローカルバスを構成化することができ、それが初期化あるいは通常のモードにあるかどうかを決定することができ、そして宛先アドレスとして特異なネットワークＩＤではなくグループ識別子を有するサーバ１０２からのパケット１１０に応答することができる（図１参照）。
【００４２】
カーネルＢＩＯＳの付加的な特徴はそれがキャッシュコントローラ２４８を無能化して通常の揮発性メモリとしてキャッシュの一時的使用を可能にすることである。通常のモードにおいて、チップのキャッシュサブシステムはヒット／ミス、汚れビット（ｄｉｒｔｙ  ｂｉｔｓ）等をチェックする機能を有している。ＢＩＯＳおよび一時相（ｔｒａｎｓｉｔ  ｐｈａｓｅ）の動作において、キャッシュメモリはヒット／ミスチェック等を無能化することによって「通常の」ランダムアクセスメモリ（ＲＡＭ）として働く。その代りに、キャッシュのＲＡＭは一定のアドレスでマッピングされる。図１に示されるＢＩＯＳ相の動作において、サーバ１０２は宛先アドレスとして総称グループ識別子（ｇｅｎｅｒｉｃ  ｇｒｏｕｐ  ｉｄｅｎｔｉｆｉｅｒ）を有するパケット１１０を送り出す。このパケットは図１に示される任意のおよび全ての多モードチップ１４０Ａ〜Ｄによって処理される。これらのチップの各々が、ローカルメモリ２０２内にパケット内のグループ識別子に対応するグループ識別子２４２を持っているという条件付きであるが。パケットを受けると、そのペイロード部分が抽出され、一時コード２５２がロードされる。この一時コードは乱数発生、識別、パケット送信およびパケット受信ケーパビリティを与える。
【００４３】
次に、多モードチップにおいて第２すなわち一時相（ｔｒａｎｓｉｔｏｒｙ  ｐｈａｓｅ）の動作が開始する。この相の動作は図２−図３に示されている。一時相において、一時コード２５２が実行される。このコードは幾つかの機能を有している。最初に、それは、多モードチップが実行時にＣＰＵ２００によって発生された乱数を含んだペイロード並びにチップおよび装置モデルＩＤ１４２Ａ、１３０を持った応答パケットをサーバに送る機能を行なう。本発明の一実施例において、この乱数は例えばパワーオンリセットからの時間に対応してもよい。この乱数は２つの周辺装置が同一の数を発生するリスクを無視できるようにするために充分なビットを持つ必要がある。幾つかのユニットあるいは周辺装置が同一時間でオンにされたとしても、１つ以上のユニットが同時にネットワークでパケットを送ることができないためそれらは異なった数を発生することになる。この数をパケットに入れそしてこの数をキャッシュメモリ２５０に一時的に記憶することによって、多モードチップはこの乱数をペイロードに含むサーバからの戻りパケットをこれら２つの単純な比較で識別することが可能となる。
【００４４】
第３のすなわち運用相のチップ動作が図４に示されている。この相において、サーバからの記憶およびＯＳ／アプリケーションコード２５４が多モードチップにダウンロードされ、キャッシュメモリ２５０に記憶される。記憶コードを使用して、この運用プロセスはオペレーティングシステムをメインメモリに転送する。このように構築された装置をもってすれば、多モードチップはウェブカメラ実行プロセス１７６Ａ（図４参照）のための中央処理ユニットとして働く。キャッシュはＣＰＵ２００によるアクセスのためメインメモリ２２０の新しく使用された部分のコピーを保持するその通常の機能に復帰する。
【００４５】
図６および図７Ａ〜Ｃはローカルエリアネットワーク（ＬＡＮ）１００（図１〜図４参照）でのパケットプロトコルの実施例を示す。ネットワークを通じて転送される情報は転送されている情報のためのラッピングプロトコルでその処理を行なう。各パケットは複数のヘッダとペイロードとを含んでいる。これらのヘッダはＯＳＩモデルの対応する７つの層の１つにとって特有な情報を含んでいる。ＬＡＮでのヘッダおよびペイロードはパケットと呼ばれる。サービス統合デジタル網（ＩＳＤＮ）でのヘッダおよびペイロードはフレームと呼ばれる。最近まで、ＬＡＮおよびＩＳＤＮネットワークでのネットワークトラヒックは７つまでのヘッダとペイロードとを備えたパケット／フレームからなっていた。ヘッダはＯＳＩモデルの７つの層のそれぞれに対して特有の情報を含んでいた。ペイロードは転送される音声、ビデオまたはデータを含んでいる。ＬＡＮでのヘッダおよびペイロードの構造は８０２．３、８０２．５等のようなそれぞれのＩＥＥＥのＬＡＮ標準で規定されている。これら標準を以下８０２．Ｘと呼ぶ。ＩＳＤＮ側では、ヘッダおよびペイロードの構造は国際標準化機構（ＩＳＯ）によって普及されたポイント・ツー・ポイントプロトコル（ＰＰＰ）あるいは高レベルデータリンクプロトコル（ＨＤＬＣ）によって規定されている。
【００４６】
図６はＬＡＮ１００（図１から図４参照）を通じて伝送され得る可能なパケット形式の１つ３２０の詳細な図を示す。パケット３２０のためのラッパー（ｗｒａｐｐｅｒｓ）の詳細が示されている。特に、このパケットのためのプロトコルはＩＥＥＥ８０２．３規格に適合する。８０２．３パケットはプリアンブル３００で始まる。このプリアンブルは長さが７バイトであり、各バイトはビットパターン１０１０１０１０を含んでいる。このプリアンブルは受信機のクロックが送り側と同期することができるようにする。次に２進シーケンス１０１０１０１１を含むフレームフラグの開始部３０２が来る。次は長さが６バイトである宛先アドレスフィールド３０４であり、それにこれも長さが６バイトのソースアドレスフィールド３０６が続く。ソースアドレスフィールド３０６はパケットを送る当事者を識別し、宛先アドレスフィールド３０４はパケットが送られている当事者を識別する。長さフィールド３０８が続く。長さが２バイトであるこの長さフィールドは最小０から最大１５００バイトまでのどの位多くのバイトがデータ／ペイロードフィールドに存在するかを指示する。ヘッダ３１０〜３１４はそれぞれネットワーク層ヘッダ、伝達層ヘッダ、およびペイロードフィールド３１６のためのセッション層ヘッダを含んでいる。ペイロードはモデムセッション始動コマンド、セッションパラメータあるいはデータを含む種々の形式の情報を含んでもよい。データは音声でもビデオでもあるいはテキストであってもよい。ペイロードに直ぐに続くのはチェックサムフィールド３１８である。
【００４７】
図７Ａ〜図７Ｃは図１〜図４で上述したようにサーバと周辺装置との間で送られるパケット１１０、１５０Ａ、１７０Ａをそれぞれ示す。
【００４８】
図７Ａはパケット宛先アドレスフィールドのグループＩＤに対応するグループ識別子を有する周辺装置の全てにサーバから最初に送られるパケット１１０を示す（図１参照）。このパケットはその宛先アドレスフィールド３０４として多モードチップ１４０Ａ〜Ｄのそれぞれに対するのと同一の識別子（図５の番号２４２参照）であるグループ識別子を含んでいる。パケットのソースアドレスフィールド３０６の部分はサーバ１０２のネットワークアドレスを含んでいる。ペイロードフィールド３１６Ａは一時コード２５２（図５参照）を含んでいる。このコードは自身の周辺装置識別子およびチップ識別子の両方を得る能力を備えた受信多モードチップを可能にする。更に、このコードはチップが乱数を発生しかつ応答パケットをサーバに送ることを可能とする。更にまた、このコードはチップが戻りパケット（ｒｅｔｕｒｎ  ｐａｃｋｅｔ）を受けてそれを処理することを可能とする。その後、このコードは通常のキャッシュ動作により消去されるか書き換えられる。
【００４９】
図７Ｂはサーバの初期パケット１１０に応じてどれかの周辺装置から送られたパケット１５０Ａを示す。一時コードを使用して多モードチップはパケットのペイロードフィールド３１６Ｂに、乱数４２０、チップモデル識別子１４２Ａ、カメラ識別子１３０（図５参照）を置く。宛先アドレスフィールド３０４はサーバ１０２のアドレスである。多モードチップはそのアドレスをネットワーク１００からの初期入来パケット１１０のソースアドレスフィールド３０６（図７Ａ参照）から得ている。
【００５０】
図７Ｃは周辺装置にサーバ１０２によって送られる（図３参照）第２のパケット１７０Ａを示す。このパケットは宛先アドレスとしてグループ識別子を有している。このパケットは全ての多モードチップによって受信されて処理される。このパケットのソースアドレスはサーバ１０２のアドレスである。ペイロードフィールド３１６Ｃにおいて、サーバは多モードチップによって最初に発生されパケット１５０Ａでサーバによって受けられた乱数４２０をパッケージしている。この数は図５において上述した理由で各チップに対して特異であり、パケット１７０Ａ〜Ｄ間で同一の乱数を含む１つのパケットを識別するためにチップによって使用される。本発明の一実施例において、チップモデルＩＤ１４２ＡおよびカメラＩＤもサーバからチップへのペイロードに含まれてもよい。ペイロードフィールド３１６Ｃの次の部分は乱数を発生した特定の周辺装置のためにサーバによって割り当てられた特異なネットワークアドレス４４０を含んでいる。周辺装置アドレスは大域的（ｇｌｏｂａｌ）であり、各アドレスの特異性を確保するためにサーバによって中央的に管理される。この特異なネットワークアドレスは以後のネットワーク通信において周辺装置および多モードチップによって使用される。従って、ネットワークでの全ての以降の通信において、周辺装置に送られるパケットはグループ基準で送られず、ＬＡＮパケットの宛先アドレスフィールド３０４が特異なネットワークアドレスを含んでいるため、目標基準（ｔａｒｇｅｔｅｄ  ｂａｓｉｓ）に基づき送られる。ペイロードフィールド３１６Ｃの次の部分４４２は２つのコードセグメント２５４および４５０を含んでいる。これらコードセグメントの最初のものはネットワーク構成化されるこの特定の周辺装置に対するオペレーティングシステムおよび／またはアプリケーションである。これらコードセグメントの第２のもの、「記憶」コード４５０はメインメモリ２２０および揮発性メモリ２２６（図５参照）にＯＳ２５４およびそのイメージを書き込むために必要なコードを含んでいる。
【００５１】
図８はサーバ１０２の記憶装置１０４（図１〜図４参照）のデータ構造を示す。プログラムコード１０８および一時コードファイル１０６の装置オペレーティングシステムが図示されている。より詳細には、一時コードデータベースの装置オペレーティングシステムは周辺装置１２０Ａ−Ｂ、１２２、１２４のそれぞれ並びに全ての多モードチップ１４０Ａ〜Ｄのための複数のレコードを含んでいる。同様に各モデルおよびバージョン番号のレコードを含んでもよい。各レコードは形式識別子フィールド５００、製品ＩＤフィールド５０２、アドレスフィールド５０４、一時コードフィールド５０６およびオペレーティングシステムコードフィールド５０８を含んでいる。このレコードの図示の例において、ウェブカメラ１２０Ａ−Ｂは製品ＩＤフィールド５０２内に製品ＩＤ１３０Ａ−Ｂを含み、かつＣＰＵ２００がメインメモリ２２０（図５参照）をプログラムすることができるようにカメラ２５４のオペレーティングシステムと記憶コード４５０の両方を含んでいる。多モードチップ１４０Ａ〜Ｄのレコードは一時コードフィールド５０６に一時コード２５２（図５参照）を含んでいる。サーバがコードを各周辺装置にダウンロードさせるために、それは宛先アドレスとしてグループアドレスを有するパケットのペイロードで最初に装置に送られる特異なネットワークＩＤを装置に割り当てる。そのアドレスは以後のネットワーク通信において周辺装置および関連した多モードチップによって使用される。これに対処するため、サーバはそれが装置に割り当てたアドレスをネットワーク名称空間およびファイル１０６に記録する。周辺装置１２０Ａのレコードのアドレスフィールド４４０のエントリ「１２３４」がそのレコードの宛先アドレスフィールド４４０に示されている。それらは周辺装置１２０Ｂの個別のレコードおよび個別のネットワークアドレスとなる。
【００５２】
図９は図１〜図４で上述したようなサーバ１０２の動作に関連したプロセス１０２Ａを示す。サーバの処理６００はプロセス６０２で始まり、そこで一時コード２５２（図５および図７参照）が記憶装置１０４（図１〜図４参照）のファイル１０６から得られる。次いで、制御はプロセス６０４に渡される。プロセス６０４において、パケット１１０が周辺装置のグループＩＤに対応する宛先アドレスを用いて組み立てられる（図７Ａ、図１参照）。次いで、制御は決定プロセス６０６に渡される。決定プロセス６０６において、サーバは１つあるいはそれ以上の多モードチップ１４０Ａ−Ｂのパケット１５９Ａ〜Ｄの任意の１つに応答する（図２参照）。次いで、制御はプロセス６０８に渡される。プロセス６０８において、サーバはペイロードフィールド３１６Ｂ（図７Ｂ参照）から多モードチップによって発生された乱数とそれぞれ１４２Ａ、１３０で表されたチップおよび装置ＩＤを抽出する。
【００５３】
プロセス６１０において、サーバは上で述べたプロセス６０８で入来パケットにおいて得られたチップＩＤおよび周辺装置ＩＤの対応するレコードを見い出すためにファイル１０６のルックアップテーブルに行く。これらＩＤを用いて、対応するチップおよび周辺装置ＩＤを有するレコードがファイル１０６のルックアップテーブルに位置付けられる。対応するチップＩＤを持つレコードから、例えば、２５２（図８参照）のような一時コードが得られる。対応する周辺装置ＩＤを持つレコードから、例えば、１２０Ａ／Ｂ、ＯＳおよび／またはアピリケーションコード並びに記憶コードが例えば２５４、４５０で得られる。周辺装置のためのＯＳおよび／またはアプリケーションコードをメインメモリにロードするために記憶コードが使用される。次いで、制御はプロセス６１２に渡される。
【００５４】
プロセス６１２において、サーバは周辺装置のための特異なネットワークアドレスを発生し、そのアドレスをパケット１７０のペイロード部分に含ませる。そのアドレスは以後のネットワーク通信において周辺装置および関連した多モードチップによって使用される。これに対処するため、サーバはそれが装置に割り当てた特異なネットワークアドレスをネットワーク名称空間およびファイル１０６に記録する。例えば、特異なネットワークアドレス「１２３４」が周辺装置１２０Ａのレコードの一部であるネットワークアドレスフィールド４４０に示されている。
【００５５】
装置およびチップＩＤは、上に述べたように、１形式の周辺装置だけを他のあるいはできれば１つのモデル番号の周辺装置で同一の形式の他のものから区別する。しかしながら、装置およびチップＩＤは同一のモデル番号のものを有する周辺装置を他から区別しない。この区別はサーバによって割り当てられる特異なネットワークアドレスによって達成される。パケット内の乱数スタンプをサーバに１から渡すことによってサーバは。サーバは周辺装置から入来パケットで受けた乱数のトラックを保持し、対応するネットワークアドレスを装置に割り当てる。次いで、制御はプロセス６１４に渡される。
【００５６】
プロセス６１４において、図７Ｃにおいて説明され上述されたものに類似するペイロードがサーバによって組み立てられる。そのペイロードは総称グループＩＤを含んでおり、この総称グループＩＤはそれが全ての周辺装置によって受信されることを意味し、対応する周辺装置からサーバによって受信された乱数４２０がそのペイロードに含まれる。ペイロードは装置を構成化するＯＳおよび記憶コードをも含んでいる。ペイロードはまた元々装置によって発生された乱数も含んでいる。この乱数は同一のグループアドレスを含む他のものからそのパケット区別するために周辺装置によって使用される。
【００５７】
次いで、制御はプロセス６１６に渡され、そこでサーバはネットワーク１００（図３参照）を通じてパケットを周辺装置に送る。次いで、制御はプロセス６１８に渡される。ここで、サーバは周辺装置を検出して構成化する動作を完了する。当業者にとって明らかなように、サーバはその後周辺装置のための貯蔵庫あるいはデータベースとして機能してもよい。
【００５８】
図１０−図１１は特異なネットワークＩＤおよび適切なオペレーティングシステムを得るための多モードチップおよび取付周辺装置でのプロセスのある実施例を示す。バイオスサブルーチン７００のための処理は電源オンの後に生じるプロセス７０２で始まる。プロセス７０２において、カーネルＢＩＯＳ１４４Ａは実行を始める（図５参照）。ローカルバスおよび関連要素、すなわちローカルメモリ２０２、キャッシュ２０４、ＤＭＡコントローラ２０６およびメモリコントローラ２０８は可能化される（図５参照）。次いで、制御はプロセス７０４に渡される。プロセス７０４において、ＢＩＯＳは多モードチップのモードを決定しようとする。本発明のある実施例において、ＢＩＯＳはその状態を決定するために特定のアドレスあるいはピンを監視する。本発明のある実施例において、多モードチップ１４０Ａを手動で通常のランタイムモードあるいは初期化モードのいずれかにするために使用され得るオプションのスイッチ２１２（図５参照）にピンが接続される。本発明の別態様の実施例において、アドレスは初期化モードのために一つのビットシーケンスをランタイムモードのために他のものを含むようなローカルメモリでのアドレスとなる。例えば、特異なネットワークＩＤ２４４（図５参照）がローカルメモリに存在しなかった場合、ＢＩＯＳは初期化モードにある。次いで、制御は決定プロセス７０６に渡される。
【００５９】
決定プロセス７０６において、チップがどのモードにあるかの決定が達成される。この決定を達成することができる多くの方法がある。オプションのスイッチ２１２は手動で設定されることができる。別態様として、メモリの一定のアドレスがその値を決定するためにＣＰＵ２００によって読み取られることができる。本発明のある別態様の実施例において、各多モードチップおよび周辺装置は最初に開始モードで動作する。チップの不揮発性プログラマブル手段（例えばＰＲＯＭ、ＦＰＧＡ、ヒューズ等）はオプションのスイッチ２１２（図５参照）がその初期状態にある場合（例えば、ヒューズは飛ばされない）そのスイッチに切り替え信号を与える。チップが初期化されＯＳコードがメインメモリ（図５参照）にロードされた後に、切り替え信号を制御するプログラマブル装置が変更され、それによりＣＰＵが次の時にメインメモリから立ち上がるようにする。
【００６０】
例えば、多モードチップがランタイムモードにあるとの決定に達した場合、制御はプロセス７０８に渡される。プロセス７０８において、キャッシュ２０４は例えば「ライトスルー（ｗｒｉｔｅ−ｔｈｒｏｕｇｈ）」または「コピーバック（ｃｏｐｙ−ｂａｃｋ）」を含む例えば任意数のキャッシュポリシー（ｃａｃｈｅ  ｐｏｌｉｃｉｅｓ）を持つキャッシュとして機能するように可能化される。次いで、制御はプロセス７１０に渡され、そこで周辺装置（図５参照）のメインメモリ２２０に記憶されているオペレーティングシステム２５６が周辺装置の動作をウェブカメラとして開始させるようにメインメモリからＲＡＭ２２６にロードされる。このモードにおいて、制御は次いでプロセス７１２に渡され、そこでＢＩＯＳはその動作を完了する。本発明の別態様の実施例において、ＯＳはＲＡＭにロードせずにメインメモリから直接実行される。
【００６１】
本発明の一実施例において、ＣＰＵ２００は媒体アクセス制御（ＭＡＣ）機能を含むネットワークインターフェースだけでなくパケット組立器および組立解除器（ＰＡＤ）のためのプロセッサとして働く。本発明の別態様の実施例においては、ＣＰＵ２００は周辺装置、例えばウェブカメラ１２０Ａのためのプロセッサとして働く。この際に、ＣＰＵ２００は種々のイメージ処理アルゴリズムを実現する。本発明の別態様の実施例においては、ＣＰＵ２００はＭＡＣおよびＰＡＤ機能を含むネットワークインターフェースプロセッサおよび周辺装置のためのプロセッサの両方として働く。
【００６２】
前の場合と異なり、決定プロセス７０６でチップが初期化モードにあるとの決定に達したら、制御はプロセス７２０に渡される。プロセス７２０において、キャッシュコントローラ２４８（図５参照）は無能化され、従ってキャッシュは通常の揮発性メモリとして機能する。次いで、制御はプロセス７２２に渡される。プロセス７２２において、ＣＰＵ２００は自身であるいは専用ＭＡＣチップおよびＰＡＤチップに関連して次のプロセス７２４〜７４２で説明する簡単なネットワークインターフェース機能を実行する。次いで、制御はプロセス７２４に渡される。プロセス７２４において、ＣＰＵ２００はＬＡＮ１００からのパケットを傍受する。次いで、制御は決定プロセス７２６に渡される。プロセス７２６において、ＣＰＵ２００は宛先アドレスを決定するために宛先アドレスフィールド３０４（図７Ａ参照）を調べる。宛先アドレスがローカルメモリ２０２（第５図参照）に記憶されているグループＩＤ２４２に対応するグループＩＤであるならば、制御は次いで決定プロセス７２８に渡される。宛先アドレスがこの多モードチップのためのグループＩＤに対応しなければ、制御は次のパケットの取出しのためプロセス７２４に戻る。
【００６３】
制御が決定プロセス７２８に渡されると、宛先アドレスフィールド３０４のグループＩＤを持って受信されたパケットがサーバによって送られる例えばパケット１１０のような第１のパケット形式のものであるかあるいは例えば１７０のような第２のパケット形式のものであるかどうかの決定が行なわれる。本発明の一実施例において、この決定はサーバによってパケット１１０、１７０（図１および図３参照）に置かれた例えば０または１のシーケンス数に基づいている。乱数、ネットワークアドレス並びにＯＳおよび記憶コードを含むパケットから一時コードを持つサーバパケットを区別することができる数多くの異なった態様がある。最初に、ＩＰプロトコルが実現されている場合、伝達層にはシーケンス数がＬＡＮパケットの伝達層ヘッダ（図６参照）に含まれて存在している。別態様として、シーケンス数はサーバによってペイロードに置かれることができる。別態様として、ＣＰＵ２００はペイロードの乱数、ネットワークアドレスおよびＯＳと異なって一時コードと似ている何かがあるかどうかを知るためにペイロードを調べることができる。受けたパケットが第１のパケット形式ではないとの決定がなされれば、それは初期化プロセスで更に先のある他の周辺装置に定められているパケットである。この場合、制御は次のパケットの取出しのプロセス７２４に戻される。前と異なり肯定の決定に達したら、すなわちグループＩＤを持つパケットがサーバによって送られた第２のパケット１７０ではなく第１のパケット１１０である場合には、制御はプロセス７３８に渡される。
【００６４】
プロセス７３８において、入来パケットのソースアドレスすなわちサーバ１０２の特異なネットワークアドレスがキャッシュの特定の場所に記憶され、次いで制御はプロセス７４０に渡される。プロセス７４０において、一時コード４０８（図７Ａ参照）がペイロードから抽出され、キャッシュの特定の部分に記憶される。次いで、制御はプロセス７４２に渡され、そこでローカルメモリカーネルＢＩＯＳから一時コードへの飛越しが実現される。次いで、制御はプロセス７４４に渡され、そこでカーネルＢＩＯＳがその機能を完了する。
【００６５】
図１１において、処理はＢＩＯＳではなくキャッシュに記憶されているコードから実行される。一時的に無能化されたキャッシュが揮発性メモリとして機能し、それは初期パケット１１０でサーバ（図１参照）から受けた一時コードを包蔵している。一時的モード７５０は一時コードが記憶されているキャッシュの部分で開始するプロセス７５２で始まる。次いで、制御はプロセス７５４に渡される。プロセス７５４で、一時コードの機能コードセグメントによりＣＰＵ２００はプロセッサＩＤ１４２Ａと周辺装置ＩＤ１３０とを得る。これら装置ＩＤは多数の態様で決定され得る。上で述べた実施例において、装置ＩＤ１４２ＡはＣＰＵの一部としてすなわちその読出し専用レジスタとして編成される。別態様として、このＩＤは電気的にプログラム可能で電気的に消去可能な読出し専用メモリ（ＥＥＰＲＯＭ）２０２のようなローカルメモリを含むチップのどこかにあってもよい。別態様として、チップＩＤは外部の一連のＤＩＰスイッチまたは溶融可能なリンクに形成されることができる。本発明の一実施例において、このＩＤは製造時に多モードチップの一部となっている。本発明の別態様の実施例において、このＩＤはインストレーション時に設計される。装置ＩＤ１３０に対しても同一の形態を与えることができる。また、それは専用メモリ、例えばＥＥＰＲＯＭ、ＤＩＰスイッチあるいは溶融可能（ｆｕｓｉｂｌｅ）なリンクとなることができる。本発明の別態様の実施例において、装置ＩＤはハードコード化されずに、一時コードによって初期化されかつＣＰＵ２００によって実行されるプロセスによって見い出される。ＣＰＵは、例えば、そのメモリマップあるいはＩ／Ｏ空間の特定の位置に継続した読出しおよび書込みを行なって引き出された応答の形式を決定するようにしてもよい。その応答に基づいて、ＣＰＵはそれがどの形式の周辺装置に接続されたかと多モードチップの特性とを決定することができる。
【００６６】
プロセス７５６において、ＣＰＵ２００はブートアップからの時間の関数であってもよい乱数を発生する。上で述べたように、この乱数はそれがサーバ１０２（図１参照）からの同一のパケット１１０に応答しているものであってもよいどの他の周辺装置によって発生された乱数とも一致しないようにするために充分な数のビットのものでなければならない。次いで、制御はプロセス７５８に渡される。プロセス７５８において、ＣＰＵ２００は不揮発性ローカルメモリ２０２にあるグループＩＤを読み取る。本発明の別態様の実施例において、グループＩＤはＣＰＵに接続された全体的に独立した媒体アクセスコントローラ（ＭＡＣ）にあってもよい。次いで、制御はプロセス７６０に渡される。プロセス７６０において、ＣＰＵ２００はカーネルＢＩＯＳによって実行され図１０において上述したソースアドレスを含むキャッシュメモリの部分を読み取る。そのソースアドレスはカーネルＢＩＯＳによって初期パケット１１０から得られたサーバ１０２の特異なネットワークアドレスに対応する。プロセス７６２において、媒体アクセス制御（ＭＡＣ）並びにパケット組立および組立解除（ＰＡＤ）を含む単純なネットワークインターフェース機能がＣＰＵによって行なわれる。次いで、制御は次のプロセス７６４で実行されるような機能の最初の部分の渡される。
【００６７】
プロセス７６４において、ペイロードがプロセス７５６で発生された乱数を含んで組み立てられる。ペイロードのソースおよび宛先フィールドには、それぞれグループＩＤ２４２（図５参照）およびソースアドレスフィールド３０６（図７Ａ参照）が置かれる。グループＩＤ２４２は製造時にチップに作り込んでもよい。宛先アドレスは入来パケット１１０のソースアドレスフィールド１１０から得られる。このパケットはプロセス７６６においてサーバ１０２に送られる。
【００６８】
次に、制御はネットワーク１００からの入来パケットの処理のためプロセス７６８に渡される。これらパケットのそれぞれは連続した決定プロセス７７０〜７７４で解析される。プロセス７７０でパケットが周辺装置のグループＩＤに対応する宛先アドレスを含むかどうかについての決定が行なわれる。含む場合には、制御はプロセス７７２に渡される。プロセス７７２において、パケットが第１あるいは第２の形式のもの，すなわちそれが一時コードだけを含む第１のパケット形式（図１、図７Ａ参照）であるか第２のパケット形式１７０（図３、図７Ｃ参照）であるかどうかの決定がなされる。第２のパケット形式は上で述べたように乱数、ＯＳおよび／またはアプリケーションおよび記憶コードを含んでいる。それが第２の形式のパケットであり、乱数を含んでいる場合には、制御は決定プロセス７７４に渡される。
【００６９】
決定プロセス７７４において、パケットペイロードの乱数がＣＰＵ２００によって発生された乱数と一致するかどうかの決定がなされる。パケットの乱数がＣＰＵにおいて発生された乱数と一致すれば、制御はプロセス７７６に渡される。プロセス７７６において、入来パケット１７０Ａのペイロードが得られ、そのペイロードから特異なネットワークアドレス４４０、記憶コード４５０およびＯＳコード４５４が分解される。記憶コードはキャッシュの特定の場所に格納され、オペレーティングシステムはキャッシュの他の場所に格納され、ネットワークアドレスフィールド４４０はローカルメモリ２０２にネットワークＩＤ２４４として記憶される。本発明の別態様の実施例において、ネットワークＩＤは個別のネットワークインターフェース装置に送られてもよい。次いで、制御はプロセス７７８に渡される。プロセス７７８において、ＣＰＵ２００は記憶コードを含んでいるキャッシュメモリの部分に飛び、そのコードの実行を始める。次いで、制御はプロセス７８０に渡される。
【００７０】
プロセス７８０において、記憶コードによりＣＰＵ２００はキャッシュメモリ２５０（図５参照）からのオペレーティングシステムコードの継続したライン（ｓｕｃｃｅｓｓｉｖｅ  ｌｉｎｅｓ）をメインメモリ２２０（図５参照）に転送する。更に、特異なネットワークＩＤも不揮発性メモリ、例えばメインメモリ２２０に転送される。本発明の別態様の実施例においては、特異なネットワークアドレスはチップまたは周辺装置またはネットワークインターフェースのいずれかの任意の不揮発性メモリに記憶されることができる。全体のオペレーティングシステムが転送されたら、制御はプロセス７８２に渡される。
【００７１】
プロセス７８２において、ＯＳのイメージがメインメモリからＲＡＭ２２６にロードされる。次いで、プロセス７８４において、例えば、ＣＰＵがキャッシュコントローラ２４８を可能化することによってランタイムモードに変換するそのキャッシュコントローラへの接続を有する特定のピンへの書込みを行なうようにすることによって、キャッシュが可能化される。次いで、制御はプロセス７８６に渡され、そこで一時コードは終了され、多モードチップと周辺装置の通常の動作が開始する。
【００７２】
当業者には明かであり、また本発明の教示から逸脱することなく、オペレーティングシステムの長さを１５００バイトより大きくすることができる。但し、それは、一時コードが引続くパケットを取り出し（ｒｅｔｒｉｅｖｅ）それらをメインメモリに転送する追加のプロセスを行なわせるようにされていたらの場合である。
【００７３】
一度にただ１つの周辺装置がネットワークに接続されるような本発明のある別態様の実施例においては、上に説明されかつ記載された処理手順の多くは単独にネットワークに接続された装置と共に、あるいはネットワークに同時に接続された複数の装置と共に働くことができる。
【００７４】
単純な命令をＣＰＵに送ってそれを活性化し機械の活性化あるいはライト（ｌｉｇｈｔ）のオンオフの切り替えといった簡単なことをそれに行なわせるように上述の方法を用いることも可能である。
【００７５】
本発明によるＩＣによって形成された処理回路およびそれに接続される外部ユニットはプリントサーバおよびＣＤ−ＲＯＭサーバのような異なったネットワーク周辺周辺装置において使用するのに適している。
【００７６】
本発明は上に例示的な態様で表され、特許請求の範囲の保護の範囲内で多くの改良が可能である。
【００７７】
本発明の好適実施例において、ＣＰＵは第１の始動プログラムを受け、その後ＩＣを開始モードに切り替える命令を実行する。しかしながら、別態様の実施例においては、ＮＩＣおよび／またはキャッシュメモリにそれら自体を開始モードに切り替える能力を持たせることが可能である。
【００７８】
ＩＣがネットワークポートを介して第２の始動プログラムを受けることができるようにしかつこの第２の始動プログラムを能動的に受けるようにすることによって、ＩＣは製造プロセスの間並びにその後の寿命の間にロードするのが容易となる。特に、最後の特徴は処理回路がネットワーク周辺機器において使用される時には大きな長所となる。それが開始モードにある時にネットワークを介してアップグレードされたりあるいは変更されたりできるためである。
【００７９】
しかしながら、本発明は第２の始動プログラムがネットワークポートを介して受けられることには限定されない。パラレルポート、シリアルポートあるいは補助ローディングポートのようなＩＣの他のポートが処理回路のローディングのために使用され得る。これらの場合に、プログラムは好ましくは所定のサイズを有している。それによって、他のインターフェース制御ユニットが使用可能となり、あるいは例えば第２の始動プログラムが直ちにキャッシュメモリユニットに転送される場合には制御ユニットが全然使用されなくともよい。
【図面の簡単な説明】
【図１】ネットワーク取付周辺装置を中央サーバから構築する全体のネットワーク環境を示す。
【図２】ネットワーク取付周辺装置を中央サーバから構築する全体のネットワーク環境を示す。
【図３】ネットワーク取付周辺装置を中央サーバから構築する全体のネットワーク環境を示す。
【図４】ネットワーク取付周辺装置を中央サーバから構築する全体のネットワーク環境を示す。
【図５】本発明の一実施例による二重モードチップおよび周辺装置のハードウェアブロック図である。
【図６】ＩＥＥＥ８０２．３パケットを示す。
【図７】構成化プロセスの種々の層でサーバおよび周辺装置間で送られるパケットを示す。
【図８】サーバでのデータ構造を示す。
【図９】サーバによって行われる周辺装置構築プロセスのプロセス流れ図である。
【図１０】周辺装置によって行なわれる構築プロセスのプロセス流れ図である。
【図１１】周辺装置によって行なわれる構築プロセスのプロセス流れ図である。
【符号の説明】
２００  ＣＰＵ
２０２  ローカルメモリ
２０４  キャッシュ
２０６  ＤＭＡコントローラ
２０８  メモリコントローラ
【図１】
0004291919.tif 000002
【図２】
0004291919.tif 000003
【図３】
0004291919.tif 000004
【図４】
0004291919.tif 000005
【図５】
0004291919.tif 000006
【図６】
0004291919.tif 000007
【図７】
0004291919.tif 000008
【図８】
0004291919.tif 000009
【図９】
0004291919.tif 000010
【図１０】
0004291919.tif 000011
【図１１】
0004291919.tif 000012