(57)【要約】【課題】この発明は、デバイス間で送受信されるパケットのデータ量を効果的に削減して伝送効率の向上を図ることを可能とし、実用化に十分に好適する情報処理装置及びその制御方法を提供することを目的としている。【解決手段】第１のデバイス（２４）のトランザクション層（２４ｃ）から出力されるパケットに付加されたデータペイロードに圧縮処理を施してデータリンク層（２４ｂ）に供給する手段（３６）と、第２のデバイス（２６）のデータリンク層（２６ｂ）に受信されたパケットに付加された圧縮データペイロードに展開処理を施してトランザクション層（２６ｃ）に供給する展開制御手段（４２）とを備える。【選択図】    図６
2008010956.tif 000002
【特許請求の範囲】
【請求項１】
シリアルバスインターフェースで接続され、互いのトランザクション層間でデータリンク層を介してパケットの伝送を行なう第１及び第２のデバイスを備えた情報処理装置であって、
前記第１のデバイスのトランザクション層から出力されるパケットにデータペイロードが付加されているとき、そのデータペイロードに圧縮処理を施して前記第１のデバイスのデータリンク層に供給する圧縮制御手段と、
前記第２のデバイスのデータリンク層に受信されたパケットに、圧縮されたデータペイロードが付加されているとき、その圧縮されたデータペイロードに展開処理を施して前記第２のデバイスのトランザクション層に供給する展開制御手段とを具備することを特徴とする情報処理装置。
【請求項２】
前記圧縮制御手段は、前記圧縮処理後のデータペイロードのデータ量が前記圧縮処理前のデータペイロードのデータ量よりも減少しているとき、前記圧縮処理後のデータペイロードを前記第１のデバイスのデータリンク層に供給することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記圧縮制御手段は、前記圧縮処理後のデータペイロードを前記第１のデバイスのデータリンク層に供給する際、前記圧縮処理後のデータペイロードが付加されるパケットのヘッダに、データペイロードが圧縮済みであることを示す情報を付加することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記圧縮制御手段は、前記第１のデバイスのトランザクション層から出力されるパケットにデータペイロードが付加されていないとき、前記第１のデバイスのトランザクション層から連続して出力される複数のパケットのヘッダが圧縮処理可能である場合、その複数のヘッダに対して圧縮処理を施して前記第１のデバイスのデータリンク層に供給することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記圧縮制御手段は、前記第１のデバイスのトランザクション層から連続して出力される複数のパケットの各ヘッダについて、それぞれのヘッダを構成する複数の要素のうち大部分が同一であるとき圧縮処理可能であると判断することを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記圧縮制御手段は、全ての要素を含む１つのヘッダと、その１つのヘッダ以外の複数のヘッダのうち同一でない要素を配列した情報とを生成することにより、複数のヘッダに対して圧縮処理を施すことを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記圧縮制御手段は、前記圧縮処理後のヘッダを前記第１のデバイスのデータリンク層に供給する際、全ての要素を含む１つのヘッダにヘッダが圧縮済みであることを示す情報を付加することを特徴とする請求項４記載の情報処理装置。
【請求項８】
前記展開制御手段は、前記第２のデバイスのデータリンク層に受信されたパケットに、圧縮されたデータペイロードが付加されていないとき、ヘッダが圧縮処理されているか否かを判別し、ヘッダが圧縮処理されているとき、ヘッダに対して展開処理を施すことを特徴とする請求項４記載の情報処理装置。
【請求項９】
前記第１のデバイスは、前記トランザクション層から出力されるパケットを、前記圧縮処理手段による圧縮処理を施すことなく前記第１のデバイスのデータリンク層に直接供給するための経路を有し、
前記第２のデバイスは、前記データリンク層に受信されたパケットを、前記展開処理手段による展開処理を施すことなく前記第２のデバイスのトランザクション層に直接供給するための経路を有することを特徴とする請求項１記載の情報処理装置。
【請求項１０】
前記シリアルバスインターフェースがPCI Expressに相当することを特徴とする請求項１記載の情報処理装置。
【請求項１１】
シリアルバスインターフェースで接続され、互いのトランザクション層間でデータリンク層を介してパケットの伝送を行なう第１及び第２のデバイスを備えた情報処理装置の制御方法であって、
前記第１のデバイスのトランザクション層から出力されるパケットにデータペイロードが付加されているとき、そのデータペイロードに圧縮処理を施して前記第１のデバイスのデータリンク層に供給する圧縮制御工程と、
前記第２のデバイスのデータリンク層に受信されたパケットに、圧縮されたデータペイロードが付加されているとき、その圧縮されたデータペイロードに展開処理を施して前記第２のデバイスのトランザクション層に供給する展開制御工程とを具備することを特徴とする情報処理装置の制御方法。
【請求項１２】
前記圧縮制御工程は、前記圧縮処理後のデータペイロードのデータ量が前記圧縮処理前のデータペイロードのデータ量よりも減少しているとき、前記圧縮処理後のデータペイロードを前記第１のデバイスのデータリンク層に供給することを特徴とする請求項１１記載の情報処理装置の制御方法。
【請求項１３】
前記圧縮制御工程は、前記第１のデバイスのトランザクション層から出力されるパケットにデータペイロードが付加されていないとき、前記第１のデバイスのトランザクション層から連続して出力される複数のパケットのヘッダが圧縮処理可能である場合、その複数のヘッダに対して圧縮処理を施して前記第１のデバイスのデータリンク層に供給することを特徴とする請求項１１記載の情報処理装置の制御方法。
【請求項１４】
前記展開制御工程は、前記第２のデバイスのデータリンク層に受信されたパケットに、圧縮されたデータペイロードが付加されていないとき、ヘッダが圧縮処理されているか否かを判別し、ヘッダが圧縮処理されているとき、ヘッダに対して展開処理を施すことを特徴とする請求項１３記載の情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばＰＣ（personal computer）等のような情報処理装置及びその動作を制御する制御方法に関する。
【背景技術】
【０００２】
周知のように、近年、例えばＰＣ等のような情報処理装置においては、PCI Expressと称される第３世代汎用Ｉ／Ｏ相互接続インターフェースが採用されている。このPCI Expressは、リンクと称される通信路を介してデバイス間を相互接続するための規格であり、PCI SIG（peripheral component interconnect special interest group）によって規定されている。
【０００３】
ところで、PCI Expressの規格においては、デバイス間のデータの伝送はパケットを用いて実行される。しかしながら、PCI Express Base Specification Revision 1．1に定義されている技術では、デバイス間で送受信されるパケット（Ordered-set／DLLP／TLP）の構成フォーマットは定義されているが、パケットのデータ量を軽減して伝送効率を向上させることについては定義されていない。
【０００４】
特許文献１には、データ圧縮率の異なる複数のデータ圧縮手段を備えたデータ送信ノードが、データ転送時のデータ転送実効速度に応じてデータ圧縮手段の１つを選択してデータ圧縮を行ない、その圧縮データをデータ圧縮処理方式とともに転送し、データ受信ノードが受信したデータ圧縮処理方式に基づいてデータ伸張するようにした構成が開示されている。
【特許文献１】特開２００１−２８５３９９
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、この発明は上記事情を考慮してなされたもので、デバイス間で送受信されるパケットのデータ量を効果的に削減して伝送効率の向上を図ることを可能とし、実用化に十分に好適する情報処理装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る情報処理装置は、シリアルバスインターフェースで接続され、互いのトランザクション層間でデータリンク層を介してパケットの伝送を行なう第１及び第２のデバイスを備えた情報処理装置であって；第１のデバイスのトランザクション層から出力されるパケットにデータペイロードが付加されているとき、そのデータペイロードに圧縮処理を施して第１のデバイスのデータリンク層に供給する圧縮制御手段と；記第２のデバイスのデータリンク層に受信されたパケットに、圧縮されたデータペイロードが付加されているとき、その圧縮されたデータペイロードに展開処理を施して第２のデバイスのトランザクション層に供給する展開制御手段とを備えるようにしたものである。
【０００７】
また、この発明に係る情報処理装置の制御方法は、シリアルバスインターフェースで接続され、互いのトランザクション層間でデータリンク層を介してパケットの伝送を行なう第１及び第２のデバイスを備えた情報処理装置の制御方法であって；第１のデバイスのトランザクション層から出力されるパケットにデータペイロードが付加されているとき、そのデータペイロードに圧縮処理を施して第１のデバイスのデータリンク層に供給する圧縮制御工程と；第２のデバイスのデータリンク層に受信されたパケットに、圧縮されたデータペイロードが付加されているとき、その圧縮されたデータペイロードに展開処理を施して第２のデバイスのトランザクション層に供給する展開制御工程とを備えるようにしたものである。
【発明の効果】
【０００８】
上記した発明によれば、第１のデバイスから出力されるパケットに付加されたデータペイロードに圧縮処理を施して第２のデバイスに出力し、第２のデバイスでは受信したパケットの圧縮されたデータペイロードに展開処理を施すようにしたので、デバイス間で送受信されるパケットのデータ量を効果的に削減して伝送効率の向上を図ることを可能とし、実用化に十分に好適するものとなる。
【発明を実施するための最良の形態】
【０００９】
以下、この発明の実施の形態について図面を参照して詳細に説明する。図１は、この実施の形態で説明する情報処理装置として、バッテリ駆動可能なノートブック型のＰＣ１１の外観を示している。
【００１０】
このＰＣ１１は、ＰＣ本体１２とディスプレイユニット１３とから構成されている。ディスプレイユニット１３には、ＬＣＤ（liquid crystal display）からなる表示装置が組み込まれており、そのＬＣＤの表示画面１４がディスプレイユニット１３のほぼ中央に位置されている。
【００１１】
ディスプレイユニット１３は、ＰＣ本体１２に対して開放位置と閉塞位置との間を回動自在に取り付けられている。ＰＣ本体１２は、薄い箱形の筐体を有しており、その上面にはパワーボタン１５、ＬＥＤ（light emitting diode）表示部１６、キーボード１７、タッチパッド１８、左右２つのボタン１９，２０等が配置されている。
【００１２】
図２は、上記ＰＣ１１の信号処理系を示している。このＰＣ１１は、内蔵バッテリ２１を備えており、外部電源（ＡＣ電源）に接続されていない状態においては、内蔵バッテリ２１からの電力によって動作する。また、ＡＣアダプタ２２がＰＣ１１に接続されている状態、つまり、外部電源（ＡＣ電源）にＰＣ１１が接続されている状態においては、ＰＣ１１は外部電源（ＡＣ電源）によって動作する。さらに、外部電源によって内蔵バッテリ２１の充電が行なわれる。
【００１３】
このＰＣ１１は、図２に示すように、ＣＰＵ（central processing unit）２３、Root Complex２４、主メモリ２５、グラフィックスコントローラ（end point）２６、上記表示装置（ＬＣＤ）２７、PCIデバイス群２８、PCI Expressデバイス群２９、ＨＤＤ（hard disk drive）３０、ＢＩＯＳ−ＲＯＭ３１、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）３２、電源コントローラ（ＰＳＣ）３３、上記パワーボタン１５、キーボード（ＫＢ）１７、タッチパッド１８等を備えている。
【００１４】
Root Complex２４、グラフィックスコントローラ（end point）２６及びPCI Expressデバイス群２９は、それぞれPCI Express規格に準拠したデバイスである。そして、Root Complex２４とグラフィックスコントローラ（end point）２６との間の通信は、Root Complex２４とグラフィックスコントローラ（end point）２６との間に配設されたPCI Expressリンク３４を介して実行される。
【００１５】
Root Complex２４とPCI Expressデバイス群２９との間の通信は、Root Complex２４とPCI Expressデバイス群２９との間に配設されたPCI Expressリンク３５を介して実行される。各PCI Expressリンク３４，３５は、それぞれシリアルバスインターフェースから構成される通信路であり、アップストリームレーン及びダウンストリームレーンを含んでいる。
【００１６】
ＣＰＵ２３は、ＰＣ１１の動作を制御するプロセッサであり、ＨＤＤ３０から主メモリ２５にロードされる各種プログラム（オペレーティングシステム、アプリケーションプログラム）を実行する。
【００１７】
また、ＣＰＵ２３は、ＢＩＯＳ−ＲＯＭ３１に格納されたＢＩＯＳ（basic input output system）も実行する。このＢＩＯＳは、ハードウェアを制御するためのプログラムである。また、ＢＩＯＳは、PCI Express規格で規定されたＡＳＰＭ（active state power management）機能の実行を、ＰＣ１１の動作モードに応じて動的に許可または禁止するためのＳＭＩ（system management interrupt）ルーチンを有している。
【００１８】
ＡＳＰＭ機能は、上述したように、例えPCI Express規格に対応するデバイスが動作状態（Ｄ０ステート）であっても、そのデバイスが接続されたリンクをローパワーステート（スタンバイステート）に設定することが可能な通信路制御機能である。リンクを介して相互接続された２つのデバイスのそれぞれはＡＳＰＭ機能を有しており、リンクがアイドル状態であるか否かに応じて、リンクの状態を動作ステートと当該動作ステートよりも低消費電力のスタンバイステートとの間で遷移させることができる。この遷移は、ハードウェアによって自動的に実行される。
【００１９】
Root Complex２４は、ＣＰＵ２３のローカルバスとグラフィックスコントローラ（end point）２６との間を接続するブリッジデバイスである。また、Root Complex２４は、PCI Expressリンク３４を介してグラフィックスコントローラ（end point）２６との通信を実行する機能も有している。
【００２０】
グラフィックスコントローラ（end point）２６は、ＰＣ１１のディスプレイモニタとして使用される表示装置（ＬＣＤ）２７を制御する表示コントローラである。
【００２１】
エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）３２は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）１７及びタッチパッド１８を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。
【００２２】
このエンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）３２は、ユーザによるパワーボタン１５の操作に応じて、電源コントローラ（ＰＳＣ）３３と共同して、ＰＣ１１をパワーオン／パワーオフする機能を有している。さらに、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）３２は、ＰＣ１１に対するＡＣアダプタ２２の接続及び取り外しを検出する機能も有している。
【００２３】
ＡＣアダプタ２２の接続及び取り外しのイベントが発生したとき、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）３２は、電力管理イベントの発生をＢＩＯＳに通知するために割り込み信号（ＩＮＴＲ）を発生する。この割り込み信号（ＩＮＴＲ）の発生に応答して、Root Complex２４は、ＣＰＵ２３に割り込み信号（ＳＭＩ）を発生する。ＣＰＵ２３は、ＳＭＩに応答して、ＢＩＯＳのＳＭＩルーチンを実行する。なお、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）３２からＣＰＵ２３に直接的にＳＭＩを供給するようにしても良いものである。
【００２４】
図３は、PCI Express規格にそれぞれ準拠した２つのデバイス間の接続構成を示している。ここでは、２つのデバイスとして、Root Complex２４（第１のデバイス）とグラフィックスコントローラ（end point）２６（第２のデバイス）との接続構成を例にして説明する。
【００２５】
すなわち、PCI Express規格では、対向する２つのデバイス２４，２６に対して、両者間の物理的接続を制御し管理するためのPhysical Layer２４ａ，２６ａと、両者間のデータの保全性を制御し管理するためのDataLink Layer２４ｂ，２６ｂと、メモリに対する読み出しや書き込み等のトランザクションを制御し管理するためのTransaction Layer２４ｃ，２６ｃとが定義されている。なお、各デバイス２４，２６には、それぞれ、内部ロジックとTransaction Layer２４ｃ，２６ｃとのインターフェースを制御し管理するための内部バス制御回路２４ｄ，２６ｄが設けられているが、これらの内部バス制御回路２４ｄ，２６ｄについては、PCI Express規格の範囲外である。
【００２６】
そして、２つのデバイス２４，２６の対向する各Layer（２４ａ，２６ａ）、（２４ｂ，２６ｂ）、（２４ｃ，２６ｃ）間において、それぞれ、規格でフォーマットを定められたパケットを送受信することによりデータの受け渡しが行なわれる。対向する各Layer（２４ａ，２６ａ）、（２４ｂ，２６ｂ）、（２４ｃ，２６ｃ）間で送受信されるパケットは、以下の３種類である。
【００２７】
すなわち、Physical Layer２４ａ，２６ａ間で物理接続の管理及び制御を行なうために送受信を行なうOrdered-setと、DataLink Layer２４ｂ，２６ｂ間でデータの保全性を確保するために送受信を行なうＤＬＬＰ（datalink layer packet）（図４参照）と、デバイス２４，２６間のデータの送受信を行なうＴＬＰ（transaction layer packet）(図５参照)とである。
【００２８】
そして、ＴＬＰにより送受信されるデータは、次のように細分化される。すなわち、対向デバイスの制御信号や映像データ等のストリームデータ（信号）を送受信するMemoryトランザクション（read／write）と、主に対向デバイスの制御信号を送受信するＩ／Ｏトランザクション（read／write）と、PC12．x／PCI−X／PCI Expressで定義されたPCI／PCI Express準拠の制御情報の送受信を行なうConfigurationトランザクションと、割り込み、エラー情報、Slot管理、パワー制御等の管理情報の送受信を行なうMessageトランザクションとである。Configurationトランザクション及びMessageトランザクションについては、デバイス２４，２６間及びPCI Express階層の管理及び制御情報の送受信に使用される。
【００２９】
ここで、先に述べたように、Root Complex２４とグラフィックスコントローラ（end point）２６とは、PCI Expressリンク３４を介して相互接続されている。このPCI Expressリンク３４は、Root Complex２４とグラフィックスコントローラ（end point）２６との間をpoint to point形式で接続するシリアルバスインターフェースである。
【００３０】
すなわち、このPCI Expressリンク３４は、Root Complex２４からグラフィックスコントローラ（end point）２６の方向に情報を伝送するための差動信号線対３４ａと、グラフィックスコントローラ（end point）２６からRoot Complex２４の方向に情報を伝送するための差動信号線対３４ｂと、Physical Layer２４ａ，２６ａ間でOrdered-setを送受信するための信号線対と、DataLink Layer２４ｂ，２６ｂ間でＤＬＬＰを送受信するための信号線対と、Transaction Layer２４ｃ，２６ｃ間及び内部バス制御回路２４ｄ，２６ｄ間でＴＬＰを送受信するための信号線対とを備えている。
【００３１】
ここで、上記Ordered-set及びＤＬＬＰについては、デバイス２４，２６間のローカルな通信に使用される。これら２種類のパケットについては、ユーザが任意に設定したデータを付加することはできず、データフォーマットはPCI Express規格により厳密に規定されている。
【００３２】
一方、ＴＬＰについて、そのパケットフォーマットはPCI Express規格により厳密に規定されているが、パケットのデータ量については、パケット内に付加するヘッダとデータペイロード（図５のDataフィールド）とのデータ長が規定されているだけである。すなわち、パケットのデータ量を軽減して伝送効率を向上させることについては定義されていない。
【００３３】
そこで、この実施の形態では、送信側のデバイスが、ＴＬＰのデータペイロードまたはヘッダに対して、データ量を削減するための圧縮処理を施して送信し、受信側のデバイスが、圧縮されたＴＬＰのデータペイロードまたはヘッダに対して、データ量を元に戻すための展開処理を施すことにより、伝送効率を向上させるようにしている。
【００３４】
すなわち、図６に示すように、一方のデバイス（Root Complex）２４において、そのTransaction Layer２４ｃとDataLink Layer２４ｂとの間には、Transaction Layer２４ｃからDataLink Layer２４ｂに伝送されるＴＬＰのデータペイロードまたはヘッダに対して、データ量を削減する圧縮処理を施すための圧縮回路３６が介在されている。
【００３５】
また、上記Transaction Layer２４ｃとDataLink Layer２４ｂとの間には、圧縮処理の必要の無いＴＬＰを、圧縮回路３６を通さないでTransaction Layer２４ｃからDataLink Layer２４ｂに直接伝送するための経路３７も設けられている。
【００３６】
さらに、Transaction Layer２４ｃとDataLink Layer２４ｂとの間には、DataLink Layer２４ｂからTransaction Layer２４ｃに伝送される圧縮処理されたＴＬＰのデータペイロードまたはヘッダに対して、データ量を元に戻す展開処理を施すための展開回路３８が介在されている。
【００３７】
また、上記Transaction Layer２４ｃとDataLink Layer２４ｂとの間には、展開処理の必要の無い、つまり、圧縮処理されていないＴＬＰを、展開回路３８を通さないでDataLink Layer２４ｂからTransaction Layer２４ｃに直接伝送するための経路３９も設けられている。
【００３８】
一方、他方のデバイス（グラフィックスコントローラ）２６においても、そのTransaction Layer２６ｃとDataLink Layer２６ｂとの間には、Transaction Layer２６ｃからDataLink Layer２６ｂに伝送されるＴＬＰのデータペイロードまたはヘッダに対して、データ量を削減する圧縮処理を施すための圧縮回路４０が介在されている。
【００３９】
また、上記Transaction Layer２６ｃとDataLink Layer２６ｂとの間には、圧縮処理の必要の無いＴＬＰを、圧縮回路４０を通さないでTransaction Layer２６ｃからDataLink Layer２６ｂに直接伝送するための経路４１も設けられている。
【００４０】
さらに、Transaction Layer２６ｃとDataLink Layer２６ｂとの間には、DataLink Layer２６ｂからTransaction Layer２６ｃに伝送される圧縮処理されたＴＬＰのデータペイロードまたはヘッダに対して、データ量を元に戻す展開処理を施すための展開回路４２が介在されている。
【００４１】
また、上記Transaction Layer２６ｃとDataLink Layer２６ｂとの間には、展開処理の必要の無い、つまり、圧縮処理されていないＴＬＰを、展開回路４２を通さないでDataLink Layer２６ｂからTransaction Layer２６ｃに直接伝送するための経路４３も設けられている。
【００４２】
このため、例えば、デバイス２４のTransaction Layer２４ｃからデバイス２６のTransaction Layer２６ｃに伝送すべく出力されたＴＬＰのうち、圧縮処理の必要のないものは、経路３７、DataLink Layer２４ｂ、Physical Layer２４ａ、PCI Expressリンク３４、Physical Layer２６ａ、DataLink Layer２６ｂ及び経路４３を介してTransaction Layer２６ｃに供給される。
【００４３】
また、デバイス２４のTransaction Layer２４ｃからデバイス２６のTransaction Layer２６ｃに伝送すべく出力されたＴＬＰのうち、圧縮処理の必要のあるものは、圧縮回路３６で圧縮処理され、DataLink Layer２４ｂ、Physical Layer２４ａ、PCI Expressリンク３４、Physical Layer２６ａ、DataLink Layer２６ｂを介した後、展開回路４２で展開処理されてTransaction Layer２６ｃに供給される。これにより、DataLink Layer２４ｂからDataLink Layer２６ｂまでの伝送路上におけるデータ転送レートが低減され、伝送効率を向上させることが可能となる。
【００４４】
逆に、デバイス２６のTransaction Layer２６ｃからデバイス２４のTransaction Layer２４ｃに伝送すべく出力されたＴＬＰのうち、圧縮処理の必要のないものは、経路４１、DataLink Layer２６ｂ、Physical Layer２６ａ、PCI Expressリンク３４、Physical Layer２４ａ、DataLink Layer２４ｂ及び経路３９を介してTransaction Layer２４ｃに供給される。
【００４５】
また、デバイス２６のTransaction Layer２６ｃからデバイス２４のTransaction Layer２４ｃに伝送すべく出力されたＴＬＰのうち、圧縮処理の必要のあるものは、圧縮回路４０で圧縮処理され、DataLink Layer２６ｂ、Physical Layer２６ａ、PCI Expressリンク３４、Physical Layer２４ａ、DataLink Layer２４ｂを介した後、展開回路３８で展開処理されてTransaction Layer２４ｃに供給される。これにより、DataLink Layer２６ｂからDataLink Layer２４ｂまでの伝送路上におけるデータ転送レートが低減され、伝送効率を向上させることが可能となる。
【００４６】
ここで、上記ＴＬＰのデータペイロードに対する圧縮処理としては、例えば、一般的なDeflateアルゴリズム、ＬＺＳＳ法、ハフマン法等が使用される。
【００４７】
次に、上記ＴＬＰのヘッダに対する圧縮処理について説明する。このヘッダは、図７に示すように、１２バイト（１バイト＝８ビット）で構成され、Ｒ，Fmt，Type，Ｒ，TC，Reserved，TD，EP，Attr，Ｒ，Length，Requester ID，Tag，Last DW，1st DW，Address及びＲなる要素を含んでいる。
【００４８】
このうち、Requester IDが対向デバイスに対する書き込み（write）や読み出し（read）等のリクエストを指示し、Addressが対向デバイスのメモリに対して書き込みや読み出しを行なう開始アドレスを指示し、Lengthが開始アドレスからデータの書き込みや読み出しを行なっていくアドレス数を指示している。
【００４９】
この場合、ＴＬＰには、例えばそのRequester IDに書き込みリクエスト等が記述された場合のように、ヘッダの後のDataフィールドに、Lengthで指示されたアドレス数に対応した量の書き込みデータがデータペイロードとして付加されるものと、例えば読み出しリクエスト等のように、ヘッダの後にデータペイロードが付加されないものとがある。
【００５０】
そして、例えばデバイス２４からデバイスに２６に対して読み出しリクエストが発生されると、対向デバイス２６からは、読み出し要求されたアドレスから読み出されたデータが、データペイロードとして付加されたＴＬＰが出力され、デバイス２４に供給されることになる。
【００５１】
この場合、先にも述べたように、１つのＴＬＰに付加することのできるデータペイロードのデータ長は規定されている。このため、この規定されたデータ長以上の量のデータの読み出しを行なう場合には、複数の読み出しリクエストを発生して、対向デバイス２６からデータを複数回のＴＬＰに分割して読み出させる必要が生じる。
【００５２】
例えば、読み出しリクエストを５回に分けて発生する場合、図８（ａ）〜（ｅ）に示す５つのＴＬＰを対向デバイス２６に対して発生する必要がある。この場合、１つのヘッダが１２バイト×８ビット＝９６ビットであるから、全体で９６ビット×５＝４８０ビットのデータ量を伝送することになる。
【００５３】
しかしながら、これら５つのＴＬＰは、LengthとAddressのみが異なり、他の大部分の要素は同一である。このため、図９（ａ）に示すように、最初の１つのヘッダのみ９６ビット全てを伝送し、最初のヘッダに続く４つのヘッダについては、図９（ｂ）に示すように、同一で無い要素、つまり、AddressとLengthとを順次伝送するようにしている。これにより、全体で３２ビット×８＝２５６ビットのデータ量を伝送することになって、５つのＴＬＰを全て伝送する場合に比して、データ量を削減（圧縮）することが可能となる。
【００５４】
図１０は、上記したデバイス２４におけるＴＬＰのデータペイロードまたはヘッダを圧縮するための処理動作をまとめたフローチャートを示している。なお、デバイス２６における圧縮処理動作も、デバイス２４とほぼ同様に説明することができることはもちろんである。
【００５５】
すなわち、処理が開始（ステップＳ１）されると、ＣＰＵ２３は、ステップＳ２で、Transaction Layer２４ｃから出力されたＴＬＰにデータペイロードが付加されているか否かを判別する。そして、ＴＬＰにデータペイロードが付加されていると判断された場合（ＹＥＳ）、ＣＰＵ２３は、ステップＳ３で、そのＴＬＰを圧縮回路３６に供給しデータペイロードに対して圧縮処理を施させる。
【００５６】
その後、ＣＰＵ２３は、ステップＳ４で、圧縮処理前のデータペイロードのデータ量（サイズ）と、圧縮処理後のデータペイロードのデータ量（サイズ）とを比較し、圧縮処理後の方がデータペイロードのデータ量（サイズ）が減少したか否かを判別する。
【００５７】
そして、圧縮処理後の方がデータペイロードのデータ量（サイズ）が減少したと判断された場合（ＹＥＳ）、ＣＰＵ２３は、ステップＳ５で、ＴＬＰのデータペイロードを圧縮処理後のデータペイロードに置き換えるとともに、そのＴＬＰのヘッダにデータペイロードが圧縮済みであることを示す情報を付加する。
【００５８】
また、上記ステップＳ２でＴＬＰにデータペイロードが付加されていないと判断された場合（ＮＯ）、ＣＰＵ２３は、ステップＳ６で、Transaction Layer２４ｃから連続して出力された複数のＴＬＰのヘッダにそれぞれ読み出しリクエストが記述されているか否かを判別する。
【００５９】
その後、連続した複数のＴＬＰのヘッダにそれぞれ読み出しリクエストが記述されていると判断された場合（ＹＥＳ）、ＣＰＵ２３は、ステップＳ７で、連続した複数のＴＬＰを圧縮回路３６に供給し、それらのヘッダに対して図９（ａ），（ｂ）に示したような圧縮処理を施すとともに、全ての要素を含む最初のヘッダに圧縮済みであることを示す情報を付加する。
【００６０】
そして、上記ステップＳ５またはステップＳ７の後、ＣＰＵ２３は、ステップＳ８で、ＴＬＰをDataLink Layer２６ｂに供給させて、処理を終了（ステップＳ９）する。
【００６１】
なお、上記ステップＳ４で圧縮処理後にデータペイロードのデータ量（サイズ）が減少しなかったと判断された場合（ＮＯ）、または、上記ステップＳ６で連続した複数のＴＬＰのヘッダにそれぞれ読み出しリクエストが記述されていないと判断された場合（ＮＯ）、ＣＰＵ２３は、ステップＳ８で、ＴＬＰをDataLink Layer２６ｂに供給させて、処理を終了（ステップＳ９）する。
【００６２】
図１１は、上記したデバイス２６におけるＴＬＰの圧縮されたデータペイロードまたはヘッダを展開するための処理動作をまとめたフローチャートを示している。なお、デバイス２４における展開処理動作も、デバイス２６とほぼ同様に説明することができることはもちろんである。
【００６３】
すなわち、処理が開始（ステップＳ１０）されると、ＣＰＵ２３は、ステップＳ１１で、DataLink Layer２６ｂから出力されたＴＬＰに圧縮されたデータペイロードが付加されているか否かを判別する。この判別は、ＴＬＰのヘッダにデータペイロードが圧縮済みであることを示す情報が付加されているか否かを検知することによって行なわれる。
【００６４】
そして、ＴＬＰに圧縮されたデータペイロードが付加されていると判断された場合（ＹＥＳ）、ＣＰＵ２３は、ステップＳ１２で、そのＴＬＰを展開回路４２に供給しデータペイロードに対して展開処理を施させる。
【００６５】
また、ステップＳ１１でDataLink Layer２６ｂから出力されたＴＬＰに圧縮されたデータペイロードが付加されていないと判断された場合（ＮＯ）、ＣＰＵ２３は、ステップＳ１３で、DataLink Layer２６ｂから出力されたヘッダに圧縮処理が施されているか否かを判別する。この判別は、ＴＬＰのヘッダに圧縮済みであることを示す情報が付加されているか否かを検知することによって行なわれる。
【００６６】
その後、ヘッダに圧縮処理が施されていると判断された場合（ＹＥＳ）、ＣＰＵ２３は、ステップＳ１４で、そのヘッダを展開回路４２に供給し展開処理を施させる。そして、上記ステップ１２またはステップＳ１４の後、ＣＰＵ２３は、ステップＳ１５で、ＴＬＰをTransaction Layer２６ｃに供給させて、処理を終了（ステップＳ１６）する。
【００６７】
また、上記ステップＳ１３でヘッダに圧縮処理が施されていないと判断された場合（ＮＯ）、ＣＰＵ２３は、ステップＳ１５で、ＴＬＰをTransaction Layer２６ｃに供給させて、処理を終了（ステップＳ１６）する。
【００６８】
上記した実施の形態によれば、一方のデバイス２４のTransaction Layer２４ｃから出力されたＴＬＰのデータペイロードまたはヘッダに圧縮回路３６により圧縮処理を施し、DataLink Layer２４ｂ、Physical Layer２４ａ、PCI Expressリンク３４、他方のデバイス２６のPhysical Layer２６ａ、DataLink Layer２６ｂを介した後、展開回路４２で展開処理してTransaction Layer２６ｃに供給するようにしている。このため、DataLink Layer２４ｂからDataLink Layer２６ｂまでの伝送路上におけるデータ転送レートが低減され、デバイス２４，２６間で送受信されるＴＬＰのデータ量を効果的に削減して伝送効率の向上を図ることができるようになる。
【００６９】
なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。
【図面の簡単な説明】
【００７０】
【図１】この発明の実施の形態を示すもので、バッテリ駆動可能なノートブック型のＰＣの外観を説明するために示す斜視図。
【図２】同実施の形態におけるＰＣの信号処理系を説明するために示すブロック構成図。
【図３】同実施の形態におけるＰＣ内の２つのデバイス間についてPCI Express規格に準拠した接続構成を説明するために示す図。
【図４】同実施の形態におけるPCI Express規格のDataLink Layer間でデータの保全性を確保するために送受信を行なうＤＬＬＰを説明するために示す図。
【図５】同実施の形態におけるPCI Express規格のTransaction Layer間及び内部バス制御回路間でデータの送受信を行なうＴＬＰを説明するために示す図。
【図６】同実施の形態におけるＰＣ内の２つのデバイスに圧縮回路及び展開回路を付加した状態を説明するために示すブロック構成図。
【図７】同実施の形態におけるTransaction Layer間で伝送されるＴＬＰのヘッダを説明するために示す図。
【図８】同ＴＬＰのヘッダの通常の伝送方式を説明するために示す図。
【図９】同実施の形態におけるＴＬＰのヘッダに対する圧縮方式を説明するために示す図。
【図１０】同実施の形態におけるＴＬＰのデータペイロードまたはヘッダに対する圧縮処理動作を説明するために示すフローチャート。
【図１１】同実施の形態におけるＴＬＰの圧縮されたデータペイロードまたはヘッダに対する展開処理動作を説明するために示すフローチャート。
【符号の説明】
【００７１】
１１…ＰＣ、１２…ＰＣ本体、１３…ディスプレイユニット、１４…表示画面、１５…パワーボタン、１６…ＬＥＤ表示部、１７…キーボード、１８…タッチパッド、１９，２０…ボタン、２１…内蔵バッテリ、２２…ＡＣアダプタ、２３…ＣＰＵ、２４…Root Complex、２５…主メモリ、２６…グラフィックスコントローラ（end point）、２７…表示装置、２８…PCIデバイス群２８、２９…PCI Expressデバイス群、３０…ＨＤＤ、３１…ＢＩＯＳ−ＲＯＭ、３２…エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）、３３…電源コントローラ（ＰＳＣ）、３４，３５…PCI Expressリンク、３６…圧縮回路、３７…経路、３８…展開回路、３９…経路、４０…圧縮回路、４１…経路、４２…展開回路、４３…経路。
【図１】
2008010956.tif 000003
【図２】
2008010956.tif 000004
【図３】
2008010956.tif 000005
【図４】
2008010956.tif 000006
【図５】
2008010956.tif 000007
【図６】
2008010956.tif 000008
【図７】
2008010956.tif 000009
【図８】
2008010956.tif 000010
【図９】
2008010956.tif 000011
【図１０】
2008010956.tif 000012
【図１１】
2008010956.tif 000013