(57)【要約】【課題】前回の通信が終了してから新たな通信を行うことが可能となるまでの時間を短くすることができる半導体装置を提供する。【解決手段】通信コントローラ７は、リソースを操作してＴＣＰ／ＩＰ通信を行うＴＣＰ／ＩＰエンジン部１５と、外部機器とＴＣＰ／ＩＰエンジン部１５との間のデータの受け渡し等を行うネットワークインタフェース部１１と、ＣＰＵ２とＴＣＰ／ＩＰエンジン部１５との間のデータの受け渡し等を行うバスインタフェース部１３とを具備する。ＴＣＰ／ＩＰエンジン部１５は、リソースがｃｌｏｓｅｄ状態である場合に、前回の通信に用いたコマンドオプションに従ってリソースを通信可能な状態に遷移させるコマンドを受け取ったときに、前回の通信に用いたコマンドオプションに従ってリソースを通信可能な状態に遷移させる。【選択図】　図２
2004064506.tif 000002
【特許請求の範囲】
【請求項１】
ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）による通信を行う半導体装置であって、
ＣＰＵとの間でデータの送受信を行う第１のインタフェース部と、
ネットワークを介して外部機器に接続されたネットワークインタフェースとの間でデータの送受信を行う第２のインタフェース部と、
ＴＣＰ又はＵＤＰ（Ｕｓｅｒ　Ｄａｔａｇｒａｍ　Ｐｒｏｔｏｃｏｌ）の状態遷移を行うことによりＴＣＰ／ＩＰの通信路を管理するリソースを操作して、前記ＣＰＵと前記外部機器との間のＴＣＰ／ＩＰによる通信を行う通信処理部であって、前記リソースが切断状態である場合に、前回の通信に用いたパラメータに従って前記リソースを通信可能な状態に遷移させる旨の指示を前記第１のインタフェース部を介して前記ＣＰＵから受信したときに、前回の通信に用いたパラメータに従って前記リソースを通信可能な状態に遷移させる前記通信処理部と、
を具備する半導体装置。
【請求項２】
前記通信処理部が、前記リソースがｃｌｏｓｅｄ状態である場合に、前回の通信に用いたコマンドオプションに従って前記リソースをｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に遷移させる旨の指示を前記第１のインタフェース部を介して前記ＣＰＵから受信したときに、前回の通信に用いたコマンドオプションに従って前記リソースをｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に遷移させることを特徴とする請求項１記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵを有する情報処理装置に実装され、ＣＰＵと他の情報処理装置との間のＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）による通信を行う半導体装置に関する。
【０００２】
【従来の技術】
従来より、ワークステーション、ＰＣ（パーソナルコンピュータ）、ＰＤＡ（携帯情報端末）、ルータ等の情報処理装置において、ＴＣＰ／ＩＰによる通信が行われている。図５は、このような従来の情報処理装置の一例としてのＰＤＡの構成を示す図である。
図５に示すように、ＰＤＡ３０は、ＣＰＵ３１と、ＲＡＭ３２と、ＲＯＭ３３と、表示部３４と、入力部３５と、通信コントローラ３６と、ネットワークインタフェース３７とを具備する。
【０００３】
表示部３４は、文字、画像等を表示するＬＣＤ等であり、入力部３５は、ユーザがデータ等を入力するためのタッチパネル等である。
ＣＰＵ３１は、ＲＡＭ３２を作業用領域として使用しながら、ＲＯＭ３３に格納されたＯＳ（オペレーティングシステム）プログラム、アプリケーションプログラム等を実行する。
【０００４】
ＣＰＵ３１は、例えば、メールクライアントプログラム等のアプリケーションプログラムの実行において、ネットワークに接続された外部機器との間でＴＣＰ／ＩＰによる通信を行う必要が生じた場合には、外部機器への接続を通信コントローラ３６に要求する。
通信コントローラ３６は、ＴＣＰ／ＩＰによる通信の物理層（例えば、ＩＥＥＥ８０２．３に規定される１０Ｂａｓｅ−Ｔ等）を担うネットワークインタフェース３７に接続されており、ＣＰＵ３１から外部機器への接続要求を受け取ると、外部機器との間の通信路を確立し、ＣＰＵ３１と外部機器との間のＴＣＰ／ＩＰによる通信を行い、その後、通信路の切断を行う。また、通信コントローラ３６は、外部機器からＣＰＵ３１への接続要求を受信した場合にも、外部機器との間の通信路を確立し、ＣＰＵ３１と外部機器との間のＴＣＰ／ＩＰによる通信を行い、その後、通信路の切断を行う。
【０００５】
図６は、ＴＣＰのリソースの状態遷移図である。なお、通信コントローラ３６によって操作されるＴＣＰのリソースは１個である。
通信コントローラ３６において、外部機器との間の通信が終了し、接続が切断されると、リソースはｃｌｏｓｅｄ状態となる。リソースは、ｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態でなければ接続を試みることができないため、リソースがｃｌｏｓｅｄ状態であるときには、外部機器との間の接続を確立し、通信を行うことができない。そのため、リソースをｃｌｏｓｅｄ状態からｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に状態遷移させること（以下、「リソースの再設定」という）が必要となる。
【０００６】
図７及び図８は、通信の終了（接続の切断）からリソースの再設定までの通信コントローラ３６及びＣＰＵ３１の動作を示すフローチャートである。
まず、通信コントローラ３６が、接続の切断要求をＣＰＵ３１に通知する（ステップＳ３０１）。この通知により、ＣＰＵ３１は、リソースがｃｌｏｓｅ−ｗａｉｔ状態に遷移したことを知ることができる。
【０００７】
ＣＰＵ３１は、切断要求を通信コントローラ３６から受け取ると、ｃｌｏｓｅコマンドを通信コントローラ３６に発行する（ステップＳ４０１）。
通信コントローラ３６は、ｃｌｏｓｅコマンドを受け取ると、リソースをｃｌｏｓｅ−ｗａｉｔ状態からｌａｓｔ−ａｃｋ状態に遷移させ、さらにｃｌｏｓｅｄ状態に遷移させる（ステップＳ３０２）。そして、通信コントローラ３６は、ｏｋステータスをＣＰＵ３１に送る（ステップＳ３０３）。
【０００８】
ＣＰＵ３１は、ｏｋステータスを通信コントローラ３６から受け取ると、ｏｐｅｎコマンドを通信コントローラ３６に発行する（ステップＳ４０２）。
通信コントローラ３６は、ｏｐｅｎコマンドをＣＰＵ３１から受け取ると、ｗｒｉｔｅステータスをＣＰＵ３１に送る（ステップＳ３０４）。
【０００９】
ＣＰＵ３１は、ｗｒｉｔｅステータスを通信コントローラ３６から受け取ると、ｏｐｅｎコマンドのコマンドオプション（１個又は複数個）を通信コントローラ３６に送る（ステップＳ４０３）。
通信コントローラ３６は、全てのコマンドオプションをＣＰＵ３１から受け取ると、コマンドオプションのエラーチェックを行う（ステップＳ３０５）。次に、通信コントローラ３６は、コマンドオプションの評価を行う（ステップＳ３０６）。さらに、通信コントローラ３６は、コマンドオプションに従って、リソースをｃｌｏｓｅｄ状態からｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に遷移させる（ステップＳ３０７）。そして、通信コントローラ３６は、ｏｋステータスをＣＰＵ３１に送る（ステップＳ３０８）。
このようにして、リソースがｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に遷移すると、新たな通信を行うことが可能となる。
【００１０】
上記のように、従来の通信コントローラ３６を用いた場合においては、ＣＰＵ３１は、ｏｐｅｎコマンドを発行し（ステップＳ４０２）、ｏｐｅｎコマンドへの応答としてのｗｒｉｔｅステータスが送られてくるのを待つ必要があった（ステップＳ３０４）。
また、ＣＰＵ３１は、新たな通信のためのコマンドオプションが前回の通信のために用いたコマンドオプションと全く同じ場合であっても、コマンドオプションを通信コントローラ３６に送らなければならなかった（ステップＳ４０３）。
【００１１】
さらに、通信コントローラ３６は、新たな通信のためのコマンドオプションが前回の通信のために用いたコマンドオプションと全く同じ場合であっても、ＣＰＵ３１から送られてくるコマンドオプションのエラーチェックを行い（ステップＳ３０５）、コマンドオプションを評価しなければならなかった（ステップＳ３０６）。
また、通信コントローラ３６及びＣＰＵ３１が上記の処理（ステップＳ３０４〜Ｓ３０６及びＳ４０２〜Ｓ４０３）を実行する間、リソースはｃｌｏｓｅｄ状態のままとなっていた。
【００１２】
このように、従来の通信コントローラ３６においては、前回の通信が終了してから新たな通信を行うことが可能となるまでの時間が長くなってしまっていた。
【００１３】
【発明が解決しようとする課題】
そこで、上記の点に鑑み、本発明は、ＴＣＰ／ＩＰによる通信を行う半導体装置であって、前回の通信が終了してから新たな通信を行うことが可能となるまでの時間を短くすることができる半導体装置を提供することを目的とする。
【００１４】
【課題を解決するための手段】
以上の課題を解決するため、本発明に係る半導体装置は、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）による通信を行う半導体装置であって、ＣＰＵとの間でデータの送受信を行う第１のインタフェース部と、ネットワークを介して外部機器に接続されたネットワークインタフェースとの間でデータの送受信を行う第２のインタフェース部と、ＴＣＰ又はＵＤＰ（Ｕｓｅｒ　Ｄａｔａｇｒａｍ　Ｐｒｏｔｏｃｏｌ）の状態遷移を行うことによりＴＣＰ／ＩＰの通信路を管理するリソースを操作して、ＣＰＵと外部機器との間のＴＣＰ／ＩＰによる通信を行う通信処理部であって、リソースが切断状態である場合に、前回の通信に用いたパラメータに従ってリソースを通信可能な状態に遷移させる旨の指示を第１のインタフェース部を介してＣＰＵから受信したときに、前回の通信に用いたパラメータに従ってリソースを通信可能な状態に遷移させる通信処理部とを具備する。
【００１５】
ここで、通信処理部が、リソースがｃｌｏｓｅｄ状態である場合に、前回の通信に用いたコマンドオプションに従ってリソースをｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に遷移させる旨の指示を第１のインタフェース部を介してＣＰＵから受信したときに、前回の通信に用いたコマンドオプションに従ってリソースをｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に遷移させることとしても良い。
【００１６】
以上の構成によれば、前回の通信が終了してから新たな通信を行うことが可能となるまでの時間を短くすることができる。
【００１７】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について説明する。
図１に、本発明の一実施形態としての通信コントローラを用いたＰＤＡの構成を示す。
図１に示すように、ＰＤＡ１は、ＣＰＵ２、ＲＡＭ３、ＲＯＭ４、表示部５、入力部６、通信コントローラ７、及び、ネットワークインタフェース８を有している。
【００１８】
表示部５は、文字、画像等を表示するＬＣＤ等であり、入力部６は、ユーザがデータ等を入力するためのタッチパネル等である。
ＣＰＵ２は、ＲＡＭ３を作業用領域として使用しながら、ＲＯＭ４に格納されたＯＳ（オペレーティングシステム）を実行し、さらに、ユーザからの要求に応じて、ＲＯＭ４に格納された各種のアプリケーションプログラムを実行する。
【００１９】
ＣＰＵ２は、例えば、メールクライアントプログラム等のアプリケーションプログラムの実行において、ネットワークに接続された外部機器との間でＴＣＰ／ＩＰによる通信を行う必要が生じた場合には、外部機器への接続を通信コントローラ７に要求する。
通信コントローラ７は、ＴＣＰ／ＩＰによる通信の物理層（例えば、ＩＥＥＥ８０２．３に規定される１０Ｂａｓｅ−Ｔ等）を担うネットワークインタフェース８に接続されており、ＣＰＵ２から外部機器への接続要求を受け取ると、外部機器との間の通信路を確立し、ＣＰＵ２と外部機器との間のＴＣＰ／ＩＰによる通信を行い、その後、通信路の切断を行う。また、通信コントローラ７は、外部機器からＣＰＵ２への接続要求を受信した場合にも、外部機器との間の通信路を確立し、ＣＰＵ２と外部機器との間のＴＣＰ／ＩＰによる通信を行い、その後、通信路の切断を行う。
【００２０】
図２は、本発明の一実施形態として、通信コントローラ７の内部構成を示す図である。図２に示すように、通信コントローラ７は、ネットワークインタフェース部１１と、バスインタフェース部１３と、ＴＣＰ／ＩＰエンジン部１５とを含んでいる。
ネットワークインタフェース部１１は、ネットワークに接続された外部機器からの接続要求を受け取ると、接続要求をＴＣＰ／ＩＰエンジン部１５に送る。また、ネットワークインタフェース部１１は、外部機器から通信データを受け取ってＴＣＰ／ＩＰエンジン部１５に送り、ＴＣＰ／ＩＰエンジン部１５から通信データを受け取って外部機器に送る。
【００２１】
バスインタフェース部１３は、ＣＰＵ２から通信データ等を受け取ってＴＣＰ／ＩＰエンジン部１５に送り、ＴＣＰ／ＩＰエンジン部１５から通信データ等を受け取ってＣＰＵ２に送る。
ＴＣＰ／ＩＰエンジン部１５は、通信路を管理する１個のリソースを有しており、このリソースを操作することにより、ＣＰＵ２と外部機器との間のＴＣＰ／ＩＰによる通信を行う。ＴＣＰ／ＩＰエンジン部１５が有するリソースの状態遷移は、従来と同様である（図６参照）。
【００２２】
次に、新たな通信のためのコマンドオプションの値が前回の通信のために用いたコマンドオプションと全く同じ場合における、通信の終了（接続の切断）からリソースの再設定までのＴＣＰ／ＩＰエンジン部１５及びＣＰＵ３１の動作について、図１〜図４を参照しながら説明する。図３及び図４は、通信の終了（接続の切断）からリソースの再設定までの通信コントローラ３６及びＣＰＵ３１の動作を示すフローチャートである。
まず、ＴＣＰ／ＩＰエンジン部１５が、接続の切断要求をＣＰＵ２に通知する（ステップＳ１０１）。この通知により、ＣＰＵ２は、リソースがｃｌｏｓｅ−ｗａｉｔ状態に遷移したことを知ることができる。
【００２３】
ＣＰＵ２は、切断要求をＴＣＰ／ＩＰエンジン部１５から受け取ると、ｃｌｏｓｅコマンドをＴＣＰ／ＩＰエンジン部１５に発行する（ステップＳ２０１）。
ＴＣＰ／ＩＰエンジン部１５は、ｃｌｏｓｅコマンドを受け取ると、リソースをｃｌｏｓｅ−ｗａｉｔ状態からｌａｓｔ−ａｃｋ状態に遷移させ、さらにｃｌｏｓｅｄ状態に遷移させる（ステップＳ１０２）。そして、ＴＣＰ／ＩＰエンジン部１５は、ｏｋステータスをＣＰＵ２に送る（ステップＳ１０３）。
【００２４】
ＣＰＵ２は、ｏｋステータスをＴＣＰ／ＩＰエンジン部１５から受け取ると、ｒｅｏｐｅｎコマンドをＴＣＰ／ＩＰエンジン部１５に発行する（ステップＳ２０２）。このｒｅｏｐｅｎコマンドは、ＴＣＰ／ＩＰの規格にはない通信コントローラ７に特有のコマンドであり、前回の通信に用いたコマンドオプションを再度用いて、新たな通信のためにリソースをｃｌｏｓｅｄ状態からｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に遷移させることを指示するコマンドである。
ＴＣＰ／ＩＰエンジン部１５は、ｒｅｏｐｅｎコマンドをＣＰＵ２から受け取ると、前回の通信に用いたコマンドオプションに従って、リソースをｃｌｏｓｅｄ状態からｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に遷移させる（ステップＳ１０４）。そして、ＴＣＰ／ＩＰエンジン部１５は、ｏｋステータスをＣＰＵ２に送る（ステップＳ１０５）。
このようにして、リソースがｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に遷移すると、新たな通信を行うことが可能となる。
【００２５】
以上説明したように、通信コントローラ７によれば、リソースがｃｌｏｓｅｄ状態である場合に、前回の通信に用いたコマンドオプションを再度用いてリソースをｃｌｏｓｅｄ状態からｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に遷移させることを指示するｒｅｏｐｅｎコマンドを受信したときに、前回の通信に用いたコマンドオプションに従ってリソースをｃｌｏｓｅｄ状態からｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に遷移させることができる。
そのため、従来のＰＤＡ３０内のＣＰＵ３１（図５参照）は、ｏｐｅｎコマンドを発行してから（図７のステップＳ４０２）ｗｒｉｔｅステータスが送られてくるまで（図７のステップＳ３０４）待つ必要があったが、ＰＤＡ１内のＣＰＵ２は、ｗｒｉｔｅステータスを待つ必要がない。
【００２６】
また、従来のＰＤＡ３０内のＣＰＵ３１は、新たな通信のためのコマンドオプションが前回の通信のために用いたコマンドオプションと全く同じ場合であっても、コマンドオプションを送らなければならなかった（図７のステップＳ４０３）。しかしながら、ＰＤＡ１内のＣＰＵ２は、新たな通信のためのコマンドオプションが前回の通信のために用いたコマンドオプションと全く同じ場合には、コマンドオプションを送る必要がなく、また、ＰＤＡ１内の通信コントローラ７のＴＣＰ／ＩＰエンジン部１５は、コマンドオプションをあらためて評価する必要がない。
また、通信コントローラ７は、ｒｅｏｐｅｎコマンドを受け取った時点で、リソースをｃｌｏｓｅｄ状態からｌｉｓｔｅｎ状態又はｓｙｎ−ｓｅｎｔ状態に遷移させるので、リソースがｃｌｏｓｅｄ状態である時間を短くすることができる。
【００２７】
従って、通信コントローラ７によれば、前回の通信が終了してから新たな通信が可能となるまでの時間を短くすることができる。
【００２８】
なお、ＴＣＰ／ＩＰエンジン部１５は、ハードウェアで実現することもでき、ＣＰＵコアとファームウェア（プログラム）で実現することもできる。
また、本実施形態においては、ＴＣＰ／ＩＰエンジン部１５がＴＣＰのリソースを操作する場合について説明したが、ＵＤＰ（Ｕｓｅｒ　Ｄａｔａｇｒａｍ　Ｐｒｏｔｏｃｏｌ）のリソースも同様に操作することができる。
また、本実施形態においては、通信コントローラ７が１個のリソースを操作することとしているが、複数個のリソースを操作することとしても良い。
【００２９】
【発明の効果】
以上述べたように、本発明によれば、リソースが切断状態である場合に、前回の通信に用いたパラメータに従ってリソースを通信可能な状態に遷移させる旨の指示を受け取ったときに、前回の通信に用いたパラメータに従ってリソースを通信可能な状態に遷移させることができる。これにより、前回の通信が終了してから新たな通信が可能となるまでの時間を短くすることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態としての通信コントローラを用いたＰＤＡの構成を示す図である。
【図２】本発明の一実施形態としての通信コントローラの内部構成を示す図である。
【図３】図１の通信コントローラ及びＣＰＵの動作を示すフローチャートである。
【図４】図１の通信コントローラ及びＣＰＵの動作を示すフローチャートである。
【図５】従来のＰＤＡの構成を示す図である。
【図６】ＴＣＰ／ＩＰの通信路を管理するリソースの状態遷移図である。
【図７】図５の通信コントローラ及びＣＰＵの動作を示すフローチャートである。
【図８】図５の通信コントローラ及びＣＰＵの動作を示すフローチャートである。
【符号の説明】
１、３０　ＰＤＡ
２、３１　ＣＰＵ
３、３２　ＲＡＭ
４、３３　ＲＯＭ
５、３４　表示部
６、３５　入力部
７、３６　通信コントローラ
８、３７　ネットワークインタフェース
１１　ネットワークインタフェース部
１３　バスインタフェース部
１５　ＴＣＰ／ＩＰエンジン部
【図１】
2004064506.tif 000003
【図２】
2004064506.tif 000004
【図３】
2004064506.tif 000005
【図４】
2004064506.tif 000006
【図５】
2004064506.tif 000007
【図６】
2004064506.tif 000008
【図７】
2004064506.tif 000009
【図８】
2004064506.tif 000010